AIToday
Large Language ModelsRoboticsZenn AI/MLPublished: Nov 15, 2026, 16:00 JST

LEGO Boost 17101 driven by ZCode / Codex in plain language

Send on LINE
LEGO Boost 17101 driven by ZCode / Codex in plain language

3 Key Points

  1. What happened

    A maker rebuilt the discontinued LEGO Boost 17101 into a two-joint arm, converted its 119,544-triangle LDraw model into URDF, and had ZCode / Codex issue motion commands in plain language through pylgbst over BLE.

  2. Why it matters

    The agent never calls motor commands directly; every move must pass through a plan-preview-execute path, and the maker reports that the toy's gearbox makes precise angle targeting difficult.

Not sure about something? Ask the AI

Questions and answers are published on this page.

Summaries like this, every morning.

Context & Analysis

The project started with a BLE connection check using pylgbst, where the maker learned that the Move Hub's LED color does not indicate connection status and that only one process can own the Bluetooth connection. These hardware lessons shaped later design rules, such as using a file lock to enforce a single BLE owner. The arm design went through versions, with the final v4 using the 17101 set's own parts and a counterweight made from tires to keep gears meshed. A key limitation the maker found is that AI agents could not reliably derive weight balance from 3D models, so a human had to adjust the physical build.

The conversion from LDraw to URDF used two constants: 1 LDU equals 0.4 mm, and the Y-up display coordinate was flipped to ROS's Z-up. For the parallel linkage, the maker used mimic joints to represent the motion relationship since URDF only supports tree structures. The planning layer, which the maker calls the best-value investment, runs in a fake mode without ROS or BLE, and collision avoidance uses 2D A* with OBB checks and AABB early rejection. Hardware calibration revealed that the toy gearbox struggles to hit specified angles, with about ±3 degrees of variability, which led the maker to relax tolerance from 1.0 to 2.5 degrees based on measurements.

The AI integration deliberately avoids giving the agent any direct path to the motors. The skill document enforces five rules, including always checking state before moving and reporting only actual measured angles as fact. In a fake-mode test, asking ZCode to rotate the base 10 degrees right triggered a sequence of state check, plan preview, match confirmation, and execution. The maker notes that this no-bypass design works well when the agent is an LLM that interprets rules, and lists remaining tasks such as calibrating the physical arm's speed settings and validating its range and collision shapes.

FAQ
What hardware was used?
The project uses the LEGO Boost 17101 Creative Toolbox, which has two motors and a camera, and is already discontinued. The maker bought it as a Christmas gift in 2020.
How does the AI control the arm?
ZCode or Codex reads a skill document with procedures and safety rules, then calls a CLI that plans, previews, and executes motion through a dedicated service. The agent cannot bypass this path or connect to BLE directly.
What problems came up during calibration?
A step response succeeded once with a -6 degree command measured at -5 degrees. But at speed 0.30 and max_power 0.6, a -4 degree command did not move the arm, and variability was about ±3 degrees.
Send on LINE

AI news that matters for your work, delivered every morning.

Pick your industry and the AI tools you use, and get news related to your work every day.

Free · 30 seconds with Google · unsubscribe anytimeWhat is AIToday? →

Ask AI

Ask AI anything about this article. The AI reads this article, earlier AIToday articles, and Wikipedia, and cites its sources. Q&As are published on this page for other readers too.

Questions and answers are published on this page.

Related Articles

Next articleLlama 3.2 1B on QCS6490: 1,024 tok/s prefill, 16.4 tok/s decode