OpenSprinkler Forums OpenSprinkler Unified Firmware Change Firmware to control stations directly via GPIO pins (relays) Reply To: Change Firmware to control stations directly via GPIO pins (relays)



Hi all,

I’ve created a version 2.2.0(1) build of the firmware at

I essentially compared and isolated the changes from the original 2.1.9(11) release by OpenSprinkler with the 2.1.9 release by @vamp mentioned in this forum (branched from solideus merge on github) and embedded these changes in to a clean 2.2.0(1) codebase from OpenSprinkler.

I have tested it on my ESP12F_RELAY_X4 build (ESP8266-WIFI-4-Channels-Relay-Module-AC-DC-ESP-12F-Development-Board) and everything is working well, noting that you will need to back up first then restore, as this release will perform a factory reset.

I’ve also made a few enhancements to make maintaining easier for new releases – created a ‘define’ in defines.h to flag the use of the ESP12F_RELAY_X4 board, and altered the code in main.cpp, OpenSprinkler.cpp and defines.h to read this flag to run the code specific to the ESP12F_RELAY_X4 board depending on the value of that flag, 1 or 0, in defines.h. (the standard 2.2.0(1) executes if the flag is set at 0). All sections of code using the flag as a condition are commented with /**ESP12F_RELAY_X4… */

For this version (2.2.x) you will need to:

manually install the OpenThings-Framework-Firmware-Library into your Arduino IDE’s library folder

install the WebSockets Library by Markus Sattler using the Library Manager in the Arduino IDE

There’s a pull request now on the solideus github repo for my Master 2.2.0(1) branch.

As a bonus, there’s code in there to alter the date format to DD-MM on the LCD (another flag in defines.h) for those of us who don’t use (or like!) the US MM-DD Date format .

All running beautifully on my build. Thanks to @Tobasco, @Vamp and solideus for the awesome effort on this.