Ok, I know, that was one hell of a title. What I just received from Banggood on returning from our mini-holiday at the beach was this ESP32 board and it occurred to be that since I’ve started to get to grips with using the ESP32 and especially with using special builds and even making my own compiles of Tasmota, I’ve probably not put the process down in one place.
Before I start – something I just noticed. There are ESP32 boards out there with 30 pins and others with 38 pins. You could be forgiven for thinking that means the 38 pin versions bring out more GPIO pins. Well, I just checked – WRONG (in the boards I looked at anyway).
So here it is – armed with this board from Banggood to which I immediately soldered the supplied edge connectors – note that this particular version comes with BOOT and RESET buttons but in fact needs no special wiring or button pressing to program – just plug in the board and go. And to put that to the test, I took the virgin board and plugged it into a spare USB lead on my PC (micro-USB).
I grabbed my now favourite Windows “ESP Flasher” software: ESP-Flasher-Windows-x64. You can see the Windows 64-bit release .EXE file in this link. Note that the software, unlike some other packages, is equally at home flashing ESP32 as it is ESP8266 boards.
I went to the Tasmota site and grabbed the unofficial Platinum build in this case – not officially supported but the point of this build is that it has just about every concievable sensor and display etc supported whereas the official builds tend to be focussed toward displays OR sensors due to space limits (1MB working space on the ESP8266).
The downside here is the amount of available room for the file system which is down to around 300KB but you DO get the “Berry Scripting Console” and the File System (handy for including, say, weather icons in projects that run displays) – and using the platinum build, no OTA.
You may notice, as an aside, that in the image above “Max CPU frequency 240Mhz” – the ESP8266 normally tops out by default at 80Mhz, though there is no reason why you can’t double that up with a simple command to 160Mhz. In my last blog on the subject of Tasmota I pointed out that there is a tool for making your own versions of the BIN files without coding skills, merely selecting which items you are interested in – so I won’t go through that again here.
This 4MB board programmes up easily as you’ll see. In the photo above, the board has a default hostname, in this case tasmota-C5F500-5376 – and the usual tasmota host address of 192.168.4.1 – you use your mobile phone (for example) to then inform the board of your chosen 2.4Ghz WiFi SSID – and I usually leave it at that for operations on the phone as I prefer typing on my PC.
From there, once the board has automatically rebooted with a chosen access point name and password installed, it becomes part of the network and the rest can be done on the PC – for example – giving the board a more useful hostname and “friendly name” as well as entering any MQTT credentials in case talking to the board over MQTT is required – in my case it is, as I usually (but not always) control these boards from Node-Red via my local MQTT broker.
Again at this point, a powerful web interface is available including scripting tools and the file system. I’ll point you here to see what BERRY can do. Suffice it to say that this just adds more functionality to the already powerful Tasmota. A reminder that the Platinum build of Tasmota does not currently allow OTA updating – one of two downsides, the other being reduced speed due to the sheer number of supported sensors.
Note that in the above default Tasmota display we are looking at the internal temperature of the ESP32, not the output of any externally-connected sensor.