RobotEd

XLeRobot hardware tutorial

Build XLeRobot

A complete, ordered hardware guide for the XLeRobot dual-arm mobile manipulation platform.

XLeRobot mobile manipulation robot with dual arms

1. Start here

What you are building

XLeRobot is a dual-SO-101 mobile manipulator. Its hardware combines a RÅSKOG cart, a selectable mobile wheel base, two robot arms, an arm platform, head and camera components, 12V power, and control electronics. Build the independent parts first, then integrate them into the cart.

Mobile base

Choose either the dual-wheel platform or the mecanum-wheel platform before printing its parts.

Two arms

The project uses two SO-101 arms, including their motors, controllers, wiring, and calibration.

Cart platform

The cart carries the base, arm platform, head, cameras, controllers, cables, and power station.

2. Procurement

Parts and tools

Source the complete hardware set before assembling. The original cost target excludes printing, tools, shipping, and taxes. A basic configuration starts around USD 660 when sourced independently; optional stereo cameras, Raspberry Pi, and RGB-D sensing increase that total.

PartQty.Purpose
STS3215 12V servos1712 for the arms, 3 for the base, 2 for the head
IKEA RÅSKOG utility cart1Main chassis
12V power station1Must power two 60 W+ USB-C outputs; add Pi capacity if used
4-inch omni wheels3Mecanum / omnidirectional configuration
Raspberry Pi 51 optionalA laptop can be used instead
Motor controller boards2For the two SO-101 arms
microSD card1Required when using Raspberry Pi
USB-C / USB-A cables2Motor-controller data connections
USB-C to DC 12V cables2Controller-board power
Long 5264 / 3-pin motor wiring1 setRoute across the cart and arms
Hand cameras2Wrist or hand views
Head camera1Logitech C920 or equivalent; depth camera is optional

Required tools

M3 screw and nut set with hex driver, flush cutters, screwdrivers, and nine M4×10 screws for wheel assembly. Use the flush cutter for cable-routing mesh.

Compatibility notes

A different cart can work but may need changes to printed connectors. Alternative batteries must supply approximately 120 W for arms and wheels, plus about 40 W for a Pi if used.

3. Manufacturing

3D-print the structural components

The project divides the printable set into SO-101 arms, arm-base components, neck and head pieces, and the selected wheel-base parts. Confirm the wheel-base choice before printing because those parts are configuration-specific.

Before printing

  • Inspect the required part list by subsystem and print only the matching wheel-base set.
  • Plan supports, orientation, and bed size before starting large arm-base or cart components.
  • Use the specified flexible material for soft finray gripper fingers when that option is chosen.

Optional printed additions

  • Soft gripper fingers require TPU95A.
  • Standard SO-101 fingers remain an alternative.
  • Visual sleeves and other cosmetic pieces are optional and do not affect the core build.
Get the XLeRobot Print Pack →

4. Mobility

Choose and build the wheel base

Build one complete mobile base before installing it under the cart. The current dual-wheel design is more stable, faster, and has more torque than the three-omni-wheel approach; it comes in servo-motor and brushless-motor versions. The project also documents the mecanum-wheel configuration.

Servo-motor version

This is the easier option for wiring and control because it remains in the Feetech servo ecosystem. It is more stable and accurate than the earlier platform, with less movement play. In exchange, it loses sideways motion and remains limited by servo noise, speed, and torque.

Additional non-printed parts

  • 5-inch universal walker wheels
  • 30 × 37 × 4 mm bearings
  • Longer motor cables or an extension kit
Dual-wheel servo version hardware referenceDual-wheel servo assembly reference
Assembled XLeRobot dual-wheel base

Brushless-motor version

This version is based on the Bracket Bot wheel-base approach. It targets a more robust and capable platform, but adds wiring complexity. Its cart connector uses M8×20 screws.

Brushless dual-wheel assembly reference

Mecanum base

Use the three-wheel X-pattern layout, fit the motors, and confirm direction before keyboard teleoperation. The complete wheel base includes non-printed mechanical and electronic parts.

