Highlighted Capabilities:
- USB C Power Delivery Input up to 60W by default
- 2S or 3S Lipo Power and Charging
- Regulated and adjustable 8V or 12V system power
- Regulated 5V 6A, 3.3V 2A, and 1.8V 2A power supply output
- User controllable output for high amperage output directly from battery*
- User controllable outputs for regulated system and 5V power
- Integrated i2c power monitoring circuit
- Integrated SD Card mount
- RP2040 Dual Core Microcontroller with 16 MB of flash memory
- IMU, Magnometer, Barometer
- RTC (if present)
- User-controllable status LEDs
- Pin layouts for connecting 4x 5V servos and 4x high voltage servos
- One 5V level shifted GPIO pin for communicating with devices such as LED light strips
- Footprint for Xiao or QtPy footprint boards for integration of wireless connectivity via UART to RP2040 (add on board not included)
- Integrated protection circuits on most system inputs and outputs
- Qwiic compatible connections of easy integration of other boards
- Assortment of board mounting options for 50 mm * 158.25 mm board
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...
Read more »