Lanning C1
Complete firmware, ROS 2 nodes, configs and docs for a cartpole teaching robot.
Designed as a reference stack for how Robot Workshop packs are built and shipped.
WHY THIS BUNDLE
One pinned path, not a pile of repos
Every step is versioned, scripted, and verified: pinned dependencies, a declared compatibility matrix, and release evidence you can check yourself.
Build it from a real, measured design
CAD, BOM, wiring diagram, pin map, power budget, and calibration procedures — for a cart-pole whose physics were measured on the bench, not assumed.
Train in sim, deploy through a safety envelope
The pinned Isaac Lab environment and export pipeline feed an ONNX policy that runs on the real robot behind clipping, rate limits, soft limits, and fault handling.
Get support that can reproduce your failure
Every install ships the Arqen run-bundle capture path, so a support request carries telemetry instead of guesswork.
WHAT'S INCLUDED
Four typed products, one bundle
Each included product keeps its own canonical identity. The bundle is packaging over them, not a replacement.
Hardware, firmware, and host runtime. Build it, bring it up, run baseline control, capture a debug bundle, and run the guarded deploy smoke path.
The pinned Isaac Lab environment. Train and evaluate in simulation, then export through the declared model path.
Guided mechanical, electrical, firmware, and host bring-up — with a verification checkpoint at every step.
Policy export, observation/action mapping, calibration checks, and real-hardware smoke validation.
SPECIFICATIONS
Measured on the bench, not estimated
Moving mass was weighed on 2026-07-02. The motion envelope comes from a bench-calibrated pole-friction measurement, not a datasheet.
Mechanics (measured)
- Rail / usable travel
- 400 mm
- Pole length
- 155 mm
- Moving mass
- 74.69 g
- Transmission
- 12T pulley · 2 mm belt
- Envelope
- Rail and pole adjustable
Motion envelope (characterized)
- Max velocity
- 0.40 m/s
- Max acceleration
- 15 m/s²
- Max jerk
- 900 m/s³
- Soft limit
- ±150 mm
Electronics
- Controller
- ESP32-S3 Supermini
- Stepper driver
- TMC2209 (UART)
- Motor
- NEMA 8 · 8HS11-0204S
- Encoder
- AS5047P (SPI)
- Current sensor
- INA219 (I²C)
Firmware / control loop
- State publish rate
- 450 Hz
- Watchdog
- 40 ms
- Overcurrent cutoff
- 1800 mA
- Undervoltage cutoff
- 18 V
- Transport
- micro-ROS / USB-CDC
COMPATIBILITY
Three axes, declared at launch
Hardware revision, firmware revision, and product release version are declared together at launch. Outside the declared matrix, standard support will not apply.
HARDWARE REV
H1.0
Mechanical + electronics bill
FIRMWARE REV
F0.1.x
MCU behavior and interfaces
PRODUCT RELEASE
v1.0.0 (planned)
Docs, runtime, sim env, export path
- Supported host stack
- Ubuntu 24.04 LTS · ROS 2 Jazzy · CPU baseline
- Supported controller
- ESP32-S3 over USB-CDC
- Simulation / training
- Isaac Lab · PPO · ONNX export
RELEASE INTEGRITY
Signed, checksummed, immutable — from the first release
No release is published yet. When C1 ships, every public release will carry the evidence needed to verify exactly what you bought — and fixes will arrive as new versions, never in-place edits.
manifest.yaml + checksums
Every artifact hashed.
manifest.sig
Robot Workshop public signature.
compatibility-matrix.md
HW / FW / release, declared.
release-notes.md
Including known issues.
Run artifacts
Evidence the marketed path ran.
Clean-machine quickstart
Verified from scratch.
SUPPORT
Support that starts from evidence
At launch, intake will require a canonical Arqen run bundle plus your product ID, release version, and hardware revision — so a failure can be reproduced, not guessed at.
Support begins when C1 ships. Standard support will be included and best-effort within published business hours; priority support will be available as a paid tier. Warranty will cover conformance to declared behavior on the declared compatibility matrix.
BEFORE YOU JOIN
What this is — and what it is not
This is a digital product. You build the hardware.
The bundle gives you CAD, a BOM, wiring diagrams, and calibration procedures. It does not ship you parts — no C1 hardware SKU exists.
You supply an external DC power supply.
The motor rail runs from an external PSU (18 V undervoltage cutoff); logic runs off USB-C. There is no onboard battery, BMS, or charger.
Support is bounded by the compatibility matrix.
Unsupported OS / ROS / Isaac Lab versions, undocumented hardware substitutions, and heavily modified forks are out of scope without a separate paid support agreement.
Control quality is evidence-limited.
The C1 specification is a draft and does not claim production-ready control. What is claimed here is reproducibility, not performance.