Skip to content

Py-Apple Controller

An open-source quadruped robot controller based on ESP32, designed to support the Py-Apple Dynamics software suite for controlling quadruped robots.

  • Quadruped
  • Open source
  • 3D printable

Suggested by Robotheca, created by @ToanTech (opens in a new tab), from github.com/ToanTech/py-apple-controller (opens in a new tab). Pinned to commit 83d989b (opens in a new tab).

Photo

This repository has no photo of the robot yet.

What it can do

Written by Robotheca from the project's documents.

  • Controls up to sixteen PWM servos
  • Adjusts servo voltage from five to eight volts
  • Reads MPU6050 six-axis IMU data
  • Provides Wi-Fi 802.11n up to one hundred fifty megabits per second
  • Provides Bluetooth Classic support
  • Supports CAN bus and multiple serial ports

Bill of materials

This repository has no parts list Robotheca can read yet.

Build guide

The creator's steps, each with its instructions.

  1. 1Download the appropriate Controller version based on your needs
  2. 2Order PCB from a manufacturer like Taobao or JLCPCB
  3. 3Gather all electronic components listed in the open-source parts list
  4. 4Solder the components onto the controller board
  5. 5Download and install the latest software from the Py-Apple Dynamics repository
  6. 6Flash the program onto the controller
  7. 7Follow the usage tutorials and calibration methods

The guide appears here as you scroll.

Guide by @ToanTech (README.md), under GPL-3.0-only. The English translation is by Robotheca, shared under the same license.

Wiring and electronics

Notes written by Robotheca from the project's documents.

Main parts

  • ESP32 dual-core Xtensa LX6 microcontroller
  • MPU6050 six-axis gyroscope and accelerometer
  • Servo power regulator for five to eight volts
  • Wi-Fi and Bluetooth radio module
  • CAN transceiver
  • Multiple PWM servo outputs

Connections

  • ESP32 I2C bus connects to MPU6050
  • ESP32 PWM outputs drive up to sixteen servos
  • Servo power rail set to five to eight volts
  • CAN transceiver connected to ESP32 CAN peripheral
  • Serial ports routed to expansion connectors