I sorted out the issues with my development board so now I could concentrate on the firmware I wanted to create - The firmware for a sensor node that would interact with the gateway I wrote about previously. Like the gateway, I wanted to achieve this using Test Driven Development. This would be the first time I have tackled this approach on an embedded project. The full write up can be seen on my blog Developing a Remote Sensor Firmware using Test Driven Development.
I replaced my Raspberry Pi + Django LED lighting system user interface module with a unit based on an ESP32. This cut the power consumption from an average of 50Wh to 20Wh per day. I have a write up to talk about how KiCad helped to overcome the mechanical constraints when building some boards to fit into an enclosure to fit on a DIN rail.
Upgrading the Stairwell Foot-lighting Project
KiCad PCB to Fritzing Part
On many of the Contextual Electronics exercises I tried to get into the habit of documenting the boards I created including a style of application note to help me if I wanted to use that board somewhere else at another time. I always liked the Fritzing style of diagram as you can see the actual board sitting alongside real components, wired up the way you’d wire it on your desk.
The problem was always the workflow — getting a KiCad board into Fritzing meant either building the part by hand or finding one someone else had made. So I built a plugin to do it for me.
I’m happy to announce v0.4.1 of PCB to Fritzing Part, now available directly through the KiCad 10 Plugin and Content Manager (PCM) — search for PCB to Fritzing Part.
What it does
The plugin exports your KiCad PCB as a .fzpz file — a ready-to-import Fritzing part — complete with board outline, connector pads, pin labels, and a 3D-rendered breadboard view. Drop it into Fritzing and your board shows up as a proper component you can wire into a diagram.
Getting started
- Install via KiCad PCM → search PCB to Fritzing Part
- Open your board in KiCad PCB Editor
- Run the plugin from the Tools menu
- Optionally set a Part Family and Part Type in the dialog
- Click Generate — the .fzpz file is written next to your board file
- Import into Fritzing and start wiring
A heads-up on timing: if your board has a large number of nets, the 3D render step can take 30–90 seconds. The dialog may look unresponsive during this — it’s just waiting on KiCad’s renderer to finish.
Here’s an example of what you can produce once the part is in Fritzing:
Platform note:
The plugin is built with KiCad’s new IPC framework in mind and works with the current SWIG framework too. KiCad 11 compatibility is the next focus.
The plugin has been tested on Windows and macOS with Fritzing 1.0.7. Linux should work but hasn’t been verified yet — if you give it a go, let me know how it goes.
After working on the KiCad PCB to Fritzing Part project, I was introduced to GitHub Actions. I can imagine a lot of you already know about and use these but this inspired me to create another project (kicad-release-automation-module) to define an action that, when installed in my KiCad projects, will generate the Gerber files and create a release. I’m hoping that this can be a better way to manage my revisions and Gerbers. I have created a writeup to explain the approach on my blog:
Using GitHub Actions for Consistent Gerber File Releases in KiCad




