esp32.diy

Robot Actuator ESP32 v8: Build a Smart 6-Axis Robot Arm Joint

Oct 13, 2026 · 5 min read

Advanced 235 stars 45 forks Lua No license Updated 2020-10-30

Assembled actuator showing the front and bottom face of the main PCB with DRV8825 and connectors

TL;DR The robot-actuator-esp32-v8 puts an ESP32 Wemos Mini inside each joint of a 6-axis robot arm, giving every actuator its own brain, stepper driver, and thermal management. The project ships Eagle PCB files, Fusion 360 CAD, STL files for printing, and Lua firmware you upload through the ChiliPeppr browser workspace.
What you need
  • ESP32 Wemos Mini
  • DRV8825 stepper motor driver
  • Custom main PCB (Eagle, 1.0 mm)
  • Custom touch PCB (Eagle, 1.2 mm)
  • 25 mm 12 V fan
  • DC-DC 24 V to 5 V converter
  • 100 uF 50 V electrolytic capacitor
  • FDV301N MOSFET (SOT-23)
  • 1N4148W diode (SOD-123)
  • JST XH connectors
BoardESP32 Wemos Mini
FirmwareNodeMCU ESP32 (Lua)
LanguageLua
Stepper DriverDRV8825
CAD ToolsEagle + Fusion 360
Control InterfaceChiliPeppr browser workspace

What You Will Build and Why It Matters

This project gives each joint of a 6-axis robot arm its own dedicated controller — an ESP32 Wemos Mini mounted on a custom PCB that also carries a DRV8825 stepper driver, a 25 mm cooling fan with PWM speed control, and a touch-sensing daughter board. The result is a modular actuator where intelligence, power conversion, and thermal management are all self-contained per joint.

The design is based on Jeff Kerr's (LoboCNC on Thingiverse) open-source WE-R2.4 six-axis robot arm. By pairing that mechanical design with a purpose-built ESP32 controller board, the project turns a printable arm into a network of smart, independently programmable actuators. If you want to learn how robot joints work from the electronics up — PCB design, stepper control, firmware, and browser-based control — this is a thorough, real-world starting point.

Front and top view of the actuator with the ESP32 Wemos Mini seated in its pin headers\2
Front and top view of the actuator with the ESP32 Wemos Mini seated in its pin headers
Top-down view of the assembled actuator board\2
Top-down view of the assembled actuator board
Main PCB layout in Eagle showing component placement\2
Main PCB layout in Eagle showing component placement
Eagle top copper layer of the main PCB\2
Eagle top copper layer of the main PCB

What You Need

Hardware (per actuator, from the Bill of Materials)

Software and accounts

Typical use cases

6-Axis Robot Arm

Deploy one actuator board per joint in the WE-R2.4 printed robot arm, giving each axis its own ESP32 controller and stepper driver.

Distributed Motor Control

Use the ESP32's RMT and pulse counter peripherals to run precise stepper pulse trains and track position independently on each joint node.

Browser-Based Firmware Dev

Edit and upload Lua scripts to the ESP32 directly from the ChiliPeppr web workspace — no local IDE or toolchain needed.

Thermal-Managed Motion

PWM-control a 25 mm cooling fan from Lua to manage heat during sustained stepper operation, with results validated by the included heat tests.

How It Works

The ESP32 runs NodeMCU firmware compiled with four custom modules that the Lua code depends on:

The DRV8825 receives step and direction signals from the ESP32 and drives the stepper motor in each joint. A 24 V supply powers the stepper side; the on-board DC-DC module drops that down to 5 V for the ESP32 and logic.

The 25 mm fan sits on the PCB and is controlled through the FDV301N MOSFET at roughly 20 Hz PWM. The README notes the fan is normally left off and briefly overdriven to 20 V during heat spikes — the flyback diode protects the circuit when the MOSFET switches off. Heat test results are included in the repository.

Control and code upload both happen through ChiliPeppr, a browser-based workspace platform. The ESP32 workspace at http://chilipeppr.com/esp32 lets you edit and upload Lua files over Wi-Fi. The arm workspace at http://chilipeppr.com/arm (listed as work in progress) provides the motion control front-end.

Ordering PCBs and 3D Printing

The repository contains Eagle schematic and board files for two PCBs.

Main PCB — order at 1.0 mm thickness. A white soldermask is recommended but not required.

Touch PCB — order at 1.2 mm thickness.

Thickness matters because both boards fit into the printed enclosure; wrong thickness will cause fitment problems. Most online PCB services (JLCPCB, PCBWay, etc.) let you set board thickness as a custom option during checkout — look for it in the stackup or specification fields.

The Fusion 360 CAD files and STL files for 3D printing are also included in the repository. Print the enclosure parts before the PCBs arrive so assembly can start as soon as the boards are in hand. The arm mechanics follow Jeff Kerr's WE-R2.4 design; refer to that Thingiverse page for print settings and assembly order for the arm structure itself.

Soldering and Flashing

Assembly order

  1. Solder the 2×10 female pin headers onto the ESP32 Wemos Mini board.
  2. Solder the 2×10 male pin headers onto the main PCB so the ESP32 plugs in from above.
  3. Solder the DRV8825 module, the 100 uF capacitor, the DC-DC converter module, the MOSFET, diode, resistors, and JST connectors to the main PCB.
  4. Solder and assemble the touch PCB separately.
  5. Seat the ESP32 into the main PCB headers and connect the fan via its JST XH connector.

SMD components (MOSFET, diode, 0402 resistors) require a steady hand or a hot-air station. Work under magnification if possible.

Uploading Lua firmware

Flashing is done through the ChiliPeppr ESP32 for Lua workspace — no local toolchain is needed. Open a browser and go to:

http://chilipeppr.com/esp32

Connect the ESP32 to your computer over USB, select the correct serial port in the workspace, and use the built-in file manager to upload the Lua files from the repository's lua/ folder. Once the files are on the device, the actuator runs the Lua code automatically on boot.

For arm-level control, open the robot arm workspace:

http://chilipeppr.com/arm

Note that the arm workspace is described as a work in progress in the README.

Ideas to Extend It and Known Limitations

Ways to go further

Limitations to keep in mind

Verdict

The robot-actuator-esp32-v8 is a thorough, hardware-first project that covers PCB design, 3D printing, SMD soldering, Lua firmware, and browser-based control in one repository. It is firmly in Advanced territory — ordering custom PCBs, crimping JST connectors, and working with NodeMCU Lua modules all demand prior experience. Makers who push through will end up with a genuinely capable modular robot arm platform and a solid understanding of how smart actuators are built from the ground up.

Sources

github.comchilipeppr/robot-actuator-esp32-v8 — repository & README

Facts in this article come from the project's public README and GitHub metadata at the time of writing. Images belong to their respective owners and link back to the original source.