Skip to content

FOC Dual-Wheel-Legged Robot

An open-source wheeled-legged robot featuring mechanical design, electronics, embedded software, and FPV remote control.

  • Wheeled
  • Open source
  • 3D printable

Suggested by Robotheca, created by @Skythinker616 (opens in a new tab), from github.com/Skythinker616/foc-wheel-legged-robot (opens in a new tab). Pinned to commit e244439 (opens in a new tab).

Photo

FOC Dual-Wheel-Legged Robot, photo from its repository
Photo:@Skythinker616 (opens in a new tab)GPL-3.0-onlysource file (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Balances on two wheels with four articulated legs
  • Moves forward, backward, and turns using wheel motors
  • Adjusts leg length and posture for stability and cushioning
  • Receives remote control commands via Bluetooth or WiFi
  • Streams video from an onboard camera to an Android app
  • Supports Bluetooth pairing to configure WiFi settings

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The creator's steps, each with its instructions.

  1. 1Mechanical Assembly
  2. 2Electronic Circuit Assembly
  3. 3STM32 Motor Driver Firmware
  4. 4ESP32 Motion Control Firmware
  5. 5Linux FPV Module Setup
  6. 6Android Remote App Configuration

The guide appears here as you scroll.

Guide by @Skythinker616 (README_en.md), under GPL-3.0-only.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • ESP32-C3 microcontroller (main control module)
  • STM32 microcontroller (brushless motor driver board)
  • MPU6050 gyroscope and accelerometer
  • Four 4010 brushless motors (articulated joints)
  • Two 2804 brushless motors (wheel motors)
  • CAN bus for motor communication
  • Bluetooth module for remote control
  • TJA1050T CAN driver chip
  • Li-Po battery (3S, 800mAh)
  • NanoPI Duo2 board with WiFi and Bluetooth (optional image transmission module)
  • OV5640 camera (optional image transmission module)

Connections

  • ESP32-C3 connected to MPU6050 via I2C for sensor data
  • ESP32-C3 communicates with STM32 via CAN bus for motor control
  • ESP32-C3 uses Bluetooth for remote control commands
  • STM32 drives four 4010 motors and two 2804 motors via dedicated motor drivers
  • NanoPI Duo2 (optional) captures video from OV5640 camera and streams it via ffmpeg/ffserver
  • NanoPI Duo2 connects to ESP32-C3 via Bluetooth for control data forwarding