← Back to the catalog

Maker Lab

A maker lab game where block programming exports Arduino code that really works.

Open the project

TypeApp
Date2026-07
StatusIn development
FieldEducation, Digital fabrication
Built withCodex and Claude Code
Maker Lab

A web game set in a school maker lab: the student collects materials, fabricates parts, sets up workstations and programs hardware with blocks. What sets it apart from any block programming game is that the code those blocks produce is real Arduino, ready to load onto a microcontroller. The bridge between the game and the physical workshop is the whole point. Thirteen knowledge nodes, five stations, twenty-three fabrication recipes and five prototypes as goals.

The Arduino code generator is written by hand. Libraries that do this already exist, but they are all abandoned: the best known has not been touched since 2018 and another does not even have a clear license. Rewriting it was cheaper than inheriting a problem.

And the game does not stop at collecting and fabricating: studying a node brings up a real hands-on challenge. The first one asks you to build a circuit (battery, resistor, LED, return to ground) in the right order and only then program it. In other words, the electronics mistake is made on screen before it is made with real components, which is exactly what a simulator is for in a classroom.

The programming workshop is not decorative: the blocks run against an ESP32 simulated on screen (with its real pins, GPIO2 and the rest) and the same program can be viewed as Arduino code or downloaded as an .ino file to load onto a physical board. That is the complete bridge, from block to board, without leaving the browser.

The most unusual thing about the project is not the game, it is how it is verified. There are two generative tests: a solver that goes through the entire progression tree and detects unreachable content or circular dependencies before anyone plays, and a bot that plays the full game against the game's real logic. It was checked by deliberately breaking an unlock. The energy system and game saving are still missing: today progress is lost on reload, which in a classroom is fatal.

Log

  1. 2026-07-29UncoveredIt had been deployed for days, but behind the hosting login: the URL existed and nobody could open it. Deployment protection is turned off and the game becomes accessible. It did not need publishing, it needed uncovering.
  2. 2026-07-21Tests that play by themselvesThe reachability solver for the content tree and the bot that plays an entire game against the real logic. Verified by mutation: deliberately breaking an unlock makes the tests fail.
  3. 2026-07-19Our own Arduino generatorExisting block-to-Arduino libraries are ruled out, all of them unmaintained, and the generator is written from scratch.
  4. 2026-07-19The project startsThe game economy is defined: 13 knowledge nodes, 5 stations, 23 recipes, 5 target prototypes.

Screens

The lab: collecting, stations and a 13-node STEAM tree.
The lab: collecting, stations and a 13-node STEAM tree.
The programming workshop with the simulated ESP32 and the .ino file download.
The programming workshop with the simulated ESP32 and the .ino file download.
Advanced game: inventory, a fabricated part and the challenge of building the circuit.
Advanced game: inventory, a fabricated part and the challenge of building the circuit.

Tags

AppEducationDigital fabricationReactBlocklyArduinoBuilt with AICodexClaude Code