This article describes how to create a DIY smart IR/RF gateway with HomeGenie Mini ir/rf-transceiver firmware and ESP32-C3/S3 Mini/Zero development board. The device has a 3d printed enclosure and a PCB shield equipped with connectors for ESP32 development board and IR/RF transceiver modules.
With this device you can:
- record and play commands from most IR/RF remote controls to control any non-smart device from your smartphone such as TVs, audio/media players, set-top boxes, heaters, air conditioners, gates, etc...
- use remote controls to control any smart device or service that can be controlled via HTTP API such as, of course, other HomeGenie Server or Mini devices
- control devices from anywhere via Internet (MQTT) using the control panel app
- easily create and run scenes with the integrated script recorder
- schedule and automate IR/RF/HTTP commands based on time occurrences or other events
- use voice control and all other features available with the control panel app
Other features:
- Powered via USB type-C connector (5V)
- Easy Wi-Fi configuration via Bluetooth or WPS button
- IR transmitter with double LED
- Onboard RGB LED
- Built-in scheduler to create automated actions based on time or other device events
- Free and easy to use control panel app
- Open source Firmware and API
IR/RF gateway kit v1.0 (Firefly)
The kit consists of a translucent, small enclosure measuring 5,2 × 5,4 × 2,1 cm and a PCB shield for ESP32-C3/S3 Mini/Zero development board, to which IR and RF receiver and transmitter modules can be connected.
PCB shield
On the PCB there are the two 9-pin header connectors on which the ESP32 board is connected and other connectors for plugging in the IR transmitter (J1), the IR receiver (J2), the RF transmitter (J3), and the RF receiver (J4) modules.
Components listing
- 2 single row female headers 9 pin (pitch 2.54mm, head 8.50mm)
- 2 right-angled 3 pin female connectors
- 1 IR transmitter module 38kHz
- 1 IR receiver module 38kHz
Additional components for RF version:
- 2 straight 3 pin female connectors
- 1 RF 433/315MHz transmitter module
- 1 RF 433/315MHz receiver module
Plastic enclosure
Printed using translucent PLA material, the enclosure takes less than 40 minutes to print with a 0.4mm nozzle and 0.16mm layer height on an A1-mini 3D printer.
Device configuration
Once assembled, to become a fully functional smart IR/RF gateway, HomeGenie Mini *-transceiver firmware must be uploaded to the device.
The firmware can be uploaded directly from this page using the firmware upload form at the end of this article: select the target SoC model (ESP32-C3 or ESP32-S3 in this case) and click the "Create device" button.
Now, the smart IR/RF gateway is ready to be configured and connected to Wi-Fi following the instructions in the Device Setup page.
Project files download
Smart IR/RF gateway kit
PCB Gerber download REV. 2
Enclosure 3MF download REV. 2
Smart IR/RF gateway project files by G-Labs licensed under CC BY-NC 4.0
Create this device now! 🪄
Connect your ESP32/ESP8266 microcontroller to your computer via USB, select your firmware version, and click "Create device" to upload the HomeGenie Mini firmware.
1. Select device type
2. Select firmware flavor
3. Let the magic happen!
Installing firmware directly from this page works only in browsers with Web Serial API enabled.
See the Device setup page for further information about configuring a HomeGenie Mini device.
Source code
This firmware pre-compiled binaries and source code are available on GitHub:
folder_open ir-rf-transceiver folder_open ir-transceiver folder_open rf-transceiver folder_open x10-transceiver
Modules and API
In addition to the common Device API, this device implements the following modules and API.
IR
module
IR module is associated to IR transceiver hardware.
Domain / Address
HomeAutomation.HomeGenie/IR
Properties
Receiver.RawData
Captured signal data as hexadecimal bytes string.
Commands
Control.SendRaw/<raw_hex_string>/<repeat_count>/<repeat_delay_ms>
RF
module
RF module is associated to RF transceiver hardware.
Domain / Address
HomeAutomation.HomeGenie/RF
Properties
Receiver.RawData
Captured signal data as hexadecimal bytes string.
Commands
Control.SendRaw/<raw_hex_string>/<repeat_count>/<repeat_delay_ms>