Educational robotics & embedded

StemBot

robot programmed from a browser, with no compiler or agent to install

The need

BotlyStudio, the programming workshop for the Botly drawing robot, was born at the La Machinerie fablab in Amiens. I was one of its authors. It was later abandoned: an ageing block library and, above all, a local agent to install on every computer to compile and upload. In a school computer room, that is often where the lesson stops.

The need was easy to state: a teacher should be able to have a class program a robot with nothing but a browser, and the site should be cheap to host.

What I built

StemBot Studio, an open-source successor to BotlyStudio, entirely rewritten. The Botly blocks were kept, and old project files still open as they are.

  • A block-based workshop that produces readable code (C++ or MicroPython), shown next to the blocks.
  • A true-scale simulator: a 100 mm square on screen is 100 mm on the paper. It lets students work without a robot.
  • Two robots, two links: the Botly over a USB cable, the ESPbot wirelessly over Bluetooth.
  • Exercise courses checked automatically, stroke by stroke, and an editor so teachers can write their own.
  • Other activities on the same foundation: a number factory for arithmetic, a Python dungeon for algorithms, tile boards for a line-following robot.
  • Accounts, teacher / student classes and project sharing.

How it works

The key decision is on the embedded side. Instead of compiling every program, which requires a toolchain a browser cannot carry, I wrote a small interpreter that runs on the robot. The studio sends it a compact list of instructions, which the robot stores and replays even after being unplugged. Jumps are checked before they are stored: cheap to verify in the browser, impossible to fix once the motors are running.

For the ESPbot, the studio speaks Bluetooth directly from the tab. Pairing by light signal lets twelve identical boards in the same room each find their student.

Code generation, simulation and upload all happen in the browser. The server only handles accounts and projects: it runs on shared hosting, and the workshop keeps working if the server stops responding.

What it changes

  • Nothing to install on the classroom computers.
  • A workshop is possible with four robots for thirty students: the others work on the simulator with the same exercises, then they rotate.
  • A new robot is added with a simple description, without touching the rest of the code.
  • The ESPbot link is checked by automated tests without hardware, the studio's real client against a simulated board.

Technologies

Blockly, framework-free JavaScript, Web Serial and Web Bluetooth, PHP 8 and MySQL, Arduino (AVR) and MicroPython (ESP32-C3) firmware; open-source code under the Apache 2.0 licence.

Book a call

Thirty minutes, free, no commitment. If I am not the right person, I tell you before the call ends.

Book a call