ESP 101

Posted by Codepope's Development Hell on Sunday, November 24, 2024

So I have these two rarely touched Spectrum Next’s from the original Kickstarter which were revealed to me again when I was movine some stuff over to the ManLab. Ones in a revamped Spectrum case in white and translucent, but its put to shame by the actual Next which has a QLish case, complete with Spectrum colour styling and all packed into a nice foot print. Anyway, these two were on the bench to get updated when I recalled I never got Wifi up on them back when I got them.

The Spectrum Next

This was recalled because the most recent ZX Next SD card image came with tools which let you configure Wifi like a human by selecting things. So with that in mind I went to check what I needed.

Enter the ESP

ESP-8266-S01’s, it turned out, were the entirity of the Wifi requirement. The ESP-S01 probably helped birth Espressif’s presence in the maker world. It’s a tiny, cheap as chips chip with does 802.11b Wifi and a small, off the beaten track, core which can coordinate that. It has around one whole GPIO line. You might wonder what on earth that would be useful for and the answer is - probably - Wifi controlled light bulbs which only need to be on or off. It’s simplicity and price saw numerous people reverse engineer or translate documentation into English and start making toolchains to work with the chip.

But for a lot of people it didn’t matter if it had a toolchain or not. By default the ESP-8266-S01 came with its own AT firmware. A firmware you talked to over serial which would let you configure and connect to Wifi in a way utterly unlike where the AT protocol came from - old school modems. So from a makers point of view you could add Wifi by dropping an ESP-8266 in and wiring up a UART to talk to it.

So, I said, picking up a dusty bag of old ESP-S01’s from my ESP drawer, time to pop some of these bad boys into the Nexts and see where we get.

Where we got

Nowhere. The ESPs seemed to time out and be unresponsive. I decided to talk to them myself. One thing about the ESP’s is their pin out spacing is wierd, which means back into the drawer to dig out a breadboard adapter and wire up the pins… And lo, the jury rigged arrangement up came to be. A 3.3V FTDI adapter wired to the appropriate rails on a breadboard with the adapter plugged in. If you ever decide you want to play with ESP-8266s, make the adapter a must.

A mess of adapter, breadboard, wires and FTDI cable

Then I tried to talk to the two ESPs I’d used on the Spectrums. They seemed remarkably unresponsive. Occsionally they would spit out some gibberish, maybe with a short burst of readable text in there, but they were not responding to AT commands.

Know your enemy

Then I compared the two ESPs to the rest of the ESPs in that bag. These ones had “AI Cloud” stamped on them which I recall from a Chinese company, AI Thinker, trying to coopt AI as a name well before the AI hype kicked in. Ah, do these even have the AT firmware on them. A quick swap of ESPs for two with no branding on them (at all) saw them immediatly communacitive, even if they did really need CTRL-M, CTRL-J for a return on a command.

From there on, it was plain sailing. Dropping the unbranded ESPs into to Spectrums worked straight away. But that was a lot of messing about for what should have been a simple, simple thing to do. Thats the thing about making, there’s always an interesting surprise.

After that I went through the ESPs and apart from one which had been prepped for life inside an Ikea air quality monitor, the unbranded ones worked fine with AT firmware and the branded ones were tetchy. I put the branded ones on the side to go away another day and marked the entire episode as “sorting stuff in my room”.