RP2040 · NEC Protocol · WebSerial · 38kHz

LBD
Lott-
Bespitting
Diode

A high-intensity IR blaster built on the RP2040.
Browser-native control. MOSFET-driven. Zero compromise.

RefValueQty
C4, C515pF2
C6–C13, C17, C18100n10
C144.7uF1
C1522uF1
C16100nF1
C19, C201u2
D1–D7LED7
J1Conn_01x03_Pin1
J2USB4155-03-C_REVA1
R3, R135.1k2
R61k (0603)1
R71k1
R910k1
R10100k1
R11, R12222
SW2BOOTSEL1
U1RP20401
U4TPSM828214SILR1
U5W25Q128JVSIQ1
Y112 MHz1
Schematic
Schematic files are currently unavailable.
PCB 3D Model
Coming soon...
scroll
01 — System Architecture

Two Halves.
One Signal.

Web Control Interface
Flipper-IRDB Directory
Raw Hex Compiler
WebSerial Pipeline
HTML5 / CSS3 / JS
USB
CDC
LBD Hardware Core
NEC Protocol Engine
MOSFET Gate Controller
38kHz PWM Modulator
RP2040 / CircuitPython
↓ High-Intensity IR Matrix
02 — Core Features

Built Without
Compromise.

NEC Protocol Synthesis

Encodes raw hex address/command pairs into precise pulse-distance sequences compatible with any NEC IR receiver.

F.01
38kHz Carrier Modulation

Hardware-accurate duty cycle generation passes standard consumer IR receiver filters every time — no flicker, no misses.

F.02
WebSerial Pipeline

Control the device entirely from a browser over USB CDC. No drivers. No apps. Just a data-capable cable.

F.03
MOSFET Gate Driver

High-side MOSFET switching delivers far more output current than GPIO-alone designs, driving a full IR LED array.

F.04
Flipper-IRDB Compatible

Browse and transmit signals directly from the Flipper Zero IR database — the largest open-source IR signal library.

F.05
GPL-3.0 Open Source

Firmware, schematics, PCB layouts and software — all fully open. Study it. Fork it. Build on it.

F.06
03 — Firmware

The Signal,
Dissected.

Preamble
9000μs mark
Space
4500μs space
Bit HIGH
560μs + 1690μs
Bit LOW
560μs + 560μs
Stop
560μs mark
NEC Pulse Train — 38kHz modulated carrier
# 38kHz carrier initialization — CircuitPython / RP2040

import time, board, pwmio

ir_pwm = pwmio.PWMOut( board.GP16, frequency=38000, duty_cycle=0 )

def pulse_nec(mark_us, space_us):
    ir_pwm.duty_cycle = 32768 # 50% — carrier ON
    time.sleep_us(mark_us)
    ir_pwm.duty_cycle = 0      # carrier OFF
    time.sleep_us(space_us)
04 — Setup

Flash it.
Launch it.

Prototype
The embedded PCB isn't finalized yet — build the prototype on a breadboard or perfboard using the schematic in the repo. Flash the RP2040-Zero with the CircuitPython firmware, plug it into your computer via USB, and open the web controller.
DIY / Prototype Only
All Builds
01

Enter Bootloader Mode

Hold the BOOT button on the RP2040 board and connect via a data-capable USB cable. Release once the drive mounts.

02

Install CircuitPython

The board mounts as RPI-RP2. Drop the CircuitPython .uf2 onto its root. It reboots as CIRCUITPY.

03

Deploy Firmware

Copy code.py and lib/ from /firmware onto the CIRCUITPY volume root.

04

Plug It In & Open the Controller

Connect the device to your computer via USB, then open the web controller in a Chromium-based browser. Click Connect to establish the WebSerial session.

Strictly Prohibited for Illegal Use

This project is designed solely for personal engineering research, hardware prototyping, and authorized testing. Only operate this device on equipment you personally own or have explicit permission to control. The creator assumes no liability for misuse, property disruption, or equipment damage. By using this project you take full responsibility for your actions.

Ready

Transmit.

Open the controller, connect your hardware, and start sending signals.

→ Open Controller