ESP32 - IR Remote Server And Relay
Do you have several IR Remote controls but can never find the one you need? Do you (or that special person) want to put all of your AV equipment in a cabinet, or operate it from another room? If the answer to either of these questions is yes, then this project is for you.
The IR Relay started as just that, a device to receive IR remote data and send it to a cabinet or somewhere else.
- WiFi for connectivity,
- the ESP32 Web server to generate web content on-the-fly and deliver the pages to the client,
- the LittleFS file system stores HTML, .png image files, configuration data, etc.,
- a Timer Interrupt Service Routine, ISR, to perform IR timing for reading and transmitting.
- ESP32-targz compression and expansion library. Each remote device is a set of files, .html, .png, .txt, packaged in a tar.gz archive. Remotes created in the server can also be exported as .tar.gz files.
- NTP time to attach creation times to files.
- Base64 file packing, used to transport .png files from the browser to the server for remote device creation.
- It can be expanded to provide some support for KlikAanKlikUit devices.
- App = ESP32IRRelayV8-03.ino
- Build time = Jan 10 2026 17:40:21
- Connect using: http://buttons2.local/
- Now is : 2026-01-10 17:59:24
- Base mac address: 3C:84:27:DC:C9:14: 0: 0
- Server IP address: 192.168.1.148
- Client IP address: 192.168.1.193
- CPU Frequency = 240 MHz
- psram free = 1566880 Bytes
- psram used = 530272 Bytes, 25% of: 2097152 bytes
- free_heap_size: 1675124
- free_internal_heap_size: 100484
- minimum_free_heap: 1590856
- LittleFS used: 1708032 bytes, 42% of: 4063232 bytes
There is about 5000 lines of c code and comments in the project, plus JavaScript, and HTML, and resources in the form of remote device targz packages, png files, etc. I am wondering how best to present the information, if there is any interest. If you are interested in seeing more of the nitty gritty, please get in touch, and let me know what you would like to see.
Andy 20260110

Updates from the author