A DIY infrared volume remote for Edifier ConneX speakers, powered by an ESP32-C3 and Bluetooth Low Energy (BLE). Control the speaker with almost any IR remote without opening the Edifier ConneX app.
Download the latest Windows installer · 한국어 설명
IR remote -> IR receiver -> ESP32-C3 SuperMini -> BLE control -> EDIFIER speaker
Unofficial community project. Not affiliated with or endorsed by EDIFIER.
Changing volume through Edifier ConneX means unlocking a phone, opening the app, waiting for it to connect, and choosing an absolute volume value. With this bridge, Volume Up and Volume Down on an ordinary remote adjust the current volume one step at a time.
- Speaker: EDIFIER models that use the ConneX BLE control interface
- Board: ESP32-C3 SuperMini with 4 MB flash
- IR receiver: 38 kHz KY-022, HW-477, or equivalent digital receiver
- Computer for setup: Windows 10 or 11
- Remote: most ordinary IR remotes, including learning remotes
The project has been tested on the EDIFIER MR5. Other speakers controlled by the Edifier ConneX app are expected to use the same interface, but have not yet been verified by this project. If you try another model, please report the result so it can be added to the compatibility list.
The ESP32-C3 does not connect as a Bluetooth audio device. It connects to the separate BLE control interface used by the ConneX app. When this control connection becomes available, the speaker does not play a Bluetooth connection sound. Optical, AUX, USB, and Bluetooth audio inputs continue to work normally, and the ESP32 does not need to be paired in the computer's Bluetooth settings.
Hardware testing on the MR5 showed that its BLE control interface accepts one active client at a time. While the ESP32 holds that connection, the ConneX app cannot access the same control interface. Audio playback is unaffected. To use the app, temporarily disconnect power from the ESP32.
| Part | Quantity |
|---|---|
| ESP32-C3 SuperMini with pin headers | 1 |
| 38 kHz IR receiver module | 1 |
| Female-to-female jumper wires | 3 |
| Data-capable USB-C cable | 1 |
| IR remote | 1 |
Disconnect USB power before wiring. Follow the labels printed on the receiver because module pin order varies.
| IR receiver | ESP32-C3 |
|---|---|
S / Signal |
GPIO4 |
+ / VCC |
3V3 |
- / GND |
GND |
- Download and extract the Windows release ZIP.
- Wire the IR receiver and connect the ESP32-C3 with a data-capable USB-C cable.
- Turn on the EDIFIER speaker.
- Double-click
Install.cmdand follow the prompts.
The installer detects the board, flashes verified firmware, scans for EDIFIER Bluetooth devices, verifies the ConneX control service and volume response, and learns the remote's Volume Up and Volume Down buttons. If several compatible boards or EDIFIER devices are present, it asks which one to use.
Arduino IDE, Python, ESP-IDF, Bluetooth pairing, and manual BLE address entry are not required. Setup does not change the current speaker volume.
After setup, connect the ESP32-C3 to any USB 5 V power supply. It automatically reconnects to the selected speaker, reads the current volume, and waits for the learned remote buttons.
- Short press: one volume step
- Hold: repeated volume steps
- Operating range:
0..30 - If the speaker is off: the bridge keeps searching and reconnects when it becomes available
The ESP32 never restores an old saved volume at startup.
No ESP32-C3 found
- Use a data-capable USB cable.
- Close Arduino IDE and other serial monitors.
- If needed, hold BOOT, tap RESET, then release BOOT.
No EDIFIER speaker found
- Turn on the speaker and move the ESP32 closer.
- Close the ConneX app temporarily and run setup again.
- Do not pair the ESP32 in the normal Windows Bluetooth settings.
Remote key not detected
- Recheck
S -> GPIO4,+ -> 3V3, and- -> GND. - Point the receiver's sensor toward the remote.
- Confirm that the remote actually emits IR; some TV remotes do not emit volume IR while the TV is off.
Firmware source is in MR5Bridge/. Protocol details and test scope are documented in PROTOCOL.md and VALIDATION.md.
Validated dependencies:
- Arduino ESP32 core 3.3.5
- NimBLE-Arduino 2.3.6
- Arduino-IRremote 4.4.1
Original project code is released under the MIT License. Bundled tools and firmware dependencies remain under their respective licenses. Exact versions, license texts, notices, and corresponding source information are provided in THIRD_PARTY_NOTICES.md and third_party/.