Well, you could have blown me away. Tonight was making a little relay controller for the hot tub using a WEMOS board and relay board. I carefully soldered them together and plugged them into a USB connection on my PC, as I’ve done thousands of times.
Also as I’ve done thousands of times I flashed the board with my ESP8266 standard software which I have down to a single button-press in Eclipse.
Nothing. Dead. Thankfully my own terminal software has a 78Kbaud setting and so I went in and had a look. Checksum error. No matter how many times I flashed the board, the same result. I figured it was duff but before throwing it in the bin – I picked another of my boards, a NodeMCU clone and flashed that. Perfect.
I went back and tried the WEMOS again – duff. I grabbed another WEMOS – duff.
This was getting to be beyond believe – two in a row? I even tried bolstering the usb power with a proper power supply – nothing.
I went looking for the checksum error and came across this post.
I noted something about changing programming modes. I figured they were talking nonsense as I’ve been blowing these chips for years without a hitch (though I HAVE had people tell me they have had difficulty blowing ESP8266 chips). But hey, what did I have to lose. There is a line in my make file..
I changed it to dio instead of qio – something I’ve NEVER done – and I’ve blown plenty of Wemos boards before as well.
Could it be that there really ARE two types of Flash and for the first time ever I’ve been on the receiving end?
All’s well that ends well and I hope anyone having issues flashing boards benefits from this – but I certainly didn’t expect to be writing this!
Something here about the various modes of programming.
October 1 2017
Yet another stunning example; This time a WEMOS board with OLED. I could not get the usb connector to show up as a device on my PC – and so using my normal programming FTDI I connected up ground, 5v, rx and tx to board pins via connectors. I flashed the chip – that happened perfectly – and yet – the board would not start. The usual 78k debug info but no start. I tried this several times then remembered this blog. I changed the line in my makefile to DIO instead of QIO and VOILA, worked first time.
So again a ripoff Wemos board – I just don’t get it – what’s so special about the ESP12 boards they use?