Introduction
Modern robotics demands actuators that aren’t just strong, but also smart — capable of precise control, smooth motion, and safe human interaction. Traditional servos are great for small robots, but they can be stiff, noisy, and limited in range or torque.
This project demonstrates a custom robot actuator built around a 5010 360 KV brushless DC (BLDC) motor, controlled by an ESP32 running the SimpleFOC library. The goal is to create a compliant joint — one that can be moved by hand, but automatically returns to its home position with adaptive stiffness.
π§ What Makes This Actuator Special
Unlike a typical servo, this actuator behaves intelligently:
-
You can turn it by hand — it feels soft and back-drivable.
-
When you release it, the motor returns to its initial position smoothly.
-
If you twist it harder (e.g., due to gear reduction), it becomes stiffer, resisting displacement more strongly.
-
It’s powered by 12 V and controlled by a simple ESP32 board using FOC (Field Oriented Control) for quiet, precise torque control.
⚙️ Hardware Overview
| Component | Description |
|---|---|
| Motor | 5010 360 KV BLDC (12 N14 P) |
| Driver | 3-PWM MOSFET driver (e.g., L6234, DRV8313, or custom) |
| Microcontroller | ESP32 DevKit |
| Position Sensor | AS5600 I²C magnetic encoder |
| Power Supply | 12 V DC |
| Firmware | SimpleFOC running on Arduino framework |
The AS5600 provides high-resolution angle feedback, while the ESP32 handles the FOC algorithm at high speed. The 5010 motor, commonly used in drones, provides excellent torque-to-weight ratio when combined with a gear reduction.
π© How It Works
The actuator uses a Field-Oriented Control (FOC) loop to control torque and position precisely.
At the core lies a compliance control strategy implemented in firmware:
-
When the user moves the shaft by hand, the software detects a manual deviation.
-
It reduces stiffness and limits voltage, allowing free motion.
-
Once the movement stops, it gradually restores holding torque and returns the actuator to its home position.
This results in a natural, spring-like behavior — soft when you move it, firm when it holds position.
π§° Firmware Logic Highlights
The core of the firmware is written using SimpleFOC and a few key logic blocks:
-
Angle control loop: Keeps the motor aligned with a target position.
-
Manual detection: Monitors angle deviation and angular velocity to detect hand movement.
-
Adaptive stiffness: Dynamically adjusts
P_angle.Pandvoltage_limitto soften or stiffen response. -
Return to home: When released, the motor returns smoothly to the original angle.
Here’s a simplified version of the control logic:
This logic makes the motor behave like a robotic spring joint — a balance between freedom and control.
π§© Gearing and Stiffness
Because the 5010 motor is geared, torque at the output is multiplied, but so is resistance to back-driving.
To compensate, the firmware uses adaptive stiffness control — if you push harder (moving past the manual_threshold), the motor briefly increases its proportional gain (P_angle.P) and voltage limit to push back more strongly, ensuring a natural feel and stable return to the target.
You can tune this behavior with:
π Power and Performance
At 12 V and around 1 A of current draw during active correction, the actuator is both efficient and quiet.
The ESP32’s dual cores easily handle the FOC loop and serial monitoring, leaving room for Wi-Fi, Bluetooth, or ROS2 communication in future updates.
π€ Applications
-
Robotic arms and grippers with human-safe compliance
-
Exoskeleton joints with soft-touch feedback
-
Animatronics and camera gimbals requiring natural motion
-
Educational robotics — understanding FOC and compliant actuation
Conclusion
This ESP32-based 5010 actuator shows that compliance and precision don’t require expensive industrial hardware.
With open-source tools like SimpleFOC and affordable drone motors, you can build a smart, smooth, and safe robot joint for your next project.
Whether you’re a maker, researcher, or roboticist — this actuator is a great starting point for exploring modern, FOC-based compliant control.

Comments
Post a Comment