Some months have passed since the last update, but I have not been idle. I was contacted by PCBWay with an offer of producing a circuit board for the project, free of charge. A custom PCB had been on the roadmap for a while, but this offer gave the necessary push to get it finished.
Using KiCad 6, I designed a 6x6 cm, 2 layer PCB. It hosts the Arduino Connect RP2040 module, connections and power switches for accessories (1x MOSFET, 1x relay). I decided to experiment with connectors a bit, and opted for a combination of 2.54mm pitch screw terminals (smaller than you imagine!) and JST PH 2mm connectors.
PCBWay didn't let me down and within a week of submitting the design files, I had the boards in my hand. They came packed pretty well, sealed in bubble wrap and padded with a soft foam inside a small box.
It was not the first time I've had custom boards made, but the Christmas-y feeling of seeing your creation become real is still there. The boards had been made precisely with no visible quality issues.
Nevertheless, there was a problem. Taking some measurements, I discovered a short between the +3v3 and GND nets. On the PCBWay website it is possible to re-download the Gerber files used for manufacturing (I had used PCBWay's one-click export plugin, so I had not actually submitted these files myself)
And indeed, therein was the problem:
It is clear the ground polygon fill was not reflowed after the last movement of this capacitor. I was pretty sure that my DRC was clean at time of submitting the design, so I wanted to blame the export plugin. However, I was not able to reproduce the error when consciously trying, so I cannot say anything with certainty.
In any case, the problem was solved quite easily with a few strokes of a knife. I did not encounter any further issues during assembly or bring up, and soon enough the new board found its home in the 3D printed enclosure.
I have also re-done some of the internal wiring in a neater way. My only regret is not getting an orange wire to fit with the color scheme of the project!