Core ESP01 Hardware Setup

The core of the architecture is the small ESP01 implementation of the ESP8266 microcontroller, and paired with an MP2307 buck-boost power supply providing 3.3V to the ESP unit from a supply up to 26V via a 5.5/2.1mm plug. This gives huge versatility to the unit being capable of being powered from a range of DC power sources. An additional idea was to also include a diode and capacitor to add some protection and accommodate AC supplies as well.


The primary target to house the circuits is a small plastic enclosure measuring 60x35x25mm holding one or two sensors, with a larger enclosure of 100x60x25 holding multiple sensors or sensors with multiple connectors.


The ESP01 model used has 1Mb of memory and inbuilt Wifi so the code can be updated over the air (OTA) but the intention is to add a web page to facilitate configuration. Also missing is a hardware reset for the code to avoid having to use a programmer over and over again, even if it is OTA.


The ESP01 has only eight pins in a 2x4 matrix, 2.54mm separation so doesn't fit basic matrix strip board or breadboard, so for making up circuits an adapter has to be used, not expensive but easy to make as well so an example is shown in one of the pictures.


Of the eight pins available, four have fixed functions, Vcc, Gnd, Reset and Enable, and teh other four can be configured as GPIO or serial comms with SPI and I2C options. Using I2C opens up a whole range of addon circuits which are used primarily here, with standard serial used for RS485 and relays, and any GPIO used for PWM, digital off/on or onewire.

The MP2307 is a small footprint power convertor, a bit smaller than the ESP01 and requires that the output voltage is adjusted to 3.3V using a small screwdriver and the onboard variable resistor. For use its been fitted with four pins to aid installing it on a piece of breadboard or strip board. These units are spec'd to provide up to 3A of regulated power though none of the circuits used here will require anywhere near that.

The ESP01 has a connector formed of two rows of four pins which isn't compatible with most breadboards or stripboard so an adapter has been made. The picture shows two adapters, the one on the right is a commercial one which works well on a breadboard but does not lend itself to installing in a small case, so the one on the right was constructed out of a small piece of compatible (and expensive) stripboard.

The software has been written with the ArduinoOTA feature included so that the code can be upgraded via Wi-Fi. However, should the code be so severely messed up that 'over the air' updates can't be done, the ESP01 has to be programmed using one of these FTDI adapters. For whatever reason, these come in various forms, some of which allow programming of an ESP01, and some don't. This one didn't and includes a push button switch that shorts the two pins when being inserted into the USB socket and puts the ESP01 into programming mode. This is how the software gets onto the chip in the first place of course.

Two target enclosures were chosen to house the completed monitor circuits, the smaller one is 60x35x25mm and the larger 100x60x25mm. The smaller one really only houses one monitoring function, whereas the larger can consolidate several, or in the case of the solar monitor, the board is long and wouldn't fit into a smaller case.

The cases will have standard holes drilled for the power supply connection, a 5.5x2.1 barrel connector, and various connectors for the monitors, 1.3mm power connectors for the voltage/current monitors, 3.5mm stereo jacks for the temperature sensors and RJ45 for the solar. Some sensors won't need external connections, but will need a free airflow over the sensor or will be ok with a closed box for the position sensor.

Software to implement these ideas can be viewed on github here