aka. RGB Lanyard
A wearable embedded system that executes bytecode on a custom virtual machine (using an ESP32 or designated MCU) to render real-time LED animations on a LED strip or matrix.
Toolchain: video/animation input -> Parser -> bytecode -> VM execution -> hardware output. It includes an SDL-based simulator for debugging before deployment.
Full assembly running rainbow_trail.bin in Example Binaries.
This project implements a custom virtual machine running on an ESP32 to execute animation bytecode in real time. The Parser converts video or animations into bytecode. The bytecode can be executed either:
- on hardware (ESP32 or any MCU driving WS2812B LEDs)
- in a desktop SDL simulator for debugging and preview
- Assembly Guide - Hardware assembly instructions with pictures
- Example Binaries - Prebuilt bytecode samples for testing
-
Parser
Converts video input and animations into bytecode for execution on the microcontroller. -
Display Test
SDL-based simulator for executing and visualizing bytecode before deployment to hardware. -
Firmware
Microcontroller firmware implements a custom virtual machine that executes bytecode and generates a precisely-timed data stream to drive WS2812B LEDs using a single-wire serial protocol. -
App
Android application used to control the microcontroller remotely over bluetooth. -
Wiring schematic Wiring schematic for the Lanyard.
-
KiCad Wiring schematic Schematic in KiCad
-
Virtual machine Virtual Machine I made and used in the MCU.
