Skip to main content

Building the ContinuonXR Physical Robot: A Complete Parts Guide and Lessons Learned

14 min read By Craig Merry
ContinuonAI Robotics Hardware DIY V-Slot EcoFlow SO-ARM101 Mecanum

Today I’m documenting the physical robot build for ContinuonXR—a mobile manipulation platform designed for human-height reach (~6 feet) with dual arms, omnidirectional movement, and enough battery life to actually be useful. This post covers our parts selection, the full Bill of Materials, and the grey areas where we had to make judgment calls or discovered gotchas.

Starting with What I Already Had

Before buying anything robot-specific, I took inventory of what I already owned. This shaped the entire design:

  • EcoFlow River Max Plus — I bought this as a backup battery for storm outages and power emergencies. At $649 and 720Wh, I wasn’t about to buy another battery at that cost. So I designed the robot around it. Turns out, the 8kg weight that makes it annoying to carry makes it perfect as low-center-of-gravity ballast for a tall robot.

  • OAK-D Lite Camera — Already had this from previous computer vision experiments with ContinuonXR’s software stack.

  • Raspberry Pi 5 — My go-to development board, already on hand.

This “use what you have” approach cut the effective new purchase cost significantly and forced some creative design decisions that actually improved the robot.

The Design Philosophy

Before diving into parts, here’s the core design philosophy that drove our choices:

1. Separate Precision from Payload

The robot has two distinct systems:

  • Arm Carriage (moving): Light, fast, precise. Carries only the dual arms (~1.5kg) plus whatever they’re holding (up to 2kg)
  • Cargo Deck (fixed): Heavy-duty. Can hold 5-10kg of tools, bins, or transported items

This decoupling means the lift mechanism can stay simple and precise while the robot can still transport significant payloads.

2. Power as Ballast

The EcoFlow River Max Plus (8kg) sits at the bottom of the robot, providing both 720Wh of power AND critical stability. With this weight distribution, the robot achieves a 21° tip angle—excellent stability without outriggers.

3. Modularity Over Optimization

V-slot aluminum extrusion isn’t the lightest or cheapest option, but it’s infinitely reconfigurable. When you’re prototyping a robot, being able to move things around without rewelding is worth the weight penalty.


The Architecture

                    ┌─────────┐
                    │ Camera  │ ← OAK-D Lite (1580mm)
                    └────┬────┘

    ════════════════════════════════  ← Top cross-brace
         │                     │
         │  ┌─────────────┐    │     ← Arm carriage (MOVES 450-1500mm)
         │  │  SO-ARM101  │    │       Dual 6-DOF arms
         │  │   × 2       │    │
         │  └─────────────┘    │
         │                     │
    ─────┼─────────────────────┼─────  ← Deck 3: Cargo (1100mm, FIXED)
         │                     │
         │      V-slot         │     ← 2× 20×40 uprights (1500mm)
         │      20×40          │
         │                     │
    ─────┼─────────────────────┼─────  ← Deck 2: Electronics (550mm)
         │                     │
    ─────┼─────────────────────┼─────  ← Deck 1: Tool storage (300mm)
         │                     │
    ═════╧═════════════════════╧═════  ← Base plate
         │   ┌───────────┐     │
         │   │  EcoFlow  │     │     ← 8kg ballast + 720Wh power
         │   └───────────┘     │
    ┌────┴─────────────────────┴────┐
    │     97mm Mecanum Chassis      │  ← 330×290mm, 12V motors
    └───────────────────────────────┘

Complete Bill of Materials

Phase 1: Chassis — $99 ✅

ItemSourcePrice
Professional 97mm Mecanum ChassisAmazon B09VZV35RF$99

What’s included: 4× 97mm mecanum wheels, 4× 12V 360RPM encoder motors, aluminum extrusion chassis (330×290mm), mounting hardware.

Why this chassis: The 12V motors connect directly to the EcoFlow car port (no voltage conversion needed), and the 290mm width exactly matches the EcoFlow footprint.


Phase 2: Power System — Already Owned ✅ (plus ~$56 distribution)

ItemSourcePrice
EcoFlow River Max Plus (720Wh)Already owned (storm backup)$0

Why EcoFlow? I wasn’t going to buy a $649 battery specifically for a robot project. But I already had the EcoFlow as a home backup power station for outages. Designing the robot around it meant I got 720Wh of capacity AND 8kg of stability ballast for free. The “annoying weight” of a portable power station becomes a feature when it’s sitting at the bottom of your robot.

Power Distribution Components (~$56):

ItemPurposeSourcePrice
Buck Converter 12V→6V 10AServo powerAmazon B07JZ2B9TK~$15
DC Barrel CableEcoFlow car portAmazon B07C61434H~$8
Power Distribution BoardClean wiring hubAmazon B08P1JZSLV~$10
Fuse Holder + 15A FuseSafetyAmazon B07PNLQ2Y9~$6
XT60 Connectors (5 pairs)Secure connectionsAmazon B07VRZR5TL~$9
USB-C PD Trigger BoardOptional cleaner Pi powerAmazon B0B6FYJM1N~$8

EcoFlow outputs used:

  • USB-C 100W → Raspberry Pi 5 (direct, no converter needed). The Pi also powers and communicates with the OAK-D Lite camera via USB 3.0.
  • Car Port 12.6V/8A → Motors + Servos (via buck converter for servos)
  • USB-A → Available for accessories (not currently used)

Phase 2.5: Mounting Hardware — ~$33

ItemPurposeSourcePrice
3M Dual Lock (1”×10ft)EcoFlow adhesionAmazon B07D2M6Z21~$10
Ratchet Strap (1”×6ft)EcoFlow retentionAmazon B07TVRXQPF~$8
90° Corner Brackets (4pk)V-slot to chassisSearch “2040 corner bracket L”~$15

Phase 3: Mast Structure — ~$141

⚠️ IMPORTANT: OpenBuilds has ceased operations as of early 2026. The original V-slot supplier is no longer selling products. Use alternative suppliers.

ItemQtySourcePrice
V-Slot 2040 Rails 1500mm2FAHKNS 5-pack Amazon B0CF9TXKJ3~$70
V-Slot 2020 Rail 500mm1Search “2020 v-slot 500mm”~$12
Gantry Plate Kit (×2)2Amazon B08L39S8QB~$24
M5 T-Nuts (50pk)1Search “M5 t-nut v-slot”~$8
M5 Screws Assortment1Amazon B08P4PK77V~$12
90° Corner Brackets4(in mounting hardware)

Alternative suppliers for V-slot:

  • Iverntech — Good quality, multiple sizes
  • Search “2040 aluminum extrusion” on Amazon — Many generic options

Phase 4: Lift Mechanism — ~$50-57

We recommend the high-torque option for dual arms:

ItemSourcePrice
NEMA17 High-Torque Stepper (2.5A)Amazon B00PNEQI7W~$18
GT2 Timing Belt 6mm × 5mAmazon B07GFYLJP8~$8
GT2 20T Pulleys (5pk)Amazon B07VPB54VN~$8
GT2 Idler Pulleys (2pk)Amazon B07GCX7T5B~$6
TMC2209 Stepper DriverAmazon B0D2J73TM8~$10
Limit Switches (5pk)Amazon B07QQ2RBL5~$7

Lift capacity with high-torque motor: ~5kg (enough for dual arms + 2-3kg payload)

Alternative: Lead Screw for heavier loads (15-20kg) but slower speed. Add T8 lead screw ($20), anti-backlash nut ($8), flexible coupling ($7).


Phase 5: Deck Plates — ~$88

ItemQtySourcePrice
Deck plates 300×220×3mm3SendCutSend (5052 Aluminum)~$45
Carriage plate 200×140×5mm1SendCutSend (5052 Aluminum)~$12
M5 Standoffs assorted20Amazon~$10
M5 screws + nuts50Amazon~$6
Storage bins (4pk)1Amazon B07DFDS56F~$18

SendCutSend ordering:

  1. Upload SVG/DXF file
  2. Material: 5052 Aluminum
  3. Thickness: 3mm (decks) or 5mm (carriage)
  4. Turnaround: ~1-2 weeks

Phase 6: Computing — ~$15 (most already owned)

ItemSourcePrice
Raspberry Pi 5 (8GB)Already owned$0
OAK-D Lite CameraAlready owned (CV experiments)$0
PCA9685 Servo Controller (×2)Amazon/Adafruit~$12
SG90 Pan Servo (camera)Amazon B07Q6JGWNV~$3

Building on existing gear: The Pi 5 and OAK-D Lite were already part of my ContinuonXR software development setup. Reusing them for the physical robot meant the compute stack was essentially free.


Phase 7: Arms — ~$200

ItemQtySourcePrice
SO-ARM101 6-DOF Arm2Various (Alibaba, RobotShop)~$100 each

Alternatives:

  • LeArm 6-DOF (~$60 each, lighter duty)
  • Custom servo arms (cheaper but more assembly)

Phase 8: Modular End Effectors — ~$50-100

Instead of adding more arms, we’re going with interchangeable grippers that the robot can swap autonomously. This gives us versatility without the complexity of coordinating 4+ arms.

Quick-Change Mount Design

The SO-ARM101 wrist uses a standard servo horn. We’ll add a quick-release adapter:

Standard Servo Horn

┌──────────────────┐
│  Quick-Release   │  ← Twist-lock or magnetic + alignment pins
│     Adapter      │
└────────┬─────────┘

   End Effector

End Effector Types

TypeBest ForSourceEst. Cost
2-Finger ParallelGeneral grippingIncluded with SO-ARM101$0
3-Finger AdaptiveRound objects, bottlesThingiverse + 1 servo~$15
Vacuum SuctionFlat items, paper, fabricMini pump + suction cups~$20
Soft GripperDelicate/irregular shapes3D print + balloon~$10
MagneticMetal parts, toolsElectromagnet module~$15
Hook/ClawBags, handles, pulling3D print (passive)~$5

Tool Rack on Cargo Deck

Cargo Deck Layout
┌─────────────────────────────────────────┐
│  ┌─────┐ ┌─────┐ ┌─────┐ ┌─────┐       │
│  │ 2F  │ │ 3F  │ │ VAC │ │HOOK │       │  ← Gripper parking slots
│  └──┬──┘ └──┬──┘ └──┬──┘ └──┬──┘       │
│     │      │      │      │             │
│  Alignment pins + magnetic or twist-lock│
└─────────────────────────────────────────┘

Self-swap sequence:

  1. Arm moves current gripper to empty slot
  2. Rotates wrist to disengage (twist-lock) or pulls away (magnetic)
  3. Moves to new gripper slot
  4. Engages and locks

Open-Source Gripper Resources

  • SimpleGripperInstructables — 2DOF parallel gripper, well documented
  • SO-ARM101 GitHubhorndeer/SO-ARM101-LeRobot — Original arm STLs and community mods
  • Thingiverse Robot Grippers — Search “robot gripper” for dozens of printable options
  • Printables.com — Often has higher-quality tested designs

Why Modular Grippers > More Arms

Factor4 ArmsModular Grippers
Cost+$200+$50-100
Weight+1.5kg on carriageMinimal
Power draw+12 servosSame
Software complexityExponentialLinear
VersatilitySame grip type x4Many grip types
Failure recoveryComplexSwap gripper

The V-slot mast makes it easy to add more arms later if needed, but starting with smart tooling is the industrial robot approach.


Total Build Cost

If Starting From Scratch

PhaseDescriptionCost
1Chassis$99
2Power (EcoFlow + distribution)$705
2.5Mounting Hardware$33
3Mast Structure$141
4Lift Mechanism$57
5Deck Plates$88
6Computing$245
7Arms$200
8Modular End Effectors$75
TOTAL~$1,643

My Actual New Purchases (Using Existing Gear)

PhaseDescriptionCost
1Chassis$99
2Power distribution (EcoFlow already owned)$56
2.5Mounting Hardware$33
3Mast Structure$141
4Lift Mechanism$57
5Deck Plates$88
6Computing (Pi + camera already owned)$15
7Arms$200
8Modular End Effectors$75
NEW PURCHASES TOTAL~$764

Savings from existing gear: ~$879 (EcoFlow $649 + Pi $80 + OAK-D $150)

This is why I always recommend taking inventory before buying. That “backup battery” you bought for emergencies might be the perfect robot power plant.


Grey Areas and Open Questions

🔌 Power System (The Biggest Unknown)

The wiring diagram we’re using:

EcoFlow River Max Plus
├── USB-C (100W) ──────→ Raspberry Pi 5 ──→ USB 3.0 → OAK-D Lite (power + data)
├── Car Port (12V) ────→ DC Cable → Fuse → Distribution Board
│                                         ├──→ Buck 6V → Servo Rail
│                                         └──→ Direct 12V → Drive Motors
└── USB-A ─────────────→ (unused / available for accessories)

Grey areas:

  1. Servo power stability: 12 servos (6 per arm) drawing power simultaneously could cause voltage sag. We’re planning a 1000-2200µF capacitor across the servo rail as insurance, but haven’t tested under full load yet.

  2. Drive motor current draw: The 12V/8A car port should be sufficient for 4× motors, but startup current spikes are unknown. May need soft-start logic in software.

  3. Hot-swap behavior: What happens if the EcoFlow goes to sleep during operation? Need to test sleep prevention settings.

  4. Ground loops: With multiple power domains (USB-C for Pi, car port for motors/servos), there’s potential for ground loop noise. Star grounding at the distribution board is the plan.

🏗️ Structural Questions

V-slot rigidity: With 1500mm uprights and only a top cross-brace, will there be visible flex when the arm carriage moves quickly? We may need diagonal bracing or mid-height cross-braces.

Corner bracket strength: The 90° brackets are the critical load path between mast and chassis. Are generic brackets strong enough, or do we need machined steel?

Carriage binding: Gantry plates with V-wheels need careful adjustment. Too loose = wobble. Too tight = binding. This will require tuning.

⚖️ Stability Calculations (Verified But Not Tested)

Our stability calculations show 21° tip angle with full load, but this assumes:

  • EcoFlow centered perfectly
  • Arms retracted or load balanced
  • No acceleration forces

Real-world testing will determine if we need software speed limits or load position constraints.

🔧 Assembly Unknowns

  1. Chassis mounting holes: We assume M5 holes exist where we need them. May need to drill additional holes.

  2. V-slot cutting: The 2020 cross-brace needs to be cut to 320mm. Do we have access to a hacksaw/bandsaw with aluminum blade?

  3. Wiring routing: How do we run cables from the base to the moving carriage without tangling? Drag chain along the mast?


What We’ve Actually Built So Far

As of January 26, 2026:

Already Owned (repurposed for robot):

  • EcoFlow River Max Plus — Storm backup battery → robot power + ballast
  • Raspberry Pi 5 (8GB) — Dev board → robot brain
  • OAK-D Lite Camera — CV experiments → robot vision

Newly Purchased:

  • Chassis acquired — Professional 97mm Mecanum ($99)
  • Mast structure acquired — V-Slot 2040 rails, 2020 cross-brace, gantry plates, hardware (~$141)
  • Arms acquired — 2× SO-ARM101 6-DOF arms ($200)

Next Steps:

  • 🔄 Next purchase — Mounting hardware and power distribution (~$89)
  • Remaining — Lift mechanism, deck plates, servo controllers (~$160)
  • 🔧 End Effectors — Design quick-change mount, 3D print tool rack and gripper set (~$75)

  1. Mast Structure — Can mount to chassis immediately and verify fit
  2. Deck Plates — Order from SendCutSend early (1-2 week lead time)
  3. Power Distribution — Wire up EcoFlow to chassis motors
  4. Lift Mechanism — Install on mast, test travel
  5. Computing — Pi 5 + servo controllers, software bring-up
  6. Arms — Final integration and calibration
  7. End Effectors — Print tool rack, design quick-change adapter, print gripper set

Resources


Next Steps

In follow-up posts, I’ll document:

  • First assembly photos and lessons learned
  • Power system testing results
  • Lift mechanism tuning
  • Software integration with ContinuonBrain

If you’re building something similar, I’d love to hear about your parts choices and what worked/didn’t work. The more data points we have, the better the community documentation becomes.


This post is part of the ContinuonXR series documenting our journey building an open-source embodied AI platform. Follow along on GitHub or subscribe to the blog.