To start, I’d like to say a huge thanks to Eightbitswide, xxValiumxx, and Paul Rickards for their extremely helpful contributions to this cause!
The esp8266 WiFi Modem design has been really popular with C64 enthusiasts. I’ve been able to get my hands on one, and hack around with some of the available firmware to get 9600 baud working flawlessly. Maybe I should call this unit the “StrikeWiFi”? Anyway, Here’s how to build it:
- NodeMCU Esp8266 IoT board (though any board with GPIO breakouts including 4 and 5 should work). Here’s a link to one.
- C64 Userport Plug
Skills/Tools Needed: Wire and soldering iron. A project board wouldn’t hurt, but not necessary.
Download and install the latest drivers for the NodeMCU Esp8266:
Download the firmware and Windows flasher tool:
To flash with windows, open the flasher tool, use the device manager to find your com port, add that to the com port box, and then add the juno12.bin file from the rar archive to the bin selector. Hold the flash button on the esp8266mod while simultaneously hitting the download button in the program. I keep holding the flash button down during the whole write process, though I don’t know if that’s necessary.
If you’re not using Windows, or have some other Arduino style flashing tool, you can use the .ino file I’ve included in the modded firmware .rar file.
Now that the esp8266 has been flashed, let’s wire this up:
Note: You can use the C64’s 5volt power or external power from the esp8266 usb plug. Either works, though there are theories that the esp8266’s current draw might tax the C64’s 100ma 5v supply. I haven’t noticed any problems with this, but do what you feel is best.
Make the following connections using the following pinouts as a reference.
C64 User Port Pinout
Esp8266 GND -> C64 User Port Pin N (Gnd)
Esp8266 TxD (GPIO1/TXD0) -> C64 User Port B and C (RxD. Yes, Short B and C together)
Esp8266 RxD (GPIO3/RXD0) -> C64 User Port M (TxD)
Esp8266 GPIO4 -> C64 User Port K (CTS)
Esp8266 GPIO5 -> C64 User Port D (RTS)
Esp8266 GPIO2 (d4) -> User Port H (DCD)
Add a wire from M to 5 on user port plug
Add a wire from B,C to 7 on user port plug
Add a wire from L to 6 on the user port plug
Optional power from C64: Connect C64 pin 2 (+5v) to Esp8266 Vin
First Boot! Follow these steps in order:
- Load CCGMS 2017, select User Port, and select 300 baud
- Go back to terminal mode
- Power on the device if using external power and hit enter
- A menu should show up from the modem letting you know it’s alive!
- Hit F8 to go to Ascii mode (Anscii mode) and enter your ssid and password with the following terminal commands: at$ssid=ssid and at$pass=password
- F8 to go back to the Graphics terminal and type atc1 to connect. This may take a few attempts to connect.
- Use the commands at&p0 and at&k1 . Without doing these 9600 baud will lock up your c64
- Change the baud rate by using the command at$sb=9600
- Go back to the Terminal F7 Menu and select Up9600 Baud / 9600 Baud
- Go back to the terminal, and you should be able to see at and ok reponses.
- Use at&w to write these settings to the esp8266.
- All done. Now your settings should be set every time you boot CCGMS 2017!
If you would like to manufacture your own Strikelink WiFi boards, use the gerber files here to order for Elecrow or your favorite supplier. If you sell these, I just ask that you keep the prices reasonable. It would be great to see a number of worldwide retro stores offering these.