My first January 2021 present-to-me arrived between Christmas and NYE while we were hiding at the coast – and I’ve just made a start at testing this pack of ten inexpensive ESP8266-based NodeMCU boards.
If you’re not familiar with these and similar products, they are a very popular and generally inexpensive version of ESP8266 development board – the key point here being “inexpensive”. Branded here as “Geekcreit Wireless IOT Development Module” – mine were delivered to Spain at an attractive €23.06 (£20.90 or $27.99) and free postage for the 10-pack, direct from Banggood in China (they are of course shipped everywhere, not just Spain and the above link has all the details). Packing included the usual anti-static per-unit protective foam and anti-static plastic sealed cover.
Nothing new about the modules – normally I tend to use Wemos D1 Mini for price – in this case, at just over £2 each, I just HAD to have a set of these “Geekcreit-branded” or NodeMCU boards… a bargain – but I guess that price won’t last forever. The boards arrived by normal mail in a couple of weeks – not bad timing, especially over the Christmas period and Christmas 2020 at that.
With the key feature of low price out of the way – I didn’t expect or find any surprises. The boards were individually well packed and arrived with no bent pins or any signs of damage.
Armed with my Windows-10 PC, I plugged one of these micro-USB-equipped boards into a handy USB port and loaded the now well known free “Tasmotizer” program – current version 1.2
Programming of these and similar boards is dead easy with Tasmotizer as it is able to head off to the web automatically to get the lastest version of Tasmota firmware for ESP8266 – in this case I was interested in the “sensors” version to maximise what I could so with a single board. I ticked the box (above) to let Tasmotizer know that these boards are the “self-resetting” variety. Rather than “release” I chose “development” and Tasmotizer again automatically picked the latest version – 18.104.22.168 (because I like to live dangerously) – by the time you read this, the Tasmota version number may well be higher. The Tasmotizer version number hasn’t changed in months.
COM4 was chosen automatically – if you were to program such a board it pays to hit the “refresh” button in Tasmotizer first.
So what next? I pressed the “Tasmotize!” button above and seconds later the board was programmed with Tasmota and ready to have WiFi and MQTT credentials added. The next stage was to disconnect and reconnect the micro-USB lead and “Send config” which boils down to entering WiFi and MQTT credentials as well as giving the device a “friendly” name. I’d always assumed that meant “hostname” but read on.
Having entered the above info (leaving “FullTopic” alone), I hit “save” and that was it.
I figured the next step would be to go into a browser and see the device appear under my chosen host name “nodemcu-3” – in the case of my router, “.broadband” is needed at the end, for some, “.local” works. In any event, the board did not immediately appear in the browser. This has nothing to do with the boards, more to do with my understanding of “friendly name”.
When that didn’t work – I dropped in a couple of nodes to Node-Red to look to see if the board was communicating in MQTT – of course – it was. By simply sending a command via MQTT to board “nodemcu-3” I got a response. i.e. I sent a message with topic “cmnd/nodemcu-3/status” and payload “5”
In the debug window – the message below appeared instantly in the debug payload…
This is not of course a tutorial on how to use MQTT or Node-Red – but merely a short article to point out that right now at least, these boards (which I like because of their convenient size and number of power and ground leads compared to the smaller Wemos D1 Pro boards) are well priced at the above link when buying a pack of 10. “Vin” on the boards is the 5v USB input and there are five grounds and three 3v pins – you can see all of that in the photo at the top. These “Geekcreit” boards build on the usual ESP8266-12F module so again, no surprises. Buttons are available on-board for RESET and FLASH but I didn’t have to touch either of those.
To prove to myself that my first success wasn’t a fluke, I plugged in a second board to my USB cable and once again ran up Tasmotize. As before, COM4 appeared and my selection of “tasmota-sensors.bin was still in place as were other settings.
Once again I selected “development” and “self-resetting” boxes in Tasmotize and chose the “tasmota-sensors.bin file to automatically download from the web, then pressed “Tasmotize”. Less than 60 seconds later, success.
This time I was a bit more precise – see image above – same default FullTopic – and now “nodemcu-4” for the name. No USB disconnecting. I presses “save” and ended up back at the Tasmotize main screen almost immediately. Once-again, MQTT picked up the name correctly – but not the Tasmota web interface. I’m sure that’s not me missing something. I checked in MQTT and the hostname was “nodemcu-4-2467” so Tasmotize is not setting up the WiFi hostname. Watch… running the webUI with that amended name… this is not the fault of the boards – just to be clear.
Selecting configuration – wifi – it is obvious that the selected WiFi name is being used but with a dash and 4 digits added, so, I simply set the hostname in there to “nodemcu-4” and that sorted that.
In this attempt I remembered to select the generic module name. Setting the pins for any specific requirement (like a relay output, various input sensors etc) is covered elsewhere. Incidentally don’t let the “sensors” suffix put you off, in this Tasmota binary it is still simple to control RELAYS and in fact also WS2812b serial LED displays – I do that all the time now.
Ok, well, I think I’ve made the point – these boards are inexpensive and work well.