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.

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.

Board architecture

Hardware

Overall interface layout

  • The diagram below gives a full hardware interface overview of the controller board.

  • It includes host control interfaces (USB/SPI), motor communication interfaces (CAN/RS485), sensor expansion interfaces (IIC/ADC/UART), and power output pins (5V/3.3V).

  • Check this diagram first to identify pin locations and interface groups before wiring.

Board interface diagram

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.

USB wiring

SPI connection (Host controller examples)

  • For SPI control, CS1 maps to STM32F4(1) and CS2 maps to STM32F4(2).

  • Jetson Nano and Raspberry Pi are example hosts only. Other controllers use the same SPI wiring as long as SPI pin mapping is consistent.

1. Jetson Nano wiring

SPI wiring for Jetson Nano

2. Raspberry Pi wiring

SPI wiring for Raspberry Pi

Software

Recommended tools:

Build Your Program

Protocol definitions and examples:

Advanced

For custom firmware and protocol development, start from the official firmware:

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.