






LeKiwi Mobile Base
About this program
LeKiwi — Mobile Base for SO-ARM100
LeKiwi is a three-wheeled omnidirectional mobile base designed to carry the SO-ARM100 (or its sibling Koch arm) around a real environment. Add a 5-DOF teleop arm on top, put a camera on the base and the wrist, and you have a low-cost mobile manipulation platform compatible with the entire LeRobot stack.
Why "kiwi"?
Kiwi drive — three omniwheels at 120° — gives you true holonomic motion: the base can translate in any direction and rotate independently, no slewing required. That's huge for teleop demos where a human operator is driving with a joystick and expects the base to move "like a spaceship," not like a car.
What you get
- Three-wheel kiwi drive with omniwheels on custom-printed hubs
- Feetech or Dynamixel servo variants (pick your servo ecosystem — both hubs are included)
- Raspberry Pi + optional Jetson Orin compute cage printed onto the base plate
- Battery compartment sized for standard 3S/4S LiPo packs
- Servo-controller mount and base-mounted webcam holder
- Mounting pattern on the top plate that drops directly into an SO-ARM100 base
What you do with it
- Mobile teleoperation: leader arm drives the follower arm, joystick drives the base. Stream both from a laptop anywhere on the network.
- Mobile imitation learning: extend LeRobot's episode recorder to include base velocities. The existing Diffusion Policy and ACT models have been adapted by the community to condition on base state.
- Multi-camera observation: base camera sees the environment, wrist camera sees the task. Both go into the policy.
- Classroom mobile robotics: cheap, printable, and works with commodity servos.
Parts
~12 canonical printed parts on the base:
base_plate_layer1/base_plate_layer2— sandwich plate structuredrive_motor_mount— servo bracket, ×3 at 120°servo_wheel_hub— attaches the omniwheel to the servo horn, ×3battery_mount— LiPo traypi_case_top/pi_case_bottom— Raspberry Pi 5 enclosurejetson_holder— optional Jetson Orin bracketservo_controller_mount— Dynamixel U2D2 / Waveshare bus driver holderbase_camera_mount,wrist_camera_mount— webcam rigsmodified_base_arm— replacement SO-ARM100 base shim that lets the arm sit flush on the base plate
Attribution & license
- Designer: SIGRobotics-UIUC (Student Interest Group on Robotics, University of Illinois Urbana-Champaign)
- Upstream: https://github.com/SIGRobotics-UIUC/LeKiwi
- License: Apache 2.0
- Ecosystem: LeRobot
Links
- Upstream repo: https://github.com/SIGRobotics-UIUC/LeKiwi
- SO-ARM100 (arm to mount on top): https://github.com/TheRobotStudio/SO-ARM100
- LeRobot stack: https://github.com/huggingface/lerobot
Build Guide
Step-by-step assembly guide: github.com/SIGRobotics-UIUC/LeKiwi/blob/main/Assembly.md
🖨 Print Files (12)
base_plate_layer1.stl
base_plate_layer2.stl
drive_motor_mount.stl
servo_wheel_hub.stl
battery_mount.stl
pi_case_top.stl
Required Hardware
| Qty | Part | Notes |
|---|---|---|
| 2 | Servo motor (MG996R) | Main actuators |
| 1 | Raspberry Pi |
B