Motion Control
Tilt your phone to move left or right. Your device becomes the joystick — no extra hardware needed on the player side.
Motion-Powered LED Gaming
Turn your phone into a motion controller for LED strip games. Tilt to move. Strike to attack. Score together across up to four players.
Key Features
Tilt your phone to move left or right. Your device becomes the joystick — no extra hardware needed on the player side.
Tap or shake to unleash a powerful wobble attack that sweeps the LED strip and destroys enemies in its path.
Optimized Bluetooth Low Energy connection at 40 Hz delivers real-time, lag-free gameplay over NimBLE GATT.
Adjust sensitivity, effects, LED brightness, lives per level, and ambient light modes to fit your style and space.
Each phone gets a stable color slot. Team score up front, personal skill still visible. Late joiners wait for a safe level boundary.
Design on the same 1000-unit virtual line used by the firmware. Export C++ snippets or markdown recipes.
How It Works
Power on your ESP32. Open LavaCore, scan for your controller, and bind it to your phone over BLE.
Hold your phone flat — set neutral posture once. Then tilt left/right to move and shake to attack.
Share the LED strip with up to 3 friends and race through lava, enemies, conveyors, and bosses.
Adjust lives, brightness, sensitivity, and ambient modes. Build your own levels and flash new firmware.
Works With Your Hardware
Got an old TWANG32 controller? A WLED board or shield? Any ESP32 with addressable LEDs? Flash the LavaCore firmware and you're ready to play — no new hardware required.
Any ESP32-WROOM-32 dev board. The original TWANG32 hardware works out of the box.
WLED-compatible boards and shields. If you have WLED hardware, you already have what you need.
Any addressable LED strip compatible with FastLED — WS2812B, APA102C, SK6812, and more.
The firmware runs on top of FastLED on core 0, with the game loop on core 1 for maximum performance.
Multiplayer
The firmware keeps per-slot scores. The app derives a team score from telemetry, records both values, and keeps the leaderboard fair for single-player and multiplayer runs alike.
Stable color slots — each phone gets assigned a persistent player color on connection.
Safe late join — new players wait for the next level boundary instead of spawning into danger.
Combo tracking — personal contribution, lives, and combo multiplier shown per player.
Standing on the Shoulders of Makers
LavaCore didn't appear from nowhere. It's the latest chapter in a lineage of brilliant open-source makers who turned a spring doorstop and a strip of LEDs into a game that captivated the maker community.
2017
by Robin B & Critters
The original 1D LED dungeon crawler — an Arduino Mega, a spring doorstop as joystick, an MPU6050 accelerometer, and a strip of addressable LEDs. A beautifully simple idea.
View on GitHub →2018
by Bart Dring (bdring)
ESP32 port — lower cost, faster processor, more memory, DAC sound, WiFi settings panel. Ready-to-play kits on Tindie. The firmware that made the game accessible to makers worldwide.
View on GitHub →2024–26
by LavaCore Team
Full rewrite — NimBLE BLE phone controller replacing the physical joystick, Flutter mobile app, 4-player co-op, PlatformIO modular firmware, level builder, WLED compatibility. The dungeon crawler evolved into a party game.
LavaCore is built under the MIT License, just like the original TWANG and TWANG32. We honour the open-source spirit and encourage you to fork, modify, and build on top of this work. Special thanks to Robin B, Critters, and Bart Dring (bdring) for starting it all.
Flash Your Board
The LavaCore firmware is a complete PlatformIO rewrite of TWANG32 — NimBLE BLE, dual-core RTOS, NVS settings, input abstraction, and a mode manager that's ready for future game modes.
pio run -t upload
Closed Testing
We're building toward a Google Play release. Sign up for closed testing to get early access to the native Android app, provide feedback, and help shape the future of LavaCore.
Already have hardware? The web app at web.lavacore.app works right now on Android Chrome/Edge with Web Bluetooth — no install needed.
We'll only email you about beta access. No spam, ever.
Web App
Web Bluetooth pairing works best on Chrome or Edge for Android over HTTPS. iOS Safari does not expose Web Bluetooth — use the native Android app when it launches on Google Play.
Don't want to wait? The level builder and web app work right now. Install as a PWA for the full experience.
Craft Your Levels
Design levels on the same 1000-unit virtual line the firmware uses. Place enemies, lava, conveyors, spawners, and bosses — then export a C++ snippet you can paste straight into the firmware or a markdown recipe for planning.
Open Level Builder →