IoP - Current status & ESP32 Design Contest 2018

This post is just a quick status update. It's mostly about the software side, because that's what I have mostly been working on the last weeks. I already mentioned some of the things, but I try to give a full view of the current state this time.

IoP - Current status & ESP32 Design Contest 2018

This post is just a quick status update. It's mostly about the software side, because that's what I have mostly been working on the last weeks. I already mentioned some of the things, but I try to give a full view of the current state this time.

Hardware-wise, most of the board is tested:

  • The switching regulators are working. The second regulator can be switched on and off on demand.
  • The ESP is flashable and executes code.
  • The relays can be controlled by the ESP.
  • The battery voltage can be measured.

I still haven't tested the UART connections yet, but that's what I plan to do next (hardware-wise).

The software is also starting to take shape:

  • A command console via the debug/programming UART is implemented for testing purposes.
  • The fill level sensor protocol handler is implemented, but mostly untested.
  • WiFi connects properly to my home WLAN. I'm planning to implement a WiFi manager class to encapsulated it better.
  • An MQTT client connects to my local broker. This will be used later for status information and alerts. I'm currently working on the implementation of an MQTT manager class to handle multi-threading properly.
  • The real time clock of the ESP is keeping the time, when the ESP is in deep sleep to preserve power. The time system is able to sync with an SNTP server. But the time can also be set via the command console.
  • A rough plan to implement the control logic for the fixed irrigation plan is written down as comments within the IrrigationController class.

The configuration of the WiFi and other services is currently hardcoded in a config file. I'm planning to change the configuration mechanism either by providing console commands or by implementing a webserver.

Besides working on the software implementation, I worked on getting the code and documentation in a good shape. This ultimately resulted in publishing both the hardware documents and the software itself on Github:

Well, getting the documentation into a good shape also was a result of registering the whole project at Elektor's ESP32 Design Contest! You can also check out my project page there. Wish me luck!