Skip to content

How to build controller

Germán Martín edited this page Mar 10, 2020 · 1 revision

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.

Building

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

To install these ones you need to download them from my 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

Hardware setup

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.

Clone this wiki locally