Skip to content

SpotMicro ESP32

A 3D-printable quadruped robot dog with support-free printed parts, controlled by an ESP32-DevKitC with heavy computation offloaded to external devices.

  • Quadruped
  • Open source
  • arduino
  • 3D printable

Suggested by Robotheca, created by @michaelkubina (opens in a new tab), from github.com/michaelkubina/SpotMicroESP32 (opens in a new tab). Pinned to commit 2f10e14 (opens in a new tab).

Photo and 3D model

SpotMicro ESP32, photo from its repository
Photo:@michaelkubina (opens in a new tab)GPL-3.0-onlysource file (opens in a new tab)

3D preview converted from github.com/michaelkubina/SpotMicroESP32 at 2f10e14, under GPL-3.0-only. View the original files from GitHub (9.4 MB) (opens in a new tab)

What it can do

Written by Robotheca from the project's documents.

  • Quadruped SpotMicro-style robot with 12 servos, three per leg, on an ESP32 controller.
  • Built around a 3D-printed design optimized for support-free printing.
  • Status and mood signaled by a WS2812b LED ring and a 0.96 inch OLED display.
  • Distance sensing via two HC-SR04 ultrasonic sensors and orientation sensing via a GY-521 gyroscope/accelerometer.
  • Battery voltage and current monitored by a voltage sensor module and an ACS712 current sensor, which can support emergency shutdown.
  • Head camera provided by an ESP32-CAM module with an OV2640 sensor.
  • Servo power can be cut completely by a relay module.

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The guide appears here as you scroll.

Guide by @michaelkubina (README.md), under GPL-3.0-only.

More guides

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • ESP32-DevKitC as the main microcontroller with WiFi and BLE.
  • ESP32-CAM with OV2640 camera, flashed through an FT232RL USB-TTL adapter.
  • 12 servos, such as MG996R or DS3218MG, with rubber dampeners and servo horns.
  • PCA9685 16-channel 12-bit PWM board driving the servos and LEDs.
  • WS2812b 12 LED ring, 0.96 inch SSD1306 OLED display over I2C.
  • Two HC-SR04 ultrasonic sensors and a GY-521 gyroscope/accelerometer.
  • HW-482 / KY-019 5V relay module to cut servo power.
  • ACS712 30A current sensor and a 25V voltage divider sensor module.
  • 2S LiPo battery (5200-6200mAh) as main power source.
  • XL4016 or SZBK07 DC-DC step-down converter to 6.5V for servos, and an LM2596 or similar module to 5V for the ESP32 and modules.
  • 19mm illuminated latching push button.

Connections

  • Servos are driven through the PCA9685 PWM board, which can take power from an external source.
  • Servo power is switched by the relay module, which cuts power to the servos completely.
  • The LiPo 2S battery feeds the XL4016 or SZBK07 converter (6.5V for servos) and the LM2596 converter (5V for the ESP32 and modules).
  • Micro-USB to DIP adapters extend the USB ports of the ESP32 DevKitC and ESP32-CAM.
  • The ESP32-CAM is flashed via the FT232RL USB-TTL adapter.
  • Official wiring is shown in Fritzing files and diagrams in the electronics folder.

Schematics, boards and diagrams