The planned cooperation with the Duino Coin team failed and therefore this will not be an official code for an official rig. It is not yet clear how this project will develop further!
- ESP8266
- Arduino Nano
- ESP32
- Arduino Micro
- Arduino Uno
- Arduino Mega
- ATtiny85
Tested with ESP8266 D1 Mini, but should theoretically work with ESP8266 NodeMCU as well.
Because the ESP8266 works with a 3.3V signal and the Arduino Nanos need a 5V signal, you have to connect a logic level converter in between. This converts the 3.3V signals from the ESP8266 to 5V for the Arduino Nanos and the 5V signals from the Arduino Nanos to 3.3V for the ESP8266. Without this conversion, the components could not communicate with each other.
Type | ESP8266 D1 Mini | ESP8266 NodeMCU | - | Logic Level Converter | - | Arduino Nano |
---|---|---|---|---|---|---|
GND | GND | GND | - | GND - GND | - | GND |
Voltage | 3.3V | 3.3V | - | 3V - 5V | - | 5V |
Voltage | 5V | VIN | - | - | - | 5V |
SCL | D1 | D1 | - | LV1 - HV1 | - | A5 |
SDA | D2 | D2 | - | LV2 - HV2 | - | A4 |
Tested with ESP8266 D1 Mini, but should theoretically work with ESP8266 NodeMCU as well.
Because the ESP8266 works with a 3.3V signal and the ATTINYs need a 5V signal, you have to connect a logic level converter in between. This converts the 3.3V signals from the ESP8266 to 5V for the ATTINYs and the 5V signals from the ATTINYs to 3.3V for the ESP8266. Without this conversion, the components could not communicate with each other.
Type | ESP8266 D1 Mini | ESP8266 NodeMCU | - | Logic Level Converter | - | ATTINY85 |
---|---|---|---|---|---|---|
GND | GND | GND | - | GND - GND | - | PIN4 |
Voltage | 3.3V | 3.3V | - | 3V - 5V | - | PIN8 |
Voltage | 5V | VIN | - | - | - | PIN8 |
SCL | D1 | D1 | - | LV1 - HV1 | - | PIN7 |
SDA | D2 | D2 | - | LV2 - HV2 | - | PIN5 |
G-LED | - | - | - | - | - | PIN3 |
R-LED | - | - | - | - | - | PIN6 |
Tested with ESP8266 D1 Mini, but should theoretically work with ESP8266 NodeMCU as well.
The display is connected directly to the ESP8266 because no logic level converter is required.
Type | ESP8266 D1 Mini | ESP8266 NodeMCU | SSD1306 |
---|---|---|---|
GND | GND | GND | GND |
Voltage | 3.3V | 3.3V | VCC |
SCL | D1 | D1 | SCL |
SDA | D2 | D2 | SDA |
Tested with ESP8266 D1 Mini, but should theoretically work with ESP8266 NodeMCU as well.
Depending on the SD card adapter, it must be connected to either the 3.3V or the 5V connection of the ESP8266. We present it in two different tables, although all other connections are identical.
Type | ESP8266 D1 Mini | ESP8266 NodeMCU | 3.3V SD card adapter |
---|---|---|---|
GND | GND | GND | GND |
Voltage | 3.3V | 3.3V | VCC |
SCK | D5 | D5 | SCK |
MISO | D6 | D6 | MISO |
MOSI | D7 | D7 | MOSI |
CS | D8 | D8 | CS |
Type | ESP8266 D1 Mini | ESP8266 NodeMCU | 5V SD card adapter |
---|---|---|---|
GND | GND | GND | GND |
Voltage | 5V | VIN | VCC |
SCK | D5 | D5 | SCK |
MISO | D6 | D6 | MISO |
MOSI | D7 | D7 | MOSI |
CS | D8 | D8 | CS |
You need these libraries to be able to compile the code.
- Arduino
- ArduinoJson (https://github.com/bblanchon/ArduinoJson)
- ESP8266HTTPClient (https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266HTTPClient)
- ESP8266mDNS (https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266mDNS)
- ESP8266WiFi (https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi)
- ESPAsyncTCP (https://github.com/me-no-dev/ESPAsyncTCP)
- ESPAsyncWebServer (https://github.com/me-no-dev/ESPAsyncWebServer)
- NTPClient (https://github.com/arduino-libraries/NTPClient)
- SdFat (https://github.com/greiman/SdFat)
- SPIFFSEditor
- SSD1306Wire
- WiFiClientSecureBearSSL (https://github.com/esp8266/Arduino/tree/master/libraries/ESP8266WiFi/src)
- WiFiUdp
- Wire
Without the SD card adapter and a SD card you have to configure this software in the code. To do this, you need to adjust the following variables in the ESP8266_Master file.
Variable | Description |
---|---|
wifiSsid | The SSID (name) of your WiFi network |
wifiPassword | The password of your WiFi network |
nameUser | The name you use for your wallet |
nameRig | The name of your rig |
If you want to load your configuration from an SD card, you need to create a text file called "config.rig" on the SD card and fill in this information:
wifi_ssid={The SSID (name) of your WiFi network}
wifi_password={The password of your WiFi network}
name_user={The name you use for your wallet}
name_rig={The name of your rig}
It could then look like this:
wifi_ssid=MyHomeWiFi
wifi_password=secret123
name_user=Duinouser
name_rig=Duinorig