[Coco] Updating the ESP8266 WiFi module on a CoCo on a Chip FPGA
Allen Huffman
alsplace at pobox.com
Tue Feb 6 09:40:16 EST 2018
Wow, Roger Taylor has some neat stuff baked into the CoCo on a Chip FPGA project.
My unit has both the ESP8266 WiFi module plugged in, as well as the HC-05 Bluetooth module.
His FPGA code emulates a bitbanger, RS-232 Pak and the Modem Pak. The Modem Pak is just an RS-232 Pak at a different address (no virtual 300 baud modem, of course). This gives three things you can use for talking to either Bluetooth or WiFi.
Actually, four, because of the “user header” on the board which is a TTL level input that can also be routed.
His “telemux” is a memory location that routes these devices to the various I/O plugs. He provides a test program called WIFI.BAS which lets you select if you want the Bitbanger, RS232 Pak or “user header” to route to the WiFi module.
“User header” is another 2x4 pin header connector on to of the I/O board. Three of its pins can be used for TX, RX and GND. Instead of have to remove the ESP8266 and hook it to a PC/Mac to firmware update it, you can just plug in GND, TX and RX wires between the user header and a USB TTL serial device (I have a cheap $6 one from Amazon).
Then, since these ESP8266 parts don’t have the reset/firmware update buttons on them, Roger’s WIFI.BAS has a way to toggle that mode using the appropriate pins on the ESP8266 module.
Basically, you run WIFI.BAS, select Header (to route header pins to the ESP8266), then you select a menu option that will toggle the I/O lines and throw the module into the bootloader/firmware update code. Then you just use whatever firmware updater program you want to use for the ESP on your Mac or PC. I was updating with both the nodemcu-flash.exe utility under Windows 10, as well as the Arduino IDE under Mac OS X.
It’s really slick.
I now have the current ZiModem firmware on my CoCo on a Chip.
NOTE: ZiModem has been updated many times in the past two weeks, including an update yesterday (and the README docs). It’s in active development so you need to pull down the latest.
Also, for building the “GENERIC ESP8266” module in Arduino IDE, you have to select the proper Flash setting in the Tools menu. The default is none, so the SPIFSS (SPI-bus Flash File System) won’t be available, thus the module can’t save settings or phone book entries. That was my issue there, so I had to change it and now I can save settings.
I opened up another port in my router, so I can have port 6809 route to my real CoCo, and port 6309 route to the FPGA. Once I get things setup, I’ll probably leave the little CoCo on a Chip running 24/7 with a BBS of some sort. It’s so tiny, I could take it into the living room and just plug it to a USB port on a phone charger there and leave it sitting on a shelf, running headless. Talk about a mini BBS!
More to come... I’ll be writing all this up, with photos, on my site, shortly.
— A
More information about the Coco
mailing list