A desktop hardware node that lets your computer, games, and system states physically exist on your desk.
Think of it as a Stream Deck, but programmable at the firmware level — and fully open-source.
🔥 Build Lumen FAST on your own.
No local IDE, no toolchain setup, no need to know SMT soldering. Even if you are not familiar with embedded systems or hardware, you can finish it.
👉 Start here: Quick Start
Lumen is a desktop-grade hardware interaction node. It lives on the desktop long-term, can sense state, participate in interaction, and present and feed back those changes in hardware.
Lumen is designed to stay on your desk every day, as a hardware presence that keeps evolving with what you do.
If you enjoy projects that connect software with the physical world, Lumen is built for you.
- Flash firmware directly from your browser
- No local IDE, no toolchain setup
- All builds are produced by CI
- Hardware files are fully open-sourced
👉 Start here: Quick Start
- A physical Minecraft status display
- A USB-C power monitor that lives on your desk
- A system state notifier (CPU, build, deploy, errors)
- A programmable interaction gadget for games and tools
Lumen is not a single-purpose device — it’s a hardware base you can repurpose.
Minecraft → Physical Device
When something happens in Minecraft, your desk reacts in real time — lights, motion, and sound.
USB power monitoring
Motion / interaction
- System integration: Rust no-std
- UI: Vision-UI
- System: FreeRTOS
- Graphics Driver: u8g2
- Hardware
- Buzzer
- INA226
- LSM6DSO
- ESP32-C3
- 240x240 display
- Rotary encoder
- Power Switch
- Firmware uses a layered driver structure instead of feature stacking, to speed up development and CI builds.
- UI is independent of top level logic, ensuring interaction changes do not affect core functionality.
- Rust no-std is used only for the system integration layer, not to fully replace C/C++.
- All interactions prioritize "long-term desktop use" rather than debugging convenience.
- UI does not depend on serial output, so the device does not lose value when "detached from the PC".
- Animations and easter eggs are deliberately kept low-frequency to avoid distracting the main function.
- All build flows are automated to avoid "author environment" dependency.
- Avoids solutions that require expensive equipment or special tools.
- Explicitly not chasing extreme performance, prioritizing success rate.
- The web flashing flow depends on browser WebUSB support.
- CI has no cache or diff builds yet, so there is room for speed optimization.
If you are interested in the UI system used in Lumen, you may find this article useful:
- Hardware v2
- USB-C power monitoring
- Hardware protection logic
- Vision-UI integration
- CI pipeline
- Web quick flashing
- Documentation still improving
If this project is useful or interesting to you, consider giving it a ⭐ — it really helps.
Issues, discussions, and PRs are welcome. If you are interested in hardware, embedded systems, or UI design, feel free to join.
GPL-3.0





