Implementing the Oxocard for WebTigerPython
Description #
My bachelor’s thesis, written with the ABZ group at ETH Zürich.
WebTigerPython is a browser-based Python environment used in Swiss schools: no install, no toolchain, just a tab. The Oxocard is a small microcontroller with a display and sensors, designed for teaching. Bringing the two together means a student can write Python in the browser and watch it run on hardware in front of them — which is a different kind of lesson from printing to a console.
The hard part is that a browser tab cannot talk to a USB device the way a desktop IDE does. The integration routes code and results over MQTT instead: the platform publishes the program to the device, the device executes it and publishes sensor readings and output back, so the browser stays a thin client and no local installation is required. The front-end work — editor integration, device pairing, live output — was built in Vue.js and TypeScript alongside the existing platform.
Since it is aimed at classrooms, a good deal of the thesis went on the failure modes: what happens when a device drops off mid-program, how errors on the hardware surface back in the editor, and keeping the whole thing usable without a teacher having to debug the network.