How to build receiver - gmag11/OpenLedRace-Wireless-Remote GitHub Wiki

In order to connect remote controllers to OpenLedRace you need an EnigmaIOT gateway acting as a receiver. It simulates wired controllers using ESP32/ESP8266 general purpose I/O pins. Current OpenLedRace implementation allows up to 4 controllers to be connected. EnigmaIOT can cope with a number of nodes much more higher than this number, so it will not be a limitation.

EnigmaIOT is designed as an Arduino library so you will need to build this within this framework.

Building

The easiest way to build this firmware is using Arduino IDE.

Open EnigmaIOT-OLR_GW.ino in the IDE. You need to have all these libraries installed on your Arduino IDE instance.

Some can be installed with Library Manager

To install these ones you need to download them from repository

Building on ESP8266

Before building you will need to have ESP8266 Arduino core installed. If you need it you can follow instructions on their repository here.

You need to adjust build settings like attached picture.

image-20200306133651873

Building on ESP32

Make sure you have ESP32 Arduino core installed. If not follow instructions here.

Adjust settings according your board. This is the one I used.

image-20200306135608730

Hardware setup

OpenLedRace runs on an Arduino board. Several boards are compatible. Go to OLR web site for help on how to connect your OpenLedRace setup. In next examples I use an Arduino UNO board. Remember to adapt input pins to your needs.

ESP8266

ESP8266 has to be connected to Arduino board as the next drawing shows.

Channel 1 is connected to Arduino pin A0, and channels 2 to 4 to the adjacent pins. If you need to change them you need to adjust OpenLedRace code accordingly.

ESP32

Using ESP32 has some advantages. First, it will give you higher responsiveness. It may be unnoticeable though. Future improvements may be implemented on ESP32 boards only because it has higher hardware resources.

Current code has pins 14, 27, 26 and 25 on ESP32 board to connect A0, A1, A2, A3 for channels 1 to 4.

Setup is like this.

⚠️ **GitHub.com Fallback** ⚠️