XLeRobot mecanum base driving demonstration

5. Manipulation

Prepare the SO-101 arms

Build, configure, and calibrate both SO-101 arms before mounting them to the XLeRobot platform. The project uses twelve arm motors in total. Keep controller cables labelled and make sure both arms move correctly on their own before they are installed above the mobile base.

Open the SO-101 assembly and calibration guide →

6. Integration

Assemble the platform in this order

  1. 1. Prepare the cart.

    Build the cart chassis and prepare its cable-routing and attachment points.

    XLeRobot cart preparation reference
  2. 2. Install the selected wheel base.

    Secure the mobile base to the cart only after it has passed its standalone mechanical checks.

    XLeRobot wheel base installation reference
  3. 3. Build the arm base.

    Assemble the top base and head assembly, then prepare the mounting positions for both SO-101 arms.

    XLeRobot arm base reference
  4. 4. Mount arms, cameras, and controllers.

    Install the completed arms and sensors while preserving clear cable paths and full joint travel.

    XLeRobot SO-101 arm installation reference

Official assembly video

Additional assembly video

7. Electrical integration

Wire the system and install the battery

Run long motor wiring through the cart only after each mechanical path is final. Connect each arm controller, the selected base hardware, cameras, Pi or laptop interface, and power wiring according to the chosen configuration. Place the battery/power station so its cables cannot enter the wheel or arm travel paths.

XLeRobot wiring reference
Power-on checklist: verify 12V polarity, connector seating, cable strain relief, clear wheel movement, unrestricted arm travel, and an open surrounding area. Keep the base elevated for the first wheel-direction check.

8. Complete the build

Final assembly and first checks

Finish by securing the base in the cart, checking all structural fasteners, placing cameras and optional visual covers, then testing the system in stages: power, wheel direction, arm communication, arm motion, camera feeds, and higher-level control. Do not attempt full-speed driving or dual-arm movement until every individual subsystem is behaving correctly.

Completed XLeRobot final assembly reference

Detailed hardware reference

Platform specification and design choices

The documented XLeRobot 0.3 platform combines an IKEA RÅSKOG cart, a selectable mobile base, two SO-101 arms and a portable power station. A typical completed configuration is about 12 kg, approximately 0.5–1.25 m tall and around 0.36 m wide from the cart edge. The main computer performs higher-level computation; a Raspberry Pi can handle local communication over Wi-Fi.

Power target

The reference uses a 288 Wh / 300 W power station. Normal use targets more than 10 hours; 280 W input can recharge it in about one hour.

Cart choice

RÅSKOG was selected for availability, low cost, metal mesh mounting points, storage, and a practical household footprint.

Cameras and compute

The documented options include two hand cameras, a Logitech C920 head camera and an optional RealSense D415. A laptop can replace the optional Pi.

XLeRobot platform overview

Detailed bill of materials

Configuration, alternatives and optional additions

The upstream basic configuration was estimated around USD 660 before printing, tools, delivery and taxes. Stereo dual-eye cameras add roughly USD 30, a Raspberry Pi about USD 79 and a RealSense camera about USD 220. These are historical sourcing references, not RobotEd prices.

Core hardware

  • 17 STS3215 12V servos: 12 arms, 3 base, 2 head.
  • Two arm controllers, long 5264 / 3-pin cable set, controller data cables and two USB-C-to-12V DC cables.
  • Three 4-inch omni wheels for the reference three-wheel base, or selected dual/mecanum hardware.
  • M3 screws/nuts, flush cutter, screwdriver and nine M4 × 10 screws.

Alternatives and upgrades

  • STS3250 servos provide more torque at materially higher cost.
  • Alternative power stations need two 60 W+ USB-C feeds plus Pi power when used.
  • Optional parts include TPU95A finray grippers, extra SO-101 leader sets, sleeves and Quest 3/3S workflow hardware.
  • Different carts or batteries can need mechanical or electrical changes.
XLeRobot bill of materials reference 1XLeRobot bill of materials reference 2XLeRobot bill of materials reference 3XLeRobot bill of materials reference 4XLeRobot bill of materials reference 5

Detailed print preparation

Plan printable parts by subsystem

The source build was demonstrated in matte black PLA on a Bambu A1. PETG HF, PLA-CF and tough PLA are listed alternatives. Use normal slicer practice for orientation, supports, infill and speed; in humid conditions, dry PLA at around 45 °C for eight hours. A 3MF stores models, not a universal ready-to-print support plan.

Arms and platform

Print two follower SO-101 arms. Leader arms are only required for simultaneous leader-follower joint control. The platform uses two arm bases, a central storage shell and a reused Bambu cardboard filament spool as structural support.

Head and wheel parts

The neck/head derives from the first two SO-101 links, with shells for webcam, RealSense or hand cameras. For the three-omni base, adjust only cart-connector Z scale to balance wheel pressure; washers are an alternative.

Printed parts grouped by XLeRobot subsystemXLeRobot print layoutXLeRobot printed componentsXLeRobot arm print referenceXLeRobot platform print referenceXLeRobot head print referenceXLeRobot camera mount print referenceXLeRobot base print referenceXLeRobot wheel-base print referenceXLeRobot optional parts reference

Detailed mobile-base options

Dual-wheel and mecanum instructions

Dual-wheel servo base

This simpler option trades lateral movement for accurate positioning and reduced play. Use 5-inch walker wheels, 30 × 37 × 4 mm bearings and extended motor cables. Keep it elevated for the first direction test.

Dual-wheel brushless base

Based on the Bracket Bot approach, this targets a more capable chassis but brings more complex wiring. Its cart connector uses M8 × 20 screws.

XLeRobot brushless wheel hardwareXLeRobot brushless base
Mecanum orientation and controls: fit the rollers in an X pattern, not an O pattern. The documented keyboard script is software/examples/4_xlerobot_teleop_keyboard.py: i/k forward/back, j/l sideways and u/o rotation. The reference second-bus IDs are 7–10: front-left, front-right, rear-left, rear-right; adjust software if your wiring differs.

Detailed platform assembly

Complete the integration carefully

  1. 1. Configure and label motors. Allow two to four hours from loose parts, or one to two once both arms are ready. Configure each motor individually, grant serial access on Linux, and label left/right arm IDs 1–6, head IDs 7–8 and wheel motors.
  2. 2. Prepare cart and wheel base. Remove temporary LeKiwi battery mounts, stack plates in the documented order, use extended motor wiring, and adjust connector height until wheel pressure is even. Cut only the central X section of mesh for cable routing.
  3. 3. Fit platform, arms and head. Assemble the arm base upside down, fit the head as the first two SO-101 link stages, then secure arm bases at the top corners. Check every arm clears cart, cables and cameras.
  4. 4. Wire before final clamps. Route controller data to the Pi, reserve Pi USB ports for cameras, observe 12V polarity on 5264 leads and use separate power feeds for the two controllers and Pi.
  5. 5. Power and inspect. Place the power station on the middle or lower shelf, connect power last and disconnect it before changing plugs. Lift the approximately 12 kg robot rather than pushing it, and retighten wheel connectors after driving.
XLeRobot assembly reference 1XLeRobot assembly reference 2XLeRobot assembly reference 3XLeRobot assembly reference 4XLeRobot assembly reference 5XLeRobot assembly reference 6XLeRobot assembly reference 7XLeRobot assembly reference 8XLeRobot assembly reference 9XLeRobot assembly reference 10XLeRobot assembly reference 11XLeRobot assembly reference 12

Attribution

XLeRobot open-source hardware documentation

This tutorial reproduces and organizes material from the XLeRobot documentation for the XLeRobot 0.3.0 hardware project. Copyright © 2025 XLeRobot Contributors. Licensed under the Apache License, Version 2.0. RobotEd is independent of the project authors.