Hardware Notes
Compute and platform decisions, with the reasoning kept alongside each one โ shared infrastructure, not scoped to one project
Referenced by the robot arm work (Stage 1, closed / Stage 2, active) and by other projects using the same home server and ML desktop.
Current state: all four major decisions below are settled and acted on; the only open item is validating training throughput on the new ML desktop.
| Decision | Status |
|---|---|
| Pi 4 (1GB) role โ record/train elsewhere, infer/teleop locally | โ Confirmed by testing |
| Pi 5 M.2 slot โ NVMe SSD, not AI accelerator | โ Decided |
| New ML desktop โ CSL Sprint 5753, RTX 5060 Ti 16GB | โ Ordered, set up, working |
| 10" touchscreen โ reserved, not yet assigned | ๐ Held for Phase 4/5 |
On the Pi 4 (1GB) โ is it enough?
For teleoperation and inference, yes. For recording, no โ this was tested and corrected mid-project. Don't worry about not getting the 2GB model โ even 2GB wouldn't be enough to train imitation-learning/VLA policies at reasonable speed; that kind of training really wants a machine with a GPU. The practical split, confirmed by actual testing rather than assumed upfront:
- Pi 4 (1GB) is fine for: running the Voice/Vision Kit software, driving the arm via LeRobot's control/teleoperation scripts, and running already-trained lightweight policies for inference.
- Recording demonstration datasets should not happen on the Pi 4 (1GB): testing showed
lerobot-recordhit a real ~4-6Hz ceiling against a 30Hz target when running arm control, camera capture, and real-time video encoding together โ a genuine hardware limit, not a tuning problem. See the Mac migration log for the full diagnosis. - Training (Phase 6) should happen elsewhere: a laptop with a decent GPU, or a rented cloud GPU session. Record data off the Pi (a Mac with MPS acceleration proved effective), transfer the dataset if needed, train off-device, then deploy the resulting model back to the Pi for inference.
This is standard practice in the LeRobot ecosystem โ the low-power board is the "body" running the final model, not the machine collecting data or doing the heavy training. The 1GB Pi 4 remains a fine choice for its actual role; recording and training were always going to need more capable hardware.
On the PCIe M.2 HAT (Pi 5) โ SSD vs. AI accelerator, researched and decided
Investigated whether an M.2 AI accelerator (e.g. Hailo-8L) could enable on-device SmolVLA inference on the Pi 5, as an alternative to the Mac-tethered setup in the SmolVLA extension plan.
Finding: Hailo's toolchain (Dataflow Compiler, Model Zoo) is built and proven for CNN-based vision models (YOLO, classification, segmentation). Community reports (e.g. attempts to deploy DINOv2/v3, a Vision Transformer) describe the compiler lacking support for certain transformer-internal layers. No evidence found of a successful VLA model deployment on Hailo hardware. SmolVLA's transformer/attention-based architecture falls much closer to the "documented trouble" category (ViT-like) than to Hailo's proven CNN use case.
Decision: skip the AI accelerator for this purpose โ the engineering risk (undocumented, likely-unsupported operators) isn't worth it for this project's scale. Use the M.2 slot for an NVMe SSD instead โ safe, immediately useful for dataset/model storage and swap headroom on the Pi 5's 4GB RAM, no research risk. Revisit the accelerator question only if Hailo's transformer support meaningfully matures, or for a separate, genuinely CNN-shaped task (e.g. real object detection for Phase 4).
New PC ordered โ CSL Sprint 5753 (custom config)
Ordered to unblock SmolVLA training (and general heavier local compute going forward) โ the Mac's GPU/memory setup wasn't viable for training a VLA-scale model at reasonable speed.
Configuration ordered (CSL Sprint 5753, custom build), โฌ1,818.50:
| Component | Spec |
|---|---|
| Case | CSL Ventrix, black, aRGB, mesh side panel |
| CPU | AMD Ryzen 9 9900X, 12ร4400 MHz |
| CPU cooler | be quiet! Pure Rock 3 Black, max. 190W TDP |
| GPU | MSI GeForce RTX 5060 Ti (Shadow 2X OC), 16 GB GDDR7 |
| RAM | 32 GB DDR5, dual channel (2ร16 GB), 6000 MHz |
| Motherboard | ASUS PRIME B840M-A WIFI |
| Storage | 1 TB WD Black SN7100 M.2 PCIe 4.0 SSD (~7250/6900 MB/s R/W) |
| PSU | 700W BoostBoxx Power Boost, 80+ Gold |
| Networking | Onboard Wi-Fi 6E + Bluetooth 5.3 (Intel AX210), onboard LAN |
| OS | None included โ to be installed |
Reasoning behind the config:
- VRAM range established empirically first, not guessed: ran test workloads on RunPod against rented A4000 and RTX 3090 instances to find the actual working range for this task, before pricing any hardware. Settled on a 16โ24 GB VRAM window as the requirement.
- GPU sourcing: first choice was a used RTX 3090 (sits in the target VRAM range) โ but used units were running ~โฌ2500, out of budget. Pivoted to a new system with a reasonable total price under โฌ2000, landing on the RTX 5060 Ti 16GB as the in-budget option that still clears the empirically-set VRAM floor.
- Local box vs. cloud split, decided deliberately, not a fallback: this machine is for local testing/iteration; heavier training runs stay on rented cloud compute (RunPod) as needed.
- CPU and RAM sequencing: GPU was fixed first as the binding constraint, then CPU (Ryzen 9 9900X) and RAM (32GB/6000MHz) upgraded as reasonable-cost additions within remaining budget.
- Storage split, deliberate: the 1TB M.2 NVMe is for everyday/active-project use only. An old HDD will be added for local bulk storage, with archival data ultimately living on the home server.
- OS: Linux, matching the native OS already used for the robotics stack.
Open items:
- โ
Linux install + environment setupโ Ubuntu 26.04 LTS, Nvidia driver 595.84, CUDA 13.2 confirmed vianvidia-smi, Python 3.14.4, git, VS Code, GitHub SSH access all working. Full write-up: New ML Desktop โ Setup Summary. - โ
Add old HDD for local storage; confirm home-server archival pathโ 2ร 1TB Seagate HDDs added (repurposed from spare stock), plus the home server itself got a proper dedicated role and storage plan: Home Server โ Setup Summary & Storage Plan. - โ Validate actual training throughput on this GPU/RAM combo before resuming the SmolVLA plan in earnest
On the 10" touchscreen (currently idle on the Pi 3)
Worth keeping in reserve โ good candidate uses once further along:
- A live dashboard Pi (showing Vision Kit's camera feed + detections during arm demos)
- A simple GUI for triggering pre-recorded voice/arm actions without needing to actually speak, useful for debugging
- Monitoring output for whichever Pi ends up as the "brain" coordinating the other two
Not needed for Phases 1โ3, but there's no reason to buy a second display when this one's sitting idle โ repurpose it once Phase 4 or 5 is reached.