Get Started
The SANPO integrated robot controller is designed for robots, robot dogs, and robotic arms. It integrates USB and SPI data inputs, CAN/RS485 motor interfaces, and sensor interfaces.
V4 is now released. Please visit the latest version, which includes matching motor tuning tools, more sample projects, and a more complete protocol framework.
Introduction
The board integrates 2 STM32F4 modules. Each module controls 2 CAN and 2 RS485 channels, for a total of 4 CAN / 4 RS485.
USB and SPI are supported as host control inputs, alongside IIC, ADC, and UART sensor expansion.
5V/3.3V power outputs are provided for Raspberry Pi, Nvidia Jetson, and similar hosts.
Compatible with the MIT Cheetash SPINE hardware design standard.

Hardware
USB connection (PC/host)
With USB as the control input, you can verify motor communication using debugging tools on a PC.
USB supports both CAN and RS485, suitable for quick validation.
SPI connection (Jetson/Raspberry Pi)
For SPI control, CS1 maps to STM32F4(1) and CS2 maps to STM32F4(2).
Refer to the board interface diagram for wiring.

Software
Recommended tools:
Xiaomi motor tool (USB to CAN): Xiaomi CyberGear Tool. Note: avoid Chinese characters in the install path.
Unitree motor tool (USB to RS485): Unitree GOM8010 Tool
SANPO motor tool (multiple motor types): Sanpo Studio Motor Tools
Build Your Program
Protocol definitions and examples:
Advanced
For custom firmware and protocol development, start from the official firmware:
Official firmware (for customization): STM32CubeIDE project
MIT Cheetash SPINE firmware (for study): MBED STUDIO project
For firmware updates, see Firmware Update:
Connect STLINK to the SWD interface of each STM32F407.
Flash the latest firmware using STM32CubeProgrammer.
Each STM32F407 must be flashed separately.