Volcanic LED strip landscape

Motion-Powered LED Gaming

FEEL THE HEAT.
CONTROL THE LIGHT.

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

EVERYTHING YOU NEED
TO PLAY YOUR LIGHTS

📱

Motion Control

Tilt your phone to move left or right. Your device becomes the joystick — no extra hardware needed on the player side.

⚔️

Attack System

Tap or shake to unleash a powerful wobble attack that sweeps the LED strip and destroys enemies in its path.

Low Latency BLE

Optimized Bluetooth Low Energy connection at 40 Hz delivers real-time, lag-free gameplay over NimBLE GATT.

🎨

Customizable

Adjust sensitivity, effects, LED brightness, lives per level, and ambient light modes to fit your style and space.

👥

Up to 4 Players

Each phone gets a stable color slot. Team score up front, personal skill still visible. Late joiners wait for a safe level boundary.

🛠️

Level Builder

Design on the same 1000-unit virtual line used by the firmware. Export C++ snippets or markdown recipes.

Tilt to move, shake to attack

How It Works

FROM PAIRING
TO PLAY

01

Pair

Power on your ESP32. Open LavaCore, scan for your controller, and bind it to your phone over BLE.

02

Calibrate

Hold your phone flat — set neutral posture once. Then tilt left/right to move and shake to attack.

03

Play

Share the LED strip with up to 3 friends and race through lava, enemies, conveyors, and bosses.

04

Tune

Adjust lives, brightness, sensitivity, and ambient modes. Build your own levels and flash new firmware.

Works With Your Hardware

ANY ESP32.
ANY STRIP.

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.

ESP32

Any ESP32-WROOM-32 dev board. The original TWANG32 hardware works out of the box.

WLED

WLED-compatible boards and shields. If you have WLED hardware, you already have what you need.

WS2812B

Any addressable LED strip compatible with FastLED — WS2812B, APA102C, SK6812, and more.

FastLED

The firmware runs on top of FastLED on core 0, with the game loop on core 1 for maximum performance.

ESP32, WLED, and LED strip hardware
Four-player cooperative gameplay

Multiplayer

TEAM SCORE UP FRONT.
PERSONAL SKILL VISIBLE.

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

THE ORIGIN STORY

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.

TWANG to TWANG32 to LavaCore evolution

2017

Line Wobbler → TWANG

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

TWANG → TWANG32

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

TWANG32 → LavaCore

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

GET THE
FIRMWARE

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.

Works with ESP32-WROOM-32 dev boards
WS2812B on GPIO 16, optional MPU6050
Flash via USB — pio run -t upload
MIT Licensed — fork, modify, and build
Flashing the ESP32 firmware
Join the LavaCore closed beta community

Closed Testing

JOIN THE
BETA

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

INSTALL ON
YOUR PHONE

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.

  1. Open web.lavacore.app in Chrome or Edge.
  2. Tap the browser menu (⋮) → Install app or Add to Home screen.
  3. Launch LavaCore from your home screen, pair with Web Bluetooth, and play.

Craft Your Levels

LEVEL
BUILDER

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 →
Level Builder interface