Building the ContinuonXR Physical Robot: A Complete Parts Guide and Lessons Learned
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 ✅
| Item | Source | Price |
|---|---|---|
| Professional 97mm Mecanum Chassis | Amazon 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)
| Item | Source | Price |
|---|---|---|
| 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):
| Item | Purpose | Source | Price |
|---|---|---|---|
| Buck Converter 12V→6V 10A | Servo power | Amazon B07JZ2B9TK | ~$15 |
| DC Barrel Cable | EcoFlow car port | Amazon B07C61434H | ~$8 |
| Power Distribution Board | Clean wiring hub | Amazon B08P1JZSLV | ~$10 |
| Fuse Holder + 15A Fuse | Safety | Amazon B07PNLQ2Y9 | ~$6 |
| XT60 Connectors (5 pairs) | Secure connections | Amazon B07VRZR5TL | ~$9 |
| USB-C PD Trigger Board | Optional cleaner Pi power | Amazon 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
| Item | Purpose | Source | Price |
|---|---|---|---|
| 3M Dual Lock (1”×10ft) | EcoFlow adhesion | Amazon B07D2M6Z21 | ~$10 |
| Ratchet Strap (1”×6ft) | EcoFlow retention | Amazon B07TVRXQPF | ~$8 |
| 90° Corner Brackets (4pk) | V-slot to chassis | Search “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.
| Item | Qty | Source | Price |
|---|---|---|---|
| V-Slot 2040 Rails 1500mm | 2 | FAHKNS 5-pack Amazon B0CF9TXKJ3 | ~$70 |
| V-Slot 2020 Rail 500mm | 1 | Search “2020 v-slot 500mm” | ~$12 |
| Gantry Plate Kit (×2) | 2 | Amazon B08L39S8QB | ~$24 |
| M5 T-Nuts (50pk) | 1 | Search “M5 t-nut v-slot” | ~$8 |
| M5 Screws Assortment | 1 | Amazon B08P4PK77V | ~$12 |
| 90° Corner Brackets | 4 | (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:
| Item | Source | Price |
|---|---|---|
| NEMA17 High-Torque Stepper (2.5A) | Amazon B00PNEQI7W | ~$18 |
| GT2 Timing Belt 6mm × 5m | Amazon B07GFYLJP8 | ~$8 |
| GT2 20T Pulleys (5pk) | Amazon B07VPB54VN | ~$8 |
| GT2 Idler Pulleys (2pk) | Amazon B07GCX7T5B | ~$6 |
| TMC2209 Stepper Driver | Amazon 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
| Item | Qty | Source | Price |
|---|---|---|---|
| Deck plates 300×220×3mm | 3 | SendCutSend (5052 Aluminum) | ~$45 |
| Carriage plate 200×140×5mm | 1 | SendCutSend (5052 Aluminum) | ~$12 |
| M5 Standoffs assorted | 20 | Amazon | ~$10 |
| M5 screws + nuts | 50 | Amazon | ~$6 |
| Storage bins (4pk) | 1 | Amazon B07DFDS56F | ~$18 |
SendCutSend ordering:
- Upload SVG/DXF file
- Material: 5052 Aluminum
- Thickness: 3mm (decks) or 5mm (carriage)
- Turnaround: ~1-2 weeks
Phase 6: Computing — ~$15 (most already owned)
| Item | Source | Price |
|---|---|---|
| Raspberry Pi 5 (8GB) | Already owned | $0 |
| OAK-D Lite Camera | Already 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
| Item | Qty | Source | Price |
|---|---|---|---|
| SO-ARM101 6-DOF Arm | 2 | Various (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
| Type | Best For | Source | Est. Cost |
|---|---|---|---|
| 2-Finger Parallel | General gripping | Included with SO-ARM101 | $0 |
| 3-Finger Adaptive | Round objects, bottles | Thingiverse + 1 servo | ~$15 |
| Vacuum Suction | Flat items, paper, fabric | Mini pump + suction cups | ~$20 |
| Soft Gripper | Delicate/irregular shapes | 3D print + balloon | ~$10 |
| Magnetic | Metal parts, tools | Electromagnet module | ~$15 |
| Hook/Claw | Bags, handles, pulling | 3D 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:
- Arm moves current gripper to empty slot
- Rotates wrist to disengage (twist-lock) or pulls away (magnetic)
- Moves to new gripper slot
- Engages and locks
Open-Source Gripper Resources
- SimpleGripper — Instructables — 2DOF parallel gripper, well documented
- SO-ARM101 GitHub — horndeer/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
| Factor | 4 Arms | Modular Grippers |
|---|---|---|
| Cost | +$200 | +$50-100 |
| Weight | +1.5kg on carriage | Minimal |
| Power draw | +12 servos | Same |
| Software complexity | Exponential | Linear |
| Versatility | Same grip type x4 | Many grip types |
| Failure recovery | Complex | Swap 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
| Phase | Description | Cost |
|---|---|---|
| 1 | Chassis | $99 |
| 2 | Power (EcoFlow + distribution) | $705 |
| 2.5 | Mounting Hardware | $33 |
| 3 | Mast Structure | $141 |
| 4 | Lift Mechanism | $57 |
| 5 | Deck Plates | $88 |
| 6 | Computing | $245 |
| 7 | Arms | $200 |
| 8 | Modular End Effectors | $75 |
| TOTAL | ~$1,643 |
My Actual New Purchases (Using Existing Gear)
| Phase | Description | Cost |
|---|---|---|
| 1 | Chassis | $99 |
| 2 | Power distribution (EcoFlow already owned) | $56 |
| 2.5 | Mounting Hardware | $33 |
| 3 | Mast Structure | $141 |
| 4 | Lift Mechanism | $57 |
| 5 | Deck Plates | $88 |
| 6 | Computing (Pi + camera already owned) | $15 |
| 7 | Arms | $200 |
| 8 | Modular 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:
-
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.
-
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.
-
Hot-swap behavior: What happens if the EcoFlow goes to sleep during operation? Need to test sleep prevention settings.
-
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
-
Chassis mounting holes: We assume M5 holes exist where we need them. May need to drill additional holes.
-
V-slot cutting: The 2020 cross-brace needs to be cut to 320mm. Do we have access to a hacksaw/bandsaw with aluminum blade?
-
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)
Recommended Build Order
- Mast Structure — Can mount to chassis immediately and verify fit
- Deck Plates — Order from SendCutSend early (1-2 week lead time)
- Power Distribution — Wire up EcoFlow to chassis motors
- Lift Mechanism — Install on mast, test travel
- Computing — Pi 5 + servo controllers, software bring-up
- Arms — Final integration and calibration
- 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.