The ESP8266

A project log for Share the Warmth

Warm-air distribution system (PIC/JALv2)

sbi.gaijinsbi.gaijin 04/29/2015 at 13:350 Comments

Everyone and his dog has heard of the ESP8266 by now (and if your dog hasn't, where has it been ...under a rock?). The price of the ESP8266 modules makes them pretty much irresistible to the hobby user. The fact that the documentation and API sucked so badly initially slowed most of us down for a while, but Espressif have done a reasonable job in addressing those issues, while the real, die-hard developers don't let minor problems like that slow them down anyway and have already created some really outstanding projects for the rest of us slowcoaches to build on (Sprite_tm's esphttpd, Tuanpmt's MQTT, Zeroday's LUA nodemcu are three great examples of projects which have helped countless other people to get a handle on the ESP8266).

Of course I snagged a couple of ESP8266's fairly early on (I skipped the minimal-featured ESP-01 and went for the ESP-03 instead). I slapped them onto some stripboard (if you don't happen to have $50-worth of purple gift certificates, I can recommend the Sunhayato ICB-86), flashed them with something useful and started playing.

An ESP8266 development board

The board above has the ESP8266-03 module centre-left, a MOSFET voltage converter for the USB TX/RX lines directly above it, a 3v3 voltage regulator at the right-hand edge, a DS18S20 one-wire sensor over next to the regulator, a switch pack for setting the ESP into program mode and, at the top right, a connector for a Nokia 5110 LCD display.

This little unit, along with Tuanpmt's MQTT project for the ESP, has me rethinking the whole heat-vent controller project. The low-end PICs with an I2C interface to the PIC18F have gone out of the window. The ESP board means we can now put the temperature sensors and the individual room sensor/display/control units way across the other side of the room, instead of needing to be positioned on the wall adjacent to the location of the PIC18F master (because of I2C bus length restrictions). We already have a couple of very low power mini-servers running round the clock (providing DHCP/DNS/NTP and web services) and now one of them is also running an MQTT server, too.