[Haller]
Hardware
§Hardware

Bill of materials

Parts list for a Haller — compute, mobile base, perception, arms, networking, tools.

Still partial. Suppliers, prices, and total cost are TODO — they need to be reconciled against actual purchase records. The line items below are accurate and complete enough to source a build; specific SKUs and CAD links are the remaining gap.

Compute

ItemQtyNotes
NVIDIA Jetson Orin Nano (8 GB dev kit)1Main on-board compute. JetPack 6 / Ubuntu 22.04. The 8 GB variant is required — vision pipeline (YOLOv8n + SegFormer-B0 in TensorRT FP16) won't fit in 4 GB.
microSD card (≥128 GB, A2/U3)1Or NVMe SSD via M.2 if you populate the dev-kit slot.
USB-C power supply (≥45 W)1For bench bring-up before the on-board battery is wired in.
5 V cooling fan0–1Dev-kit ships with one; recommended on if running vision continuously.

Mobile base

Drive

ItemQtyNotes
LK-TECH MF5010 BLDC motor (with built-in controller)2Drive motors. Speak CAN at 1 Mbps. See MF5010 datasheet + CAN protocol manual.
Drive wheels (~100 mm diameter)2Wheel radius 0.05 m, matching motor_params.yaml. Hub geometry must match the MF5010 output.
Passive / caster wheels2Front + rear, freely castering.
CANable2 USB→CAN adapter (slcan firmware)1Becomes /dev/haller_can via udev. USB vendor:product 16d0:117e.
CAN termination resistor (120 Ω)1Across the bus far end. Some MF5010s ship with one built-in — check the datasheet.

Chassis + power

ItemQtyNotes
Chassis plates + motor mounts + fastenersCAD link TODO. Material can be 3 mm aluminium, laser-cut plywood, or 3D-printed for prototypes.
Wheel-separation: 0.34 m (center-to-center)Matches wheel_separation: 0.34 in haller_motor_controller/config/motor_params.yaml. Change one, change the other.
Battery pack (LiFePO4 12.8 V, 8–10 Ah recommended)1Powers the MF5010s. Capacity sizing depends on runtime target; ~5 Ah gives a working hour of light driving.
Battery main fuse (5–10 A)1Inline on the positive lead. Sizing matches your motors' stall current.
Hard E-stop switch (NC, ≥5 A rating)1Inline on the motor power feed. Independent of the HMI's software E-STOP.
12 V → 5 V buck converter (≥3 A)1Feeds the Jetson off the same pack.

Perception

ItemQtyNotes
Slamtec RPLIDAR A1M8 (2D LiDAR)1Becomes /dev/haller_lidar via udev. USB vendor:product 10c4:ea60 (CP2102 bridge).
IMX219 camera module (CSI, e.g. Raspberry Pi Cam v2)1Front-facing perception camera into the Jetson CSI slot. See Vision pipeline / Hardware setup.
USB webcam (wrist)1 per armFor SO-101 dataset collection. Recent UVC-class webcams at 640×480 @ 30 fps work; Logitech C920/C925 are well-tested.
USB webcam (base / overhead)1Same as wrist; sees the workbench in third-person.

Arms (SO-101)

ItemQtyNotes
SO-ARM100 mechanical kit (FDM-printed + fasteners + bearings)2Follower + leader. Source: TheRobotStudio/SO-ARM100, or buy a prebuilt kit (e.g. WowRobo, Robotis).
Feetech STS3215 servos (12 V variant, 1/345 gear ratio)126 per arm. Both Haller arms use the same STS3215 — a deliberate symmetric-hardware choice, not the mixed-gear-ratio leader from the upstream docs. Voltage variant: match the supply — see the warning in the hardware checklist.
Feetech bus servo adapter (Waveshare or equivalent)2One per arm. USB ↔ TTL half-duplex. Vendor:product 1a86:55d3 on the units used in Haller; udev rules also key on the unit's USB serial number.
Servo power supply1–27.4 V bench supply (5 A) for 7.4 V STS3215, or 12 V / 5 A brick for 12 V STS3215. Don't mix variants on the same bus.
3-pin TTL cables (servo daisy-chain)10–125 cables per arm to chain motors 1–6 + the upstream link to the adapter board.
Arm mounting plate (attaches arm to chassis)2CAD link TODO.

Networking + cabling

ItemQtyNotes
Powered USB hub (≥7 ports, ≥2 A per port)1Aggregates: CAN adapter + LiDAR + 2× arm bus adapters + 2–3 webcams. Underpowered hubs cause intermittent device drops — buy with margin.
USB cables (A→B or A→C as needed)6–8One per peripheral. Short (≤1 m) keeps EMC clean.
Wi-Fi (Jetson onboard, or USB dongle)Used in AP fallback mode. Dev kit's onboard radio works as-is.

Tools you'll need

  • Soldering iron + flux + solder (battery harness, fuse holder, E-stop pigtails)
  • M2.5 / M3 hex keys (SO-ARM100 fasteners are mostly M2.5 / M3)
  • Screwdrivers including JIS Phillips (some servo horns)
  • Bench DC supply (≥30 V / ≥5 A) for first power-on before the battery is in the loop
  • Multimeter for continuity + voltage checks on the harness
  • USB OTG/data cable for first JetPack flash from another computer
  • Wire strippers, crimper, heat-shrink, zip ties

Cost ballpark (rough)

A working build comes in around the following — exact figures depend a lot on whether you buy the SO-101 kits prebuilt or print them yourself, and on regional availability:

SubsystemRough cost
Jetson Orin Nano dev kit + SSD/SD$500
Mobile base (motors + CAN + wheels + chassis + battery + harness)$700–900
Perception (LiDAR + CSI cam + 2× USB webcams)$250
Two SO-101 arms (kits + 12 servos + 2 bus adapters + 2 PSUs)$800–1200
Total~$2300–2900

TODO

  • Per-line supplier links + part numbers + lead times.
  • CAD files for chassis plates, motor mounts, arm mounting plates.
  • Photo of an assembled Haller alongside this BOM.
  • Battery sizing guide vs. runtime / drive distance.
  • A "minimum viable Haller" variant (single arm, no LiDAR) for a cheaper first build.

On this page