-
Notifications
You must be signed in to change notification settings - Fork 1
How to build controller
Remote controllers use EnigmaIOT protocol to send button push and release state changes. It makes receiver to set its output accordingly with very low latency.
Each controller consist in an ESP8266 board, a button and a 18650 battery shield. You can use Wemos D1 mini due its low price and compactness.
There are some 18650 shields that have an ESP8266 built in. I've not used one of them but it would make buildind the hardware extremely easy.
You will need 2 controllers at least, but you can use only one for testing. OpenLedRace allows up to 4 remotes.
The easiest way to build this firmware is using Arduino IDE.
Open EnigmaIOT-OLR_Remote.ino
in the IDE. You need to have all these libraries installed on your Arduino IDE instance.
Some can be installed with Library Manager
- CayenneLPP by @ElectronicCats
- ESPAsyncTCP (if you are using ESP8266)
- ESPAsyncWebServer
- ESPAsyncWifiManager
- ArduinoJSON (version > 6.0.0)
- DebounceEvent by @xoseperez
To install these ones you need to download them from my repository
- EnigmaIOT
- CryptoArduino (forked from rweather/arduinolibs)
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.
ESP8266 has to be connected to Arduino board as the next drawing shows. I did not find a 18650 battery shield on Fritzing and I use this. You do need at least a 3.7V 18650 battery to run this controller.
In order to make an usable controller, I've designed an ergonomic case to fit everything inside. Design is open source too. It is included in this repository.