Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

LanLight

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.

Demo

Demo

Full assembly running rainbow_trail.bin in Example Binaries.

Overview

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

Documentation

Components

  • 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.

About

A wearable embedded system with a custom, real-time virtual machine for fast LED animation and control on a ESP32 and other MCUs.

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages