The Trip: As regular readers may know, early in 2016 I worked in Spain on a contract with some great guys to analyse information from ESP8266 chips. Without going into any commercial detail, this is what I brought back from that trip as well as other lessons learned since then.
The scenario: The tests were done on a series of ESP-01 WIFI micro-controllers in a rural environment, initially with a bank of 40 ESP-01 boards. These were powered by a single 20 amps 3v3 power supply. Yes, a switched supply. The boards were mounted on Vero-board and power applied. No linear regulator to smooth out the crap ( I would normally run 5v switched and a linear 3v3 regulator on-board for each device), lossy tracks on Veroboard, signals interfering with each other.. except it DOES get worse – read on.
The Place: The location we conducted our tests was off-grid, relying on solar power and a generator – and the weather most of the time was cloudy – that meant at regular intervals the remote generator kicked in and when it did a couple or so mains cycles were lost as the set-up there uses a combined inverter/charger. The result of that was that at regular intervals, the router reset.
Aside from actual power cuts you don’t get much worse than this. At first when we switched on the boards – which are running a modified version of my home control software which is in turn based on TUANPMs MQTT code with a boatload of stuff added and a lot of tweaking over time, only some of the boards would report back. A quick check of the router revealed that by default it only allocated enough room for 32 connections on DHCP. That was quickly doubled and lo and behold, all the boards logged in by MQTT to the PC (running Node-Red and MQTT and firing off data to a database).
Useful outcomes: Well, any thoughts I may have had concerning reliability completely vaporised this last 2 weeks as day after day our little bunch of 40 boards (not even all from the same supplier as some were blue, some were not) just sat there constantly delivering information. This was soon increased to a wopping 120 boards without issues.
So if you’re just starting up with ESP chips – bear the above in mind before jumping to conclusions about board reliability. The boards used in the test, running as I speak, were the early 512K versions, today I always use ESP-12 boards in my own projects as they have eight times the amount of FLASH which means OTA, big programs (up to 1MB of C code (that’s a lot)) and in the case of the “F” version arguably better antennae.
I sometimes hear of people complaining that once programmed, some ESP boards go into a loop at power up – and I’ve recently had this happen to me TWICE. In each case I had extra bits and pieces attached and was running the board off the FTDI – again in each case, putting proper 5v onto the boards immediately resolved the “problem”. FTDIs vary a lot in their output and voltage. While it is tempting to use them to power the ESP (or indeed the micro-usb connector in some cases, straight off your PCs USB – the time will come when this causes trouble and now you know the answer.