Espruino developer, general hardware/software tinkerer
tiny-js. Automatically exported from code.google.com/p/tiny-js
579ThinGallery. A single-file web gallery. Uses EXIF thumbnails to quickly display thumbnails for a directory with no server-side code
123svgtoeagle. Online SVG to Eagle CAD converter
92HeartRate. An online heart-rate monitor using getUserMedia
67pebble-banglejs2. Port of PebbleOS to run on Bangle.js2 - currently nonfunctional
38tinycc. Hacked up version of the Tiny C Compiler with basic ARM Thumb output
27EspruinoCompiler. Node.js-based JavaScript->C++ compiler
27workshop-nodeconfeu2019. Bangle.js Workshop for NodeConf EU 2019
19EspruinoSerialTerminal. A Simple Web-Based Serial Terminal for writing Espruino code
12MakeTomatoes. Tomato Waterer Web Bluetooth interface (and JS code)
11SingleFileSlideshow. A single-file slideshow that runs in a web browser and can be used on a Web Server without server-side scripting
10PainRun. 3D 'Death-run' style WebGL game
10XPhotonics_X1_Pro_CNC. Setup and connections to turn the XPhotonics/XLaserLab X1 Pro into a CNC laser cutter.
8Gadgetbridge. 'Bangle.js Gadgetbridge' Android app development. Changed will eventually get pushed back to upstream Gadgetbridge
7heatshrink-js. An Emscripten port of the [heatshrink compression library](https://github.com/atomicobject/heatshrink) to JS
7MQTToBLE. This repo contains a set of tools that you can use to set up a simple, scalable, MQTT over BLE implementation
7RadioReceiver. Using a 433Mhz receiver, audio jack, and a webpage to gather data from wireless sensors
5workshop-thingy52. Web Bluetooth Workshop for Espruino and Nordic Thingy:52
5videomaker.js. A streaming MPEG4 encoder in JavaScript
4WebAISummit. Landing page for Web AI Summit 2025 Bangle.js
3puckmote. A remote control for my TV
2EspruinoHRMTestHarness. Bangle.js Heart rate monitor test harness
2EspruinoScreenWorkshop. Worksheet and files for Espruino workshop '16
2WebThrust. browser-based multiplayer+physics version of Thrust
2tinyMQTT. Stripped out JavaScript MQTT module that does basic PUB/SUB
1awesome-microbit. A curated list of BBC micro:bit resources.
1DfuFlasher. Tool for automatically flashing Nordic DFU devices
1RenderHack. Render conf hack evening sample code
1step-count. Simple step counter test
1gifsicle. Create, manipulate, and optimize GIF images and animations
1web-bluetooth-dfu. Device firmware update with Web Bluetooth
1workshop-nodeconfeu2018. Bluetooth Workshop for Nodeconf EU 2018
1BangleApps. Bangle.js App Loader (and Apps)
1BeatWall. Super hacky Nickelodeon "Hole in the wall" game for Oculus Quest
1glshim. runtime translation from GL 1.x to GL ES 1.x
1CellShader. A tool to let you colour your Google Spreadsheet's cells from an image
1SVGUI. Quick and dirty SVG/HTML User Interface code
1gfwilliams.github.io. JavaScript
1