LightButtonBox is a customizable button box interface designed for sim racing, and other control setups. It supports both keyboard and joystick (vJoy) modes, allowing you to map physical buttons and pedals directly to your PC.
- Ultra-low latency input (via serial over USB)
- Two input modes:
- Keyboard Mode: Emulate real key presses
- Joystick Mode (vJoy): Emulate joystick buttons and analog axes (e.g., throttle, brake, clutch)
- Clean GUI:
- Serial port connection
- Input mode selector (keyboard or joystick)
- Developer terminal for debugging
- Pedal support using ADC for analog input (throttle, brake, clutch)
- Auto-saving of button and mode settings
-
Download the
.exefile from the Releases
(No need to install Python or other dependencies) -
Run the app
(Allow driver permissions if needed) -
Connect your microcontroller (e.g., ESP32)
- Select your preferred input mode (recommended: Joystick)
- Press Connect — you're ready to map and use buttons
The app can work with any microcontroller, not just ESP32, as long as it sends the following format over the serial port:
- Button press/release:
(BTN1_PRESSED) (BTN1_RELEASED)
-
Analog input (e.g., pedals):
(THROTTLE:12345 (converted value fo vjoy compatibility)) (BRAKE:8000) (CLUTCH:32767)
These messages should be sent terminated with \r\n for best compatibility.
- Windows (x64)
- vJoy Driver installed (only required for joystick mode)
- A microcontroller that can send serial data over USB
- WiFi support for wireless setups
- A complete LBB Starter Pack:
.binfirmware for ESP32-C3- Flash tool for fast setup
- LazyOS-based minimal runtime for button/pedal detection
- Configurable GPIO roles: Digital input, ADC, or output
- Game-specific profiles
- Password-protected Dev Mode
- Serial log viewer
- Live CLI terminal for low-level communication
- Debug latency metrics with high-precision timestamps
Made with Love by [Mahmoud Fakhry]
This app is free for personal use only. Do not sell, distribute, or modify it without permission.
This project relies on several open-source libraries. While the app itself is closed-source, i acknowledge and respect the open-source work it builds upon.
A complete list of used libraries and licenses can be found in the LICENSE.txt file.