Hi,
I’m about to design a low-cost dual motor controller for teaching purposes and would appreciate some feedback before I commit to the PCB.
The target application is a 2-DOF direct-drive arm using two GM3506 motors with integrated AS5048A encoders. The goal is to keep the cost as low as possible while still supporting closed-loop FOC with current control.
Current architecture:
- Raspberry Pi Pico or Pico 2 module
- 2 × DRV8316 (3PWM mode)
- Dual low-side current sensing
- External ADCs (based on this proof of concept: DO NOT MERGE WIP. Add support for external SPI ADC on rp2040 and rp2350 by thomasfla · Pull Request #65 · simplefoc/Arduino-FOC-drivers · GitHub)
- Shared SPI bus for encoders and DRV configuration
- Optional RS485 transceiver footprint
- 24 V supply
The target BOM cost is around €20–30 (excluding motors and encoders).
I’d be happy to get any general feedback on the schematic before I send the board for manufacturing. I’ll also post the PCB layout later for review.
If the concept works well, a future revision could use the RP2354B directly instead of a Pico module to make the board more compact and expose additional I/O.
Thanks!




I see the Pico is USB-powered. Is there a chance to feed it from the motor PSU? BTW: I had pretty clean signals using the internal ADCs with Linear Halls. Have you considered using these, before going the external ADC route? Is it because of LowSide current sensing?
– o_lampeI'll use this board for a robotic teaching class, Student will connect to the USB to send realtime control command, so powering the logic via USB is ok. I tried to keep the board very simple, but you can modify it and add an inductor to one of the DRV8316C Buck to genrate 3.3V. Also implementing rapsberrypi recomanded power ORing with an external MOS, see pico datasheet. See this about internal ADC, yes basically ADC speed and syncronisation makes it not suted for low side shuts: https://community.simplefoc.com/t/rp2350-support-raspberry-pico-2/5607/5?u=thomasfla
– thomasfla