

| Fact | SO-100 | LeKiwi |
|---|---|---|
| On AY-Robots | Runs today | Data compatible |
| Maker | TheRobotStudio | SIGRobotics-UIUC |
| Axes | 5 + gripper1 | 5 + gripper, mobile base1 |
| Drive | Feetech STS32151 | Feetech STS3215 / ST32152 |
| Voltage | 7.4 V servos1 | 5 V version with 7.4 V servos or 12 V version with 12 V servos, arm and base alike12 |
| Cameras | None built in1 | 2 RGB, workspace and wrist1 |
| Price | β β¬128 in parts per follower arm, without 3D printing1Leader and follower β β¬244 | β β¬526 to β¬546 with leader and follower arm, depending on the version2 |
| License | Apache-2.02 | Apache-2.01 |
| LeRobot | In the LeRobot core3 | In the LeRobot core3 |
Table as of October 12, 2026, every value with its source. Every arm, by maker
A LeKiwi carries an SO-101, the successor of the SO-100 with the same five joints plus a gripper on Feetech servos, on a three-wheel holonomic base. It comes as a 5 V version with 7.4 V servos and as a 12 V version with 12 V servos, and arm and base use the same servos in each. An SO-100 arm costs about 128 euro in parts, a complete LeKiwi with leader and follower arm about 526 to 546 euro. The base is not free in software either: its wheels become extra dimensions in the recorded action vector, so every episode has to demonstrate driving as well as manipulation.
The short answer
This is not two arms, it is one arm and the same arm on wheels. The manipulator on a LeKiwi is the SO-101, the successor of the SO-100 manipulator: five joints plus gripper, Feetech servos, the same calibration. So the question is not which picks things up better. It is whether you want the base, and whether you are ready to pay for it in demonstrations rather than euros.
Side by side
| Fact | SO-100 | LeKiwi |
|---|---|---|
| Maker | TheRobotStudio and LeRobot | LeRobot community |
| Degrees of freedom | 5 joints plus gripper, 6 actuators | 5 joints plus gripper on a three-wheel holonomic base |
| Servos | Feetech STS3215 bus servos | Feetech STS3215 (5 V version) or ST3215 (12 V version) bus servos |
| Voltage | 7.4 V | 5 V version (7.4 V servos) or 12 V version (12 V servos), arm and base alike |
| Parts cost | About 128 euro per arm (EU parts list) | About 526 to 546 euro with leader and follower arm (BOM) |
| Support level here | full | compatible |
| Mobility | Fixed to the table | Holonomic, translates and rotates |
| Action vector | Six arm actuators | Six actuators plus the base wheels |
| Dataset format | LeRobot v2.0 | LeRobot v2.0 |
| Models available | ACT, SmolVLA, Pi0.5, GR00T N1.5, GR00T N1.7 | The same five |
What the base adds to every episode
The action vector recorded on an SO-100 has six entries, one per actuator. On a LeKiwi the base adds its own commanded dimensions: three wheels, driven independently, which is what holonomic means here. Read the exact width off your recorded dataset, the authority on its own schema. The direction is not in doubt: the vector is wider, and no fixed arm ever had to predict those entries.
A policy has to produce every dimension it was trained on, at every step. It does not leave the wheels blank because the interesting part happens at the gripper. From the first episode, driving is part of what it imitates.
That changes what your episode budget has to cover. On a fixed arm the object sits in a few places and the camera never moves. On a mobile base, where the robot approaches from is a variable you are teaching. The fifty episodes GR00T N1.7 wants become fifty of driving and manipulating, and fifty from the same tile teach one approach path.
LeKiwi comes as a 5 V version with 7.4 V STS3215 servos and as a 12 V version with 12 V ST3215 servos. On one robot, arm and base use the same servos. A 7.4 V servo dies within seconds on 12 V, so never mix servos or supplies from the two versions. Mark the supply at the connector end before the first power up.
What the wheels do to teleoperation and recording
The recorder starts and stops the recording, it does not drive the robot. You teleoperate while it runs, which on a LeKiwi means driving the base and the arm inside one episode. Clumsy driving is written into the dataset as ground truth just as faithfully as clean driving.
Two rules follow. Keep an episode only when it was good: Enter ends a clean one, Ctrl-C discards a fumbled one. And settle the cameras first. A wrist camera moves with the arm on both robots, but a LeKiwi base camera moves with the machine, so the background shifts inside one episode.
What does not change
| Stage | SO-100 | LeKiwi |
|---|---|---|
| Zero point | ay-robots calibrate | Same, the base does not affect it |
| Recording | ay-robots record --task "..." | Same, wider action vector |
| Dataset format | LeRobot v2.0 | Same, and GR00T still crashes on v3.0 |
| Upload | ay-robots datasets upload <dataset> | Same |
| Training | Dashboard or start_training, no CLI | Same, no base specific trainer |
| Run cost per job | 1 to 3 USD on 24 GB, 4 to 12 on 80 GB | Same, the model sets it |
| Inference | ay-robots run --model <model> | Same, base dimensions too |
| Servo voltage | 7.4 V | 7.4 V in the 5 V version, 12 V in the 12 V version |
Which model copes best with a mobile base
There is no base specific policy here, so the question is which of the five copes with a wider action space. ACT has no pretraining and no language conditioning, so it learns your approach paths literally, and its 20 ms inference suits a driving robot. Pi0.5 at about 485 ms per action step needs care, because a base in motion makes a stale observation more expensive. SmolVLA sits between them at about 245 ms, useful from about thirty episodes.
A SmolVLA run costs about 1 to 3 USD on the 24 GB tier against about 4 to 12 USD for GR00T N1.7 on 80 GB. While your datasets still contain driving mistakes, four cheap runs teach more than one expensive one.
A sane first week on a LeKiwi
- 1Park the base and treat it as an SO-100
Find the port, set the zero point, send it home. Everything you know about a fixed arm is valid at this stage.
bashay-robots devices ay-robots calibrate ay-robots home - 2Record a static baseline, then add driving
With the base parked, record the task as on a fixed arm: that is your reference if a mobile policy later fails. Then record with the base moving, covering the approach directions you will need.
bashay-robots record --task "pick up the red cube and put it in the bin" \ --dataset lekiwi-static --episodes 10 --cameras wrist,top # Then the same task with the base moving, from varied start positions. ay-robots record --task "pick up the red cube and put it in the bin" \ --dataset lekiwi-mobile --episodes 30 --cameras wrist,top - 3Upload and train the cheap model first
There is no ay-robots train command. Upload, then open Training, pick the dataset, choose SmolVLA, press Start. Agents call start_training instead.
bashay-robots datasets upload lekiwi-mobile --name "lekiwi cube pick" - 4Evaluate from marked starting positions
Mark the floor, run the same positions in the same order, and write down where it failed: wrong approach, right approach with a bad grasp, or never near the object.
bashay-robots run --model smolvla \ --checkpoint s3://ay-robots-runs/lekiwi-cube-pick/step-20000 \ --task "pick up the red cube and put it in the bin" ay-robots stop
# Hosted MCP server: Streamable HTTP and JSON-RPC 2.0 at /api/mcp,
# protocol version 2025-06-18. Training tools take your API key.
curl -s https://www.ay-robots.com/api/mcp \
-H "Authorization: Bearer $AY_ROBOTS_API_KEY" \
-H "Content-Type: application/json" \
-H "Accept: application/json, text/event-stream" \
-d '{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/call",
"params": {
"name": "start_training",
"arguments": {
"dataset_id": "ds_lekiwi_cube",
"policy_name": "lekiwi cube pick, smolvla",
"model_id": "smolvla",
"confirm_spend": true
}
}
}'Full against compatible, and debugging across the line
The SO-100 carries the full support level: it is the reference unit, and a symptom is reproduced on one before the page describing it goes up. The LeKiwi carries compatible. Its arm half is an SO-101 on the same Feetech servo family, so the servo advice, the calibration procedure and the Feetech failure modes apply directly. Its base half is not.
So split the problem before you debug it. Park the base and run the task by hand. If the arm misbehaves standing still, it is an arm problem and every fix page applies as written. If the arm is fine and the approach is wrong, it is a data problem in the new dimensions.
Buy the LeKiwi if
- The task needs the robot to move: a second surface, a person to follow, a bench longer than the arm reach.
- Your fixed-arm workflow works and your failures are about reach, not grasping.
- You will record demonstrations covering several approach directions.
Stay on the SO-100 if
- You are learning the pipeline. Hours spent on driving are hours not spent on what decides whether a policy grasps.
- Your task fits on a table. A base adds dimensions, failure modes and a battery or power bank, and buys nothing if the object is in reach.
- Budget matters. A LeKiwi at about 526 euro costs more than two complete SO-100 teleoperation pairs at about 244 euro each.
Where to go next
- /robots/lekiwi for the fact sheet, rails and base
- /robots/so-100 for the arm on top of it
- /train/smolvla-on-lekiwi for the cheapest first run
- /train/groot-n1-7-on-lekiwi once you have fifty clean episodes
- /fix/policy-only-works-in-one-setup when only one start position succeeds
- /fix/camera-not-detected when a base camera drops out
- /glossary/degrees-of-freedom for how the base widens the action vector
- /glossary/episode for what one demonstration contains
- /compare/so-100-vs-so-101 if you are still choosing the arm
Frequently asked questions
Is the arm on a LeKiwi really the same as an SO-100?βΎ
Nearly. The current LeKiwi build uses the SO-101, the successor of the SO-100: five joints plus a gripper on Feetech bus servos, 7.4 V in the 5 V version and 12 V in the 12 V version. The arm side of every guide transfers without edits.
Can I train on SO-100 data and run the policy on a LeKiwi?βΎ
Not usefully. A policy trained on six action dimensions has no output for the wheels, so the base has nothing driving it. Record on the LeKiwi, and keep the old dataset as your static baseline.
How many extra dimensions does the base add?βΎ
One per driven wheel on a three-wheel holonomic base. Rather than trust that arithmetic, read the action width off the dataset you recorded: that schema is what the trainer uses.
Does a mobile base make training more expensive?βΎ
No. The bill follows the model and its GPU tier: about 1 to 3 USD on 24 GB, about 4 to 12 USD on 80 GB. The base costs recording time, because each episode contains an approach as well as a grasp.
Does a LeKiwi need two supplies, one for the arm and one for the base?βΎ
No. Arm and base use the same servos: 7.4 V parts with a power bank in the 5 V version, 12 V parts with a 12 V battery in the 12 V version. Never mix servos or supplies from the two versions, 12 V on a 7.4 V bus destroys it.
Was this page helpful?
The arm is the smaller half of the decision. Which model you train on the data it records is compared under /compare, and the runnable instructions per model and arm are under /train.