I’ve been playing with the ESP8266 since late 2014 and it was love on first sight: so many possible uses for such a small device at such a low price tag. And very early on I thought: wouldn’t it be great to build a WiFi “modem” from this? That shouldn’t be too hard. But I didn’t find the time to pursue the idea then. When I remembered again this summer, I was not surprised but still excited to find that others had had the same idea and hadn’t been as lazy as me.
Alwyz’s instructions on how to build such a device couldn’t be easier! I followed them and it worked like a charm. For the next months, my setup then looked like variations of this:
I wanted something tidier that would still be inexpensive and stay true to the easy-to-assemble spirit of the original version. So I decided to go with the WeMos D1 Mini variant of the ESP8266 modules. It is easily available and for a price as low as $2.60. It is supported by the Arduino IDE, allowing to flash the firmware with no equipment other than a PC and a micro USB cable. This is the board I’ve come up with:
The minimal setup is quite easy:
- Solder the User Port connector and the female pin headers.
- Close a hand full of solder bridges.
- Program the WeMos module and plug it in.
The board offers a bunch of optional extras that aren’t strictly required but may be freely combined to upgrade the device:
- An OLED display can be plugged into the second WeMos slot.
- A WS2812B RGB LED can be fitted and used as an extended status indicator.
- There are pads for a diode and fuse to protect the C64.
- Alternatively, external power can be supplied through an optional USB connector.
- Additional components may be fitted for level shifting between 5V and 3.3V. (Personally I don’t think they are needed and the ESP8266 can cope with the 5V. But this way the board is “one size fits all”.)
- There are pads for a reset switch and a second one to interact with the modem.
- Potentially, other shields like the LED Matrix could be added instead of the OLED.
Somewhat unfortunately, I made a last minute change to the board layout before I ordered, hoping to make it more compatible with other WeMos shields. I missed the fact that with this wiring a pull-down resistor is required for the ESP to boot. I patched the resistor to the bottom side of my first build but still the ESP needs a second try from time to time. So I might reconsider this in a future revision.
KiCAD and Arduino sources will follow when I find the time to do some cleaning up.