Bitnari LED is an open-source LED strip controller hardware project within the Bitnari Project, designed for PC ambient lighting environments.
'Bitnari' originates from the Korean word '빛나리' (meaning 'shining' or 'will shine').
The Bitnari system consists of two main sub-projects: Bitnari LED (the LED strip controller hardware) and Bitnari Studio (the desktop control application). WindRPC is used as the communication mechanism between the two.
This repository.
Powered by the Raspberry Pi Pico series (RP2040, RP2350, etc.) and Zephyr RTOS. It receives pixel data from the PC over a real-time operating system and immediately renders it to LED strips such as WS2812.
2. Bitnari Studio (Electron Desktop App)
A desktop control application that captures screen edge colors or analyzes system audio spectrums to generate dynamic ambient lighting effects (mood lighting, audio visualizer, etc.). The generated data is transmitted to Bitnari LED in real time via the WindRPC protocol.
3. WindRPC (Micro Interconnect & Network Dispatch RPC)
Implements a lightweight RPC framework based on NanoPB and Protocol Buffers to ensure a seamless communication mechanism and maintainability between Bitnari LED and Bitnari Studio. This repository includes pre-generated WindRPC server code, so no external WindRPC generator tool dependencies are required for building and running.
Bitnari firmware uses the Raspberry Pi Pico series (Pico / Pico W / Pico 2, etc.) as its primary MCU. It is designed to be paired with the 'Banchak' shield board, which is optimized for LED strip driving and power management. The shield fits the official Raspberry Pi Pico form factor.
The name 'Banchak' originates from the native Korean word '반짝' (banchak), representing the quick flash, sparkling, or twinkling of light.
-
Diverse LED Support: Supports both 3-wire (Data) and 4-wire (Data/Clock) LED strips.
-
USB-PD Power Supply: Powered via USB-PD rather than bulky external adapters. Selectable between 5V (up to 25W) and 12V (up to 60W) based on strip requirements.
-
Power Control & Precision Protection: Features a dedicated high-side switch for LED power control, with real-time current measurement and hardware-level over-current protection. (Supports dual-layer protection via software power cutoff and hardware fault interrupt handling).
-
Standalone Wireless Operation: In Wi-Fi environments, the entire firmware and LED system operates using a single USB-PD power cable.
-
MCU: Raspberry Pi Pico series (RP2040, RP2350 compatible)
-
Shield:
bitnari_banchak(Banchak Shield board) -
LED: Addressable RGB LEDs such as WS2812B
📄 Download Banchak Shield Schematic PDF: SCH_Schematic_banchak_2026-08-11.pdf
Even without the Banchak shield, you can power the LED strip via an external power source and connect the Data (DAT) and Ground (GND) lines directly to the Pico board's GPIO pins. This configuration can be easily built by selecting the shield option as bitnari_bare.
Note: When using a bare-board setup without the Banchak shield, hardware power monitoring and protection circuits are unavailable. Exercise caution against over-current or short-circuit conditions.
- Wide LED Strip Compatibility
- Supports 3-pin (VDD, DAT, GND) and 4-pin (VDD, CLK, DAT, GND) configurations.
- Multi-voltage USB-PD Power Support
- Supports 5V (25W) and 12V (60W) power input via USB-PD for driving LED strips.
- Custom Async LED Driver (PIO DMA)
- Uses a custom PIO DMA driver to prevent color glitching during high-speed continuous data reception. Asynchronous rendering prevents PC screen capture FPS drops.
- Real-time Communication & COBS Framing
- Utilizes WindRPC and Zephyr's official COBS module for reliable serial and network framing.
- Dual Power Protection
- Features Kconfig-configurable software power cutoff (
CONFIG_BITNARI_SW_POWER_CUTOFF) and hardware fault detection (CONFIG_BITNARI_HW_FAULT_ALERT).
- Features Kconfig-configurable software power cutoff (
This project uses the Zephyr build system (West).
Update dependencies and fetch Infineon library blobs if using Pico W series:
west update
west blobs fetch hal_infineon# RP2040 (Pico) build example
west build -b rpi_pico/rp2040 -- -DSHIELD=bitnari_banchak
# RP2040W (Pico W) build example
west build -b rpi_pico/rp2040/w -- -DSHIELD=bitnari_banchakwest build -b rpi_pico/rp2040/w -- -DSHIELD=bitnari_bareAfter building, drag and drop the generated build/zephyr/zephyr.uf2 file onto the RPi Pico drive in bootloader mode (connect USB while holding the BOOTSEL button).
- Due to limited maintainer time for code reviews and maintenance, external pull requests from non-approved personnel are politely declined at this time. We appreciate your interest.
- Please note that the project and hardware features are not 100% complete. Minor updates and continuous improvements will be applied over time.
Copyright (c) 2026 Bitnari Project This project is licensed under the MIT License.

