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.

ESP32 - S3ROS 2MICRO-ROSISAAC LAB

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.

ROBOT MODULElanning-c1-robot-module

Hardware, firmware, and host runtime. Build it, bring it up, run baseline control, capture a debug bundle, and run the guarded deploy smoke path.

ENVIRONMENT MODULElanning-c1-environment-module-isaaclab

The pinned Isaac Lab environment. Train and evaluate in simulation, then export through the declared model path.

COURSE MODULElanning-c1-course-module-build

Guided mechanical, electrical, firmware, and host bring-up — with a verification checkpoint at every step.

COURSE MODULElanning-c1-course-module-sim2real

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.

SEVERITYEXAMPLEFIRST RESPONSE
S1Cannot install or run on the declared supported stack4 business hours
S2Core feature broken, no simple workaround1 business day
S3Non-blocking defect or docs mismatch2 business days
S4Minor clarification or request5 business days

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.

Join the waitlist

Get an email when the C1 bundle is available to buy.