Project Introduction
ESP-Claw is great at conversation, but it can only "talk," it can't “move” — making a car run, a robotic arm act, or a robot wave requires more than just chatting.
This project solves that final step with the UNIHIKER K10 + UNIHIKER Expansion Board (DFR1216). The DFR1216 is a "power base" integrating 4-channel motor drivers, 6 servo interfaces, battery detection, and infrared. Once ESP-Claw is flashed, all you need to do is talk like this:
"Make the car go forward for 2 seconds, then stop."
ESP-Claw will automatically invoke the driver skills on the expansion board, calculate the duty cycle, control the forward/reverse direction, and stop on a timer — all with zero code. This project lets you experience the fun of "driving real motors and servos with natural language" firsthand.
Why the DFR1216 expansion board?
If what you want to build is a "moving car" or a "moving robotic arm," what you need is motor drivers + servo interfaces + power management — and the DFR1216 covers all three on a single board. No need to wire up an external L298N driver, a separate servo driver, or a boost module.
Think of it this way: the DFR1216 solves "how to let the AI drive actuators" — it focuses purely on "action," uniformly wrapping actuators like motors and servos so the AI can drive them with a single sentence.
Wiring
Â
Wiring is very simple and breaks down into three steps:
Â
1. Connect the K10 to the expansion board: The K10 and DFR1216 connect through a gold-finger edge connector — just insert the gold fingers on the bottom of the K10 vertically into the slot on the expansion board. No extra wiring needed, plug in and it works.
Â
2. Connect motors and servo: Plug the four motors into the expansion board's motor ports M1, M2, M3, M4 (front-left→M1, front-right→M2, rear-left→M3, rear-right→M4); plug the 360° servo into servo port S0 (any of S0~S5 works).
Â
3. Power: Connect the 18650 battery to the expansion board's battery port. The board then distributes power to the K10, motors, and servo.
Â

Â
Build Steps
Â
Prerequisites: Please complete the following two things first (see the tutorial
How boring the sensor-free ESP-Claw is) ——
Â
1. Flash the ESP-Claw firmware onto the K10;
Â
2. Configure Wi-Fi, an LLM, and the chat tool you use (WeChat / QQ / Feishu / Telegram).
Â
This guide won't repeat the flashing and configuration steps — we'll jump straight to “driving hardware.”
Â
Once everything is wired and online, we'll talk to ESP-Claw step by step in the chat tool, gradually turning it from "a chat-only AI" into “a moving robot.”
Step 1: Make the Servo "Wave Hello" — Natural-Language Angle Control
The servo is the most intuitive actuator for demonstrating "one-sentence control." ESP-Claw drives servos through a servo-control skill — install it first with the command below (just send it to ESP-Claw; it will download and register automatically):
从 ESP-Claw Skills Lab 下载以下 Skill: unihiker_expansion_servo_control
Skill page: unihiker_expansion_servo_control

Once the skill is installed, send this in the chat tool:
There's a 360° servo connected to servo port S0 on the expansion board. Please turn it to 180 degrees (the middle position).
ESP-Claw will automatically:
1. Recognize this as a "360° servo angle control" task;
2. Invoke the expansion-board servo skill;
3. Convert "180 degrees" into the servo's PWM pulse width and send it.
You'll see the servo snap to the middle with a click.
Keep playing:
- Turn to 90 degrees.
- Turn to 180 degrees.
- Sweep back and forth between 90 and 180 degrees 3 times, pausing 1 second at each angle.
The last one really shows ESP-Claw's value — the traditional approach needs a `for` loop plus delays; here you simply described the motion in plain words, and ESP-Claw arranged the "loop, delay, and angle sequence" all by itself.

Step 2: Make the Car "Run" — Natural-Language Motor Driving
This step is the core of the project: make the car go forward, backward, and turn with a single sentence. Driving motors also needs a skill — first install the motor-control skill with this command:
从 ESP-Claw Skills Lab 下载以下 Skill: unihiker_expansion_motor_control
Skill page: unihiker_expansion_motor_control

The DFR1216 has 4-channel motor drivers (M1~M4). Each motor port has two terminals, M+ and M-, and by controlling the polarity and voltage (duty cycle 0~255) you decide the forward/reverse rotation and speed. Our 4WD car uses all of M1~M4: front-left = M1, front-right = M2, rear-left = M3, rear-right = M4.
Key premise: the skill defaults all four motors to "forward rotation," but it has no idea how your car moves.
A freshly installed motor skill only understands one low-level thing — making the four motors M1~M4 "rotate forward." As for:
- Does "forward rotation" actually make the car go forward, or backward? (depends on your motor wiring)
- Which motors are the left wheels and which are the right? (depends on which port you plug them into)
- Because the motors on the left and right sides are mirror-symmetric, the two sides actually rotate in opposite directions when going forward (one side forward, the other reverse)
The skill knows none of this — you must tell ESP-Claw in natural language. This is also the core of Chat Coding: once the hardware is wired, "describing" *is* “programming.”
First: tell ESP-Claw your motor layout
Send this in the chat tool:
My car has four motors: front-left = M1, front-right = M2, rear-left = M3, rear-right = M4. Because the left and right motors are mounted symmetrically, to go forward the left side (M1, M3) needs to rotate forward while the right side (M2, M4) rotates in reverse.

This single sentence conveys two key pieces of information:
- Motor layout: front-left M1, front-right M2, rear-left M3, rear-right M4
- Direction definition: forward = left side forward + right side reverse (the two sides rotate oppositely)
Once ESP-Claw remembers this premise, it can correctly translate every command that follows.
Second: send commands to make the car move
Make the car go forward at full speed for 1 second, then stop automatically.

ESP-Claw will interpret "forward" as left side forward + right side reverse (per the definition you just gave), and set a 1-second auto-stop (`auto_stop`):
- M1 (front-left): forward, duty cycle 255 (full speed)
- M2 (front-right): reverse, duty cycle 255 (full speed)
- M3 (rear-left): forward, duty cycle 255 (full speed)
- M4 (rear-right): reverse, duty cycle 255 (full speed)
- After 1 second, all return to zero
You'll see the car zip forward for 1 second and then stop.
Try more motions:
- Go backward for 1 seconds.
- Turn left in place for 1 second.
- Turn right in place for 1 second.
Key insight: you don't need to remember M1~M4, how M+/M- is wired, or the number 255.
You only need to tell ESP-Claw the "motor layout + forward direction" in one sentence (say it once and it remembers). All the forward/reverse, speed, duration, and turning logic is automatically derived by ESP-Claw from your natural-language description. This is the fundamental difference between Chat Coding and traditional programming.
Summary
In this project we did one simple yet crucial thing: **made the AI truly "move."**
- The DFR1216 expansion board integrates the "robot essentials" — motor drivers, servo interfaces, battery management, and infrared — onto a single board, all covered by one board;
- ESP-Claw uses its large language model to automatically translate natural language like "go forward 1 second" and "turn to 180 degrees" into I2C commands the expansion board understands;
- You wrote not a single line of code, calculated not a single duty cycle, looked up not a single register — you only said a few sentences.
What you went through is in fact the complete Chat Coding flow: install a skill → describe your hardware in natural language → give commands in natural language. ESP-Claw handles translating your words into low-level hardware actions; you only need to focus on "what do I want it to do."
The best part is that this approach is universal. Today you're driving four motors plus a servo; tomorrow, change your idea — build a waving robotic arm, a head-turning dog, an auto-opening box — and you only need to connect the servos and motors to the right ports and describe things differently. ESP-Claw can still drive them all with a single sentence.
The things that scare beginners away the most in traditional hardware development — PWM, duty cycles, registers, forward/reverse logic — in this project, you touched none of them. That's what Chat Coding is about: lowering the barrier of hardware all the way down to “being able to speak.”
Next, what do you want to bring to life? Try saying a sentence.






