Home / Firmware
Name Modified Size InfoDownloads / Week
Parent folder
myDCP4ESP32-110.zip 2023-03-21 101.5 kB
myDCP4ESP32-Firmware-Changes.txt 2023-03-21 6.0 kB
Required-Libraries.zip 2022-05-09 34.6 kB
Tests.zip 2022-05-09 68.6 kB
Firmware myDCP4ESP32-109-b1.zip 2021-07-17 1.3 MB
README.md 2021-07-17 4.4 kB
LICENSE 2021-07-17 1.5 kB
Admin Web Page Menus.txt 2021-07-17 1.3 kB
Libraries-Read-Me.txt 2021-07-17 437 Bytes
Display Screens.txt 2021-07-17 2.3 kB
Firmware myDCP4ESP32-108.zip 2021-06-28 174.6 kB
Totals: 11 Items   1.7 MB 3

myDewControllerPro4-ESP32 [myDCP4ESP32] Firmware for ESP32 Controllers

This is the firmware for the myDCP4ESP32 Dew controller project on Sourceforge. https://sourceforge.net/projects/esp32-dew-controller/

(c) Robert Brown, 2019-2021. All rights reserved.

PDF

To get a clear understanding of myDCP4ESP features and options, it is essential to read the PDF.

Compiling for ESP32

Compiling the source code requires Arduino IDE v1.8.13 with the ExpressIF ESP32 Arduino extensions. You will need to add the JSON file for the ESP32 library by using the File->Preferences menu of the Arduino IDE and add the location for the library into the board manager https://dl.espressif.com/dl/package_esp32_index.json

Once specified, open the board manager, scroll down to ESP32 and install the latest version Then you can specify the target board as ESP32 Dev with Flash Size set t 4M (1MB SPIFFS) and upload speed of 115200.

Note1:

Additional JSON files are separated in board manager by using a comma ,

Additional JSON library Needed

Make sure you install the library ArduinoJson into the Arduino IDE else firmware will not compile. The latest version is at https://github.com/bblanchon/ArduinoJson/releases

Libraries

To compile you will also need to import these libraries in the folder Firmware\Required-Libraries into the Arduino IDE environment using the Menu - Sketch - Include Library - Add .Zip file

  • myOLED
  • myDallasTemperature
  • myPubSubClient
  • mySparkFunHTU21D
  • esp32LiquidCrystal_I2C

Do not edit or replace any of these library files with others.

Additional Libraries which must be downloaded and installed

To compile this firmware you need to ensure that you have installed a number of "library" files into the Arduino environment. For each of the links below, you need to DOWNLOAD the ZIP file first.

OneWire https://github.com/PaulStoffregen/OneWire

ESP32 Sketch Data uploader https://github.com/me-no-dev/arduino-esp32fs-plugin/releases/

After downloading the zip files, you then need to install these into the Arduino IDE environment. To do that, start the Arduino IDE, select Sketch, Include Library, Add .Zip library, then navigate to where the ZIP files are stored and select them (you can only load 1 zip file at a time so please repeat this for all ZIP files).

The Sketch Data uploaders require a different method for installing. The install instructions are found in their respective download pages and require copying the files into a special folder of the Arduino program installation.

Once you have done this, you can start programming the controller.

controllerconfig.h

Configuration information about the controller is specified in the controllerconfig.h file. This is where you specify the controller options like OLEDDISPLAY and ENABLERTCDS1307, as well as the controller mode such as ACCESSPOINT or STATIONMODE.

Controller Modes

The controller supports the modes ACCESSPOINT, STATIONMODE, LOCALSERIAL and BLUETOOTHMODE for the ESP32.

Command Process Handler Routine

At present a single command process handler manages received commands for LOCALSERIAL, BLUETOOTH [ESP32 only] of TCP/IP. This handles all controller modes.

myDCP4SetupData.cpp and .h files

These must be in the same folder as the .ino file. These files handle the SPIFFS data, saving, restoring and persistance of controller settings. A JSON file in the SPIFFS file system is used to store controller data.

mydefines.h

This file contains general definitions for the dew controller.

ESPQueue.h

This file manages the serial data for ESP32 chips. It is a modified version of the Queue.h file from Steven de Salas. DO NOT MODIFY THIS FILE. It has been modified to work with ESP32 chips.

myOLED Libary

This is a special cut down version of the SSD1306AsciiWire library by Bill Greiman. The library has been reduced in size and a number of additional features added. DO NOT MODIFY THESE FILES.

COMPILE ENVIRONMENT : Tested with

  • Arduino IDE 1.8.13
  • ESP8266 Arduino Core 2.7.4

Libraries * Arduino JSON 6.15.2 https://github.com/bblanchon/ArduinoJson.git * Wire [as installed with Arduino 1.8.13] * OneWire http://www.pjrc.com/teensy/td_libs_OneWire.html

Notes:

This will NOT work in an ESP8266 so please don't ask.

Source: README.md, updated 2021-07-17