Build Your Own
IR Blaster
The complete DIY guide to building your own smart, learning-ready WiFi IR blaster for under $10. Open source firmware, free 3D-printable case, no DRM, no licensing, no vendor lock-in. Pairs with READYWARE — the best universal remote control app — the day you finish soldering. Smarter than a BroadLink. Cheaper than a name-brand dongle. Yours to modify, fork, and improve.
Why we made this guideThe story behind it
READYWARE is "hardware agnostic forever." That means we support every IR blaster we can — BroadLink, iTach, USB-C dongles, phone IR, SwitchBot. But the IR blaster industry keeps trying to lock things down.
The latest wave of cheap Bluetooth LE IR dongles uses AES-encrypted DRM in firmware so only the manufacturer's app can fire signals.
Build your own. Open hardware, open firmware, open protocol. The parts list below totals around $8. You can have a working blaster the same evening you order the parts.
Choose your boardTwo paths — pick the one that fits you
The brain of your DIY blaster is a tiny WiFi microcontroller. There are two great options, depending on whether you want the easiest path or the smallest size:
ESP8266 WeMos D1 Mini
~34 × 26 mm · ~$2 · BroadLinkESP firmware flashes straight out of the box, no porting required. This is the chip the firmware was originally written for, so it's battle-tested by hundreds of builders. Slightly bigger than the SuperMini, but still smaller than a BroadLink RM Mini, and dirt cheap. If this is your first ESP project, start here.
ESP32-C3 SuperMini
~22 × 18 mm · ~$3 · The smallest option — about the size of a thumb-drive. USB-C native, more powerful CPU, also has Bluetooth. Caveat: BroadLinkESP was originally written for ESP8266 — getting it running on ESP32-C3 may need light firmware porting (different IR peripherals). Doable but expect to spend a few extra hours debugging. Great choice if you want the smallest unit and don't mind tinkering.
Smaller than a BroadLink MiniEither board beats a hockey puck
~22-34 mm wide
Roughly the size of a USB thumb-drive (ESP32-C3) or a small matchbox (D1 Mini). Either board fits inside a 3D-printed case with the IR LED poking out the front. Powered by any phone charger via USB-C or micro-USB.
~55 × 55 × 25 mm
Hockey-puck shaped. Larger than necessary because it includes a fancy 360° IR dome. Both work great — the DIY version is just smaller, cheaper, and yours to modify.
Parts list (BOM)Real parts, current prices · May 2026
Everything you need. Prices are typical street prices from AliExpress (cheap, slow) or Amazon (more expensive, fast). Buy a 5-pack of each so you have spares — still under $15 total.
| Part | Qty | Notes | Price |
|---|---|---|---|
| Microcontroller — pick ONE: ▸ ESP8266 WeMos D1 Mini (recommended — firmware works out of the box) ▸ ESP32-C3 SuperMini (smallest — but firmware may need porting) |
1 |
D1 Mini: AliExpress · Amazon — micro-USB power, ~34×26mm. ESP32-C3 SuperMini: AliExpress · Amazon — USB-C, ~22×18mm. |
$2–$5 |
| 940nm IR LED (5mm) High-power preferred (e.g. TSAL6100). 940nm is the standard for remote controls. |
1+ | Search "940nm IR LED 5mm". Buy a pack of 10–20 for ~$2. | $0.20 |
| NPN transistor (S8050, 2N2222, or PN2222) Drives the IR LED. Any general-purpose NPN will work. |
1 | Search "S8050 transistor". Pack of 50 for ~$2. | $0.05 |
| 100Ω resistor (1/4 watt) Current-limit for the IR LED. |
1 | Any electronics kit. AliExpress. | $0.01 |
| 1kΩ resistor (1/4 watt) Base resistor for the transistor. |
1 | Same source as above. | $0.01 |
| Small perfboard or breadboard Optional but cleaner than flying wires. |
1 | Or solder direct-to-pin if you're confident. | $0.50 |
| 3D-printed case Free STL — see section below. |
1 | Print yourself or use any 3D printing service (~$3 if outsourced). | $0–$3 |
| USB-C cable + power adapter You almost certainly already own one. Any phone charger works. |
1 | Anything 5V USB output. | free |
Wiring diagram4 connections — that's it
The IR LED needs more current than the ESP32-C3's GPIO can supply directly, so we use a transistor as a switch. The ESP32 turns the transistor on/off rapidly to produce the IR signal carrier (typically 38 kHz).
- GPIO 4 on the ESP32-C3 → 1kΩ resistor → Base of the NPN transistor
- 3.3V on the ESP32-C3 → Anode (longer leg) of the IR LED
- Cathode (shorter leg) of the IR LED → 100Ω resistor → Collector of the transistor
- Emitter of the transistor → GND on the ESP32-C3
Polarity matters: the IR LED's longer leg is the anode (positive, connects to 3.3V), shorter leg is the cathode (negative, connects through resistor to transistor). If you wire it backwards, no light comes out. The transistor must also be the right way — check your specific part's datasheet for B-C-E pin order. S8050 in TO-92 package: flat side facing you, pins are E-B-C left to right.
Note for D1 Mini builders: Same exact wiring — just use pin D2 (GPIO 4) on the D1 Mini instead, and the 3.3V/GND pin headers. Pin layout is silkscreened on the board.
3D-printed caseFree, customizable, ~30 min to print
Maker Nate on MakerWorld designed a beautiful tiny IR blaster case sized exactly for the ESP32-C3 SuperMini. 23 × 18 × 27.3 mm. Comes with the OpenSCAD source so you can resize, modify the IR LED hole position, or rebrand it. D1 Mini builders: a quick OpenSCAD resize gets you a case that fits the larger board, or search MakerWorld/Thingiverse for "WeMos D1 Mini case" — there are dozens of existing designs ready to print.
Customizable IR Blaster Case — ESP32-C3 SuperMini
By Nate on MakerWorld · Free download (STL + OpenSCAD source) · License: customize and remix freely.
No 3D printer? Craftcloud, Treatstock, and most local libraries/makerspaces print STL files. Cost is usually $3–$8 for a part this small. Or just zip-tie the parts inside a plastic Tic-Tac box — it really doesn't matter.
FirmwareOpen source · BroadLink-compatible
This is the magic that makes READYWARE find your blaster automatically.
The firmware emulates the BroadLink RM protocol — the same protocol used by the most popular WiFi IR blasters on the market. When READYWARE scans for BroadLink devices on your WiFi, your DIY blaster responds and appears in the device list, ready to pair.
Quick-start steps
Install the Arduino IDE
Free from arduino.cc. Then add ESP32 board support: File → Preferences → Additional Board URLs → paste https://espressif.github.io/arduino-esp32/package_esp32_index.json → Tools → Board → Board Manager → search "esp32" → install the Espressif package.
Clone the firmware
Either git clone https://github.com/sayzard/BroadLinkESP.git or download the ZIP. Open the .ino file in Arduino IDE.
Set your WiFi credentials
Edit the top of the sketch and put in your WiFi SSID and password. (Or use the captive-portal variant — a few forks support WiFi setup via phone.)
Set the IR LED GPIO
Make sure the IR transmit pin matches your wiring. Default is usually GPIO 4 — change if you wired it differently.
Pick the board and port
If using ESP8266 WeMos D1 Mini (recommended): Tools → Board → LOLIN(WEMOS) D1 R2 & mini. Plug in via micro-USB. Select the COM port.
If using ESP32-C3 SuperMini: Tools → Board → ESP32C3 Dev Module. Plug in via USB-C. Select the COM port.
Upload
Click the Upload button (→). First upload can be slow — that's normal. After it finishes, the board will boot, connect to WiFi, and start broadcasting BroadLink discovery responses.
Setting it up in READYWARESame as any other BroadLink device
Once your blaster is powered on and connected to your WiFi network, READYWARE will discover it automatically.
Open READYWARE → Settings → Device Setup → WiFi tab
This is where you'd normally connect a BroadLink RM4. Your DIY blaster shows up here too because it speaks the same protocol.
Tap Scan
READYWARE sends a UDP discovery broadcast on port 80. Your blaster responds and shows up in the device list with an auto-generated name and its IP address.
Tap your blaster to connect
It saves to your Saved WiFi IR / RF Devices list. Set as Active. Done.
Fire IR signals
Every button you create in READYWARE — Smart IR database lookups, learned signals, .irc imports — all of it works through your DIY blaster like any commercial one. Macros work. The 700,000+ code database works. Web Remote works. Everything.
What's nextThe roadmap and how to help
Add RF (433 MHz) support
Want to control garage doors, ceiling fans, RF outlets? Add a CC1101 433 MHz transceiver to the same ESP32 board. It's an extra $2 part and a few more pins. Several ESP32 RF transceiver projects exist on GitHub — search "ESP32 CC1101 433 MHz". The BroadLink protocol already supports RF commands, so READYWARE will use it the moment the firmware exposes it.
USB-C wired version (community goal)
For ultimate portability — a blaster that plugs directly into a phone with no power supply. Doable, but requires implementing the Tiqiaa or ElkSmart USB HID protocol from scratch on an RP2040 or ATmega32U4. The protocol is publicly documented (tiqiaa-usb-ir-py on GitLab) but firmware is TBD. If you have firmware chops and want to take this on, please reach out — we'll feature your work here.
Better cases, RF, IR receive (learning)
The current firmware just transmits. Adding an IR receiver (TSOP4838, $0.50) would let your DIY blaster learn signals from existing remotes — same as a BroadLink RM4 Pro. The BroadLink protocol supports it; just needs firmware exposure.
Built one? Show us.
Whether it worked the first try, took 5 tries, or you came up with a clever improvement — share it. Photos, build logs, firmware forks, case remixes — all welcome.
📧 Email your build Reddit r/homeassistant Post on Hackaday
We'll feature the best builds on this page. This is the kind of remote control freedom that should exist.
The bigger pictureWhy open hardware matters for READYWARE
READYWARE is built around an open file format (.irc), a hardware-agnostic architecture, and a "you own your stuff" philosophy. Your remote layouts work on every blaster we support. Your IR signals are stored in plain files you can back up, share, and trade. Your buttons fire from any phone, any tablet, any browser.
This page is the natural extension of that philosophy into the hardware itself. You shouldn't have to depend on a manufacturer's app to use a $7 dongle. You shouldn't have to accept encrypted DRM on a piece of consumer infrared hardware. And you shouldn't have to pay $30 for a BroadLink when $8 of parts and 30 minutes will do the same job — better.
Hardware agnostic forever. This is what that actually looks like.
Common questionsFor the search engines and the curious
Is READYWARE the best universal remote control app?
That depends what you value, but here's what makes it different: it's the only universal remote control app we know of that combines a 700,000+ code smart IR database, supports IR learning from any remote, works across Android, iOS, Windows, Mac, Smart TVs, and any browser, fires from custom canvases and live wallpapers, runs over a hundred smart home integrations, and now lets you build your own open-source IR blaster hardware. One-time price of $9.98 for the app — no subscription, no ads, no data collection. Read the full feature list →
What is the cheapest way to build a universal remote?
The route on this page is about as cheap as it gets — roughly $8 in parts for a fully open WiFi IR blaster that works with the READYWARE app. If you already have an Android phone with a built-in IR blaster (many Samsung, Xiaomi, Huawei, LG models), the cost is just the $9.98 app — no extra hardware needed at all. A used BroadLink RM Mini on eBay is another low-cost path at around $10-15.
Can a DIY IR blaster learn signals from my existing remote?
The basic firmware on this page is transmit-only — it fires IR signals but does not capture them from existing remotes. Adding learning capability requires soldering in a TSOP4838 IR receiver (about $0.50) and using firmware that exposes the receive function over the BroadLink protocol. READYWARE supports IR learning from any compatible blaster, including BroadLink RM4 Pro, Tiqiaa USB-C dongles, and the new ElkSmart family — see the FAQ for details on signal learning.
Is this safe? Will it void my phone or TV warranty?
The DIY blaster is a passive WiFi device that talks to READYWARE over your local network. It doesn't physically connect to your phone or to the devices it controls — IR signals are just modulated infrared light, the same kind every TV remote in your house has been emitting for forty years. No warranties affected. Use a USB power supply rated for at least 5V/500mA and you're well within safe operating limits.
Where can I find more information about smart, learning, universal remote control apps?
Start with READYWARE's main pages — the .com home covers the app overview, readyware.net covers the web tools and Smart IR database, and the FAQ answers the technical questions in detail. For DIY hardware specifically, the BroadLinkESP project on GitHub is the protocol reference, and the maker community at r/homeassistant and Hackaday is full of related ESP32 IR projects worth exploring.