- Maker
- LeRobot community
- Actuators
- 5 joints plus gripper on a three-wheel holonomic base
- Each one is a dimension in the action vector
- Servos
- Feetech STS3215 bus servos
- Supply voltage
- 7.4 V for the arm, 12 V for the base
- The 12 V rail belongs to the base, never to the arm servos
- Parts cost
- roughly 400 to 500 euro
- Platform support
- Compatible
- Same data pipeline, the driver is the part that differs
- Also written as
- LeKiwi mobile base
- Dataset format
- LeRobot v2.0 or v2.1
- What every model here reads. ACT, SmolVLA and Pi0.5 also take v3.0, GR00T does not.
LeKiwi is an SO-100 arm mounted on a three wheel holonomic base, built by the LeRobot community, at roughly 400 to 500 euro. The arm runs Feetech STS3215 servos at 7.4 V while the base runs at 12 V. The wheels are not a chassis detail: their velocities are recorded and commanded alongside the joints, so the action vector is wider than on any fixed arm here.
What LeKiwi is
LeKiwi is what happens when the SO-100 arm stops being furniture. The LeRobot community put the same five joint arm on a three wheel holonomic base, so the robot can drive to the thing it picks up. A build comes in around 400 to 500 euro: an arm plus a chassis, wheels, base motors and a second supply.
Holonomic is the word carrying the weight. Three omni wheels spaced around the base let it translate forward, translate sideways and rotate on the spot, independently and at once. There is no steering angle and no turning circle. The arm half is unchanged, so /live is still a fair preview of the manipulator.
Specifications
| Item | LeKiwi |
|---|---|
| Maker | LeRobot community |
| Also written | LeKiwi mobile base |
| Kinematics | 5 joints plus gripper on a three wheel holonomic base |
| Servos | Feetech STS3215 bus servos |
| Supply | 7.4 V for the arm, 12 V for the base |
| Parts cost | roughly 400 to 500 euro |
| Platform support | Compatible |
| Dataset format | LeRobot v2.0 |
The wheels are part of the policy
On an SO-100 the client records six numbers per control step, one per actuator. On a LeKiwi it records those six and one velocity per wheel. Nine numbers go into the dataset row, nine come out of the policy head, and the model is never told which belong to an arm and which to a floor.
# SO-100, one control step
action = [j1, j2, j3, j4, j5, gripper] # 6 values
# LeKiwi, one control step
action = [j1, j2, j3, j4, j5, gripper, # the same arm
w1, w2, w3] # one velocity per wheelThat is the trick and the difficulty at once. It is a trick because mobile manipulation needs no special architecture here: SmolVLA, ACT, GR00T N1.7 and Pi0.5 all fine-tune on this robot, because the action width is declared in the dataset rather than inferred from the machine. See /glossary/lerobot-dataset.
It is a difficulty because every dimension you add needs demonstrations. Drive the base in ten of forty episodes and leave it parked for the other thirty, and the wheel columns are mostly zeros: the policy concludes, correctly given the evidence, that the right thing to do with a wheel is nothing.
The second difficulty is that the base moves the cameras. A fixed arm sees one scene from one viewpoint. A driving robot changes the entire image, so the distribution to cover is far wider. Expect /fix/policy-only-works-in-one-setup the first time it fails in a room you never recorded in, and /glossary/imitation-learning for why.
The action head of a trained policy has a fixed width. A model fine-tuned on SO-100 data emits six values while a LeKiwi needs nine, so an SO-100 checkpoint cannot be handed to the run command here, and a LeKiwi checkpoint will not drive a plain SO-100. Datasets do not mix for the same reason.
What a mobile base does to recording
Teleoperation acquires a second control surface: arm and base are driven at once, by the same person, in the same episode. The first episodes are rarely worth keeping. Everything in /so-100/data-collection applies, with these additions.
- Drive and manipulate inside one episode. Parking first and only then reaching teaches the policy that driving and picking are separate phases.
- Vary where the robot starts on the floor, not only where the object sits. Floor resets are harder to repeat, so put tape down.
- Give the robot a camera that sees where it is going. A wrist camera alone leaves the base blind, and a blind base drives into furniture.
- Expect longer episodes. Driving consumes seconds a fixed arm never spends, and each is a frame the trainer pays for.
- Keep the task string identical across episodes. A reworded sentence splits a dataset whether or not there is a base underneath.
Two supplies on one robot
The arm runs Feetech STS3215 servos at 7.4 V. The base runs at 12 V. Both supplies live on the same machine, within reach of each other, and the 12 V one destroys the arm servos in seconds if it finds the wrong connector. That mistake is available every time you power the robot up. Label both leads at the plug end on the day you build it.
Because the arm is a Feetech chain, the Feetech scoped fix pages apply unchanged: /fix/arm-twitches-then-sags, /fix/joint-stops-early, /fix/gripper-does-not-close, plus /fix/arm-not-detected, /fix/servo-not-responding and /fix/camera-not-detected.
From the carton to the first movement
- 1Build the arm first and prove it on its own
A LeKiwi is an SO-100 with a chassis underneath, and a fault is easier to isolate with six servos than with nine. /learn/so-100-getting-started is the build for that half.
- 2Label both supplies before the base goes on
One 7.4 V lead for the arm, one 12 V lead for the base, marked at the plug end.
- 3Install the client and pair the machine
The installer from /download carries the CLI, the desktop client and the driver.
bashcurl -fsSL https://www.ay-robots.com/install.sh | sh ay-robots pair 4QD2-8HRM-1XV6 ay-robots status - 4Read the device list and count
Confirm the arm chain is complete here. A servo that drops out intermittently is far harder to diagnose once the robot is also moving.
bashay-robots devices - 5Calibrate the arm and home it
The zero reference is captured for the joints. Wheel velocities have no equivalent zero pose, since a velocity is a rate rather than a position.
bashay-robots calibrate ay-robots home - 6Drive it before you record anything
Teleoperate base and arm together for twenty minutes with nothing recording, before that behavior reaches a dataset.
What the platform trains and runs on a LeKiwi
All four policy families have a guide for LeKiwi. The tiers and inference figures are properties of the model, but the latency column deserves a second look here: hesitation between action steps is more visible when the whole robot moves.
| Policy | Guide | GPU tier | Episodes to start | Inference per step |
|---|---|---|---|---|
| SmolVLA | /train/smolvla-on-lekiwi | RTX 4090 or any 24 GB card | 30 | about 245 ms |
| ACT | /train/act-on-lekiwi | RTX 4090 or any 24 GB card | 50 | about 20 ms |
| GR00T N1.7 | /train/groot-n1-7-on-lekiwi | A100 80 GB or H100 80 GB | 50 | about 152 ms |
| Pi0.5 | /train/pi0-5-on-lekiwi | A100 80 GB or H100 80 GB | 50 | about 485 ms |
Treat the episode column as a floor measured on fixed arms. Nothing in the catalog states what a mobile base adds, so this page will not invent a multiplier. If the robot stalls partway through a motion, /fix/policy-freezes-mid-motion separates latency from mechanics. Model detail sits on /policies/smolvla, /policies/act, /policies/groot-n1-7 and /policies/pi0-5.
# Drive base and arm together while this records
ay-robots record --task "bring the mug from the side table to the desk" --episodes 60 --cameras wrist,front
ay-robots datasets list --local
ay-robots datasets upload mug-fetch --name mug-fetch-lekiwi
# Training runs on a rented cloud GPU. Start it under Training in the dashboard
# or through the start_training tool on the MCP server.
ay-robots run --model smolvla --checkpoint s3://runs/mug-fetch-lekiwi/step-20000 --task "bring the mug from the side table to the desk"
ay-robots stopAgainst the other three arms
- SO-100 and SO-101: the same Feetech servos at 7.4 V, six values per action, roughly 110 to 170 euro, full support. A LeKiwi is one of these plus a base, so arm knowledge transfers and data knowledge does not.
- Koch v1.1: a Dynamixel arm on 5 V and 12 V rails at roughly 250 to 350 euro. The other compatible machine, but its difference lives below the serial port while this one lives above it.
- LeKiwi: the only supported robot whose action vector is wider than its arm, and the most expensive build here.
One thing worth saying without hedging: if the task does not require crossing a room, a fixed arm is the better instrument. Every extra dimension is paid for in demonstrations, and paying for three wheels you never use is how a LeKiwi underperforms an SO-100 that cost a quarter as much.
Frequently asked questions
Is the LeKiwi arm different from an SO-100 arm?▾
No. Same five joints plus gripper, same Feetech STS3215 servos, same 7.4 V. What differs is the three wheel base underneath and everything that follows from it in the data.
Can I train a LeKiwi policy on SO-100 data?▾
No. An SO-100 row has six action values and a LeKiwi row has nine, so the shapes do not match in either direction. A head trained to emit six numbers cannot drive a nine dimensional robot.
Which policy handles a mobile base best?▾
Nothing in the catalog ranks the models for mobility, so no honest answer names a winner. Latency is more visible when the whole robot moves, ranging from about 20 ms for ACT to about 485 ms for Pi0.5. Start with SmolVLA for cost.
Why is LeKiwi marked compatible rather than fully supported?▾
Full support belongs to the SO-100 and SO-101, which every feature is validated on first. LeKiwi shares the recorder, the dataset format, all five trainers and the deployment path, and has all four training guides. Compatible describes the testing order.
Was this page helpful?
Still choosing? The arm comparisons put two of them side by side, and /policies covers the models you can train on any of them.
Drive a real arm before you build one
The arm on /live is a real SO-100. Whenever it is online, anyone can drive it from the browser without a signup - the closest look at this class of hardware you can get without owning any.