Highlighted Capabilities:

Please check out the README.md on GitHub as that is essentially a user's manual that should cover most of the little caveats with the design.

This was my first ever custom printed circuit board project. Making something something so complicated was a bit of a mistake, it took a year of hard work to get all the skills together. Even with paying for reviews of the board from professionals, it still took me seven ordered revisions of the board (see gallery for picture of all side by side) to get everything working as expected.

Many of the most important chips on the board are primarily designed for laptop motherboards. The start of this project was an extensive searching for these highly integrated parts. This was the only way I could manage to pack all of my needs into a single board - to rely on clever chips designed by much more experienced engineers than I. These chips do come at a cost, a quite literal cost in dollars, as many of them are rather expensive.

As I came to realize that this board was going to be on the expensive side, and having already destroyed my fair share of Adafruit dev boards through various late-night miswirings, a major second phase of this design was setting out to learn and implement protections for the power and gpio pins so that it would be much harder to damage the board with a mistake. The highly integrated ICs come in handy here as well, as they have a pretty extensive list of automatic protections.

There are a few little things I would do differently now with another year and a half of design experience. I would probably use some PTC resettable fuses, replacing and in addition to the fuse holder (incidentally, if you do use the fuse holder, I suggest using the type of fuses that light up with tripped). I would probably settle on a more standard GPIO protection strategy, you'll realize I used several different ones (a mix of zeners, TVS, and diodes). I might also use a HUSB238 for the USB Power delivery. The original version of the board used a more complicated TI TPSxxxxx part that I just never could get to work. The current PD chip is fine but more expensive that necessary. The RP2040 could be upgraded to the RP2350 too if needed, but the RP2040 will still be plenty for many projects.

I would also probably standardize the grounding strategy of the mounting holes better. I did the strategy of trying everything here. One mounting hole is connected to the USB shield via a capacitor (with a jumper option to connect shield to ground). Another is connected to ground through a resistor. Three and four are unplated - these might be a little weaker mechanically, so for dev testing, where you might remove and reconnect screws many times, stick to the plated ones until finalized. I would probably just tie them all straight to ground next time.

You may notice a few random holes in the board. The large mounting hole in the center, while possible to use as a mounting hole, is designed for passing wires through from the backside in a tight space. The second set of smaller mounting holes are designed to be able to mount many (not all) Feather style layout boards on standoffs above the board, as in the picture where I use it for mounting a small display for testing. It's only got three legs, but that should be enough for most purposes.

The chosen higher power MOSFETs, last I looked, might no longer be available. I switched out a bunch of different MOSFETs trying to get some I liked. The footprints for these are annoying - I discovered that they are compatible across different manufacturers but the namings are confusing. You should be able to find a simple swap-in replacement, but expect to be a little frustrated with the search. Much of this board design was during the great COVID chip shortage, so availability was a major factor in selections.

Incidentally, this is also the first project where I learned that gate capacitance actually matters on MOSFETs (surprise, surprise, I know). I was trying to use a high amp capable fet for logic level shifting for the 5V LED strip, and it just wasn't fast enough, too much capacitance. The BSS138 works much better for that purpose.

Also, apologies in advance for the schematic being such a mess. Revision upon revision will do that.

One interesting little side story is the EMI testing I did for this board. I used a tinySA Ultra. I then went to the family farm (in a narrow valley, far from a big city, with patchy radio and cell service), inside a barn (with a massive, grounded metal roof and thick concrete side walls), then switched off the circuit breaker and disconnected the WiFi. I figure that's about as signal free as one can get in the modern world outside a test chamber or deep cave. I then powered the dev board with sample code running and looked for any signals across all sections of the scanner range up to 6 GHz, and compared the results to scan without the board running. There was only a very weak signal that looks like it might correspond to the switching frequency of a board regulator. 

Some other possible uses:

I originally thought to sell this board, but ultimately couldn't find the time to do so. I instead released it with a

CERN-OHL-W-2.0 license and ask only that you attribute me, Colin Catlin, if you do make anything awesome with it, and more importantly, share with me as I would love to see others putting my hard work to good use. Feel free to reach out with any issues you run into. Also checkout this blog post for some more background on the project idea.

KiCAD files are available as well as schematic files as PDF for easier replication in other software. Gerbers and cpf/bom files are all there as well, with the .rar archive coming back straight from the manufacturer's website, so you should be able to just order the board without much pcb experience using these files.