Under the hood

What the software actually does

The detail behind the blocks. None of it is something a student needs to understand before starting.

Blocks and Python, both ways

Snap blocks together and the app writes the Python underneath. Type Python and it reads back into blocks — using Python’s own parser, so anything valid is understood. If there is no block for a line, the line is kept as it was rather than thrown away.

The file on the right is what the app produced for the stack on the left. It runs on the app’s own game engine.

Hardware

A real board, and the game it talks to

Device code runs on a Raspberry Pi Pico. The student’s program goes onto the board as a file called code.py, and the board runs that file whenever it has power — plugged in or not.

While it is plugged in, the board and the game share variables over the same cable. Any variable the board’s program uses is kept in step in both directions as it changes: a dial on GP26 sets dial on the board, the game reads dial to place its paddle, and turning the knob moves the paddle. The student wrote both halves.

Plugging a board in does that by itself. A portable Python ships inside the app; nothing to install first.

🤖 Robot game ▶ USB code.py saved on the board RP2040 USB BOOTSEL LED GP26 GP15 GND dial LED on GP15 dial = 512 dial = 512 same number, both ends, live
AI blocks

Real computer vision, as blocks

The camera blocks are the same AI tools that sit inside real products. OpenCV reads the webcam a frame at a time. MediaPipe finds a hand in the frame and marks 21 points on it — wrist, knuckles, fingertips — or finds a face. The app turns those points into blocks: how many fingers are up, how far apart two fingertips are, whether the hand is still there, whether the face is one it has been shown before.

Students steer a game by waving at it, count on their fingers, have the game greet whoever sat down — and learn what OpenCV and MediaPipe are and what they do, by using them. It all runs on the laptop. Nothing is uploaded.

OpenCV and MediaPipe are open-source projects made by other people. We bundle them and wrap them in blocks; we did not write them, and neither project is affiliated with us.

Simulated wiring

Simulated wiring diagrams

Kids plan the whole circuit on screen and run their code against it before touching a wire. Mistakes show up on the workbench, not in a robot that won’t switch on.

Press Simulate and it works out which parts are powered and which are grounded. An LED in backwards stays dark, because polarity is real. An LED on 5 V with no resistor burns — on screen, not on the desk.

Simulating circuit
The path

Multiple paths, at their own pace

No fixed curriculum like a regular classroom. Kids choose which projects to take on and when, while still being guided towards harder and more challenging builds — unlocking points and new components as they go.

LEVEL 1 LEVEL 2 LEVEL 3 LEVEL 4 ✓ Blinking One Light B ✓ Blinking Multiple Lights B ✓ Blinking Lights With a Switch B ▶ Potentiometer B 🔒 Distance Sensor B 🔒 Utilizing a Screen B S 🔒 Proximity Sensor B
  • Finished
  • Ready to start
  • Still locked
Built in house

We wrote it, so we can change it

The app our students learn on is built, supported and distributed by us. No licence, no vendor, no waiting on someone else’s roadmap.

That matters in a practical way. When a block confuses three kids on the same afternoon, the instructor who watched it happen is the person who fixes it, and the fix is in the next weekly update — along with whatever new project the class is ready for.

In class a block confuses three kids Noted that day by the instructor who saw it Fixed & shipped in the next weekly update every week nobody else in the loop
Next

Come and see it working

The quickest way to understand any of this is to watch a child do it. The first lesson is free.

TMLab

© 2026 Tiny Machines Lab