Schematic for RP2040 Controller

I’m looking to make some developments to the controller related to BMS hard cuts - suggestion - Throttle Controller - OpenPPG Community. I want to add the BMS UART data as an input to the controller.

I haven’t been able to find a schematic for the latest RP2040 controller. Is one available?



Hi there,
Below is the schematic. You’ll notice we dont have an extra UART broken out so you’d have to read the BMS and not the ESC if you wanted to use the existing pins.

RP2040MainBoard.pdf (38.9 KB)


I was hoping some of the GPIOs could be accessed via the unpopulated SWD1 - reviewing the schematic and the RP2040 datasheet this is not the case. Choosing between BMS and ESC is not a choice I want to make. Would you be open to making the PCB files open so it can be re-designed for another UART channel? You’d have to be a wizard at micro-soldering to go in there and just grab pins on the existing board

Another option is to go the mother/daughterboard route and keep only a pared-down board in the handle to hold the the display, pot, vibe, baro, speaker, and button. The processor on an off-the-shelf board could be located at the ESC or elsewhere on the frame. The all-in-one solution is a lot more elegant.


I marked up the schematic based on what I found when I opened up my controller.
Throttle Controller Revision 5-9-2022.pdf (1.9 MB)

I’m going to get a soldering guru to try flywiring a few pins out. Hopefully I don’t break this thing.

Heres the full Eagle PCB files with the BOM too if you plan on making your own.
Apologies that its not cleaned up fully. (308.1 KB)

1 Like

Thank you.


This is what I am planning to do:

RP2040MainBoard - Modifications.pdf (1.6 MB)

While I’m in there messing with stuff, I would like to populate the SWD1 programming port, S1 & S3 switches, and the haptic driver.

For SWD1, the connector is specified on the schematic: M50-3500542
For the Haptic Driver, it looks like the DRV2605L is the unit, based on the pinout.

What switches were you planning to use for S1 and S3? I want to make sure I order something that fits the pads.

I’m adding:

  1. a second UART for the BMS (to engineer around the “hard cuts”)
  2. a second button input (option for future - strobe mode toggle, vario … or other ideas)
  3. a motor temperature input. ESC and BMS temperatures are reported via their UARTs
  4. a strobe output (for safety - audible and visual indications in READY)

I’m also adding a DC circuit breaker to the battery, with remote trip for a one-button-mash true-kill switch at the throttle controller and some overcurrent protection that is independent of the BMS. The lack of fusing to me is a concern. The circuit breaker I have selected is the Midnight Solar MNEDC175RT and it will mount to the top of the battery. I measured 160A at full throttle in Sport mode and 120A at full throttle in Chill mode with a quality Klein clamp ammeter.

With an extension to the CB lever, I’ll be able to reset it in flight by reaching behind my neck. Also, with the extension to the lever, my reserve bridle should trip it to off when deploying.

I’ll add pics when done and post code changes to Github.

1 Like

How is the project going?

My naive idea with the new Bluetooth BMS battery packs was to try to find some sort of BTLE-to-Serial-to-USB-C bridge, and then use the existing USB-C port to talk to the RP2040. Still haven’t found one, but there are some things on Adafruit that look promising!

It is going to become a winter project. Too many other things on the go at the moment and taking advantage of the nice weather. Got all the bits I need from Mouser now and found someone with the skills to do the itty bitty soldering.