Skip to content

reyco2000/cocowifimodem

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 

Repository files navigation

CoCoWiFiModem

A WiFi modem for retro computers, specifically the Tandy Color Computer (CoCo), using the ESP8266 microcontroller.

Overview

This project implements a virtual modem using the ESP8266, allowing vintage computers to connect to modern networks and BBSs over WiFi. The firmware emulates Hayes modem commands and provides RS-232 connectivity for seamless integration with retro hardware.

Features

  • Hayes-compatible AT command set
  • WiFi connectivity for vintage computers
  • OLED display support for status information
  • EEPROM storage for configuration persistence
  • Customizable baud rates via software serial
  • Open source and fully modifiable

Hardware Requirements

  • ESP8266 microcontroller (NodeMCU, Wemos D1 Mini, or similar)
  • Optional: 4-pin OLED display (I2C - 128x64 recommended)
  • RS-232 level shifter (MAX3232 or equivalent)
  • Power switch (optional)
  • Connecting cables

Pin Configuration

                  +-----------------+
                  |   WiFi Antenna  |
        ADC0  A0  |                 | D0  GPIO16 (WAKE) - Power switch to GND
   Reserved  RSV  |  +-----------+  | D1  GPIO5  (SCL)  - OLED I2C Clock
   Reserved  RSV  |  |  ESP8266  |  | D2  GPIO4  (SDA)  - OLED I2C Data
SDD3-GPIO10  SD3  |  |           |  | D3  GPIO0  (FLASH)
 SDD2-GPIO9  SD2  |  |           |  | D4  GPIO2  (TXD1/FLASH)
SDD1-MOSI   SD1   |  |           |  | 3.3V
SDCMD-CS    CMD   |  +-----------+  | GND
SDD0-MISO   SD0   |                 | D5  GPIO14 (SCLK) - Spark OLED
SDCLK-SCLK  CLK   |                 | D6  GPIO12 (MISO) - Spark OLED
            GND   |                 | D7  GPIO13 (MOSI/RXD2) - RX from RS-232 TX
           3.3V   |                 | D8  GPIO15 (CS/TXD2)   - TX to RS-232 RX
             EN   |                 | RX  GPIO3  (RXD0)
            RST   |                 | TX  GPIO1  (TXD0)
            GND   |                 | GND
            Vin   |                 | 3.3V
      USB/Flash   |                 | RST
                  +-----------------+

Pin Assignments

Pin GPIO Function Notes
D1 GPIO5 I2C SCL OLED display clock
D2 GPIO4 I2C SDA OLED display data
D7 GPIO13 Serial RX Connects to RS-232 TX
D8 GPIO15 Serial TX Connects to RS-232 RX
D0 GPIO16 Power Switch Optional switch to GND
D5 GPIO14 SCLK For Spark integrated OLED
D6 GPIO12 MISO For Spark integrated OLED

Software Dependencies

  • SoftwareSerial - Serial communication on non-default pins
  • ESP8266WiFi - WiFi functionality
  • EEPROM - Configuration storage
  • WiFiClient - TCP/IP client functionality

Installation

  1. Install the Arduino IDE with ESP8266 board support
  2. Install required libraries via Library Manager
  3. Clone or download this repository
  4. Open the .ino file in Arduino IDE
  5. Select your ESP8266 board type
  6. Configure WiFi credentials in the code (or via AT commands)
  7. Upload to your ESP8266

Usage

  1. Connect the ESP8266 to your vintage computer via RS-232
  2. Power on the modem
  3. Configure WiFi settings using AT commands
  4. Connect to remote systems using standard modem commands

Basic AT Commands

AT              - Test connection
ATI             - Display information
ATE0/ATE1       - Echo off/on
ATDT<host:port> - Dial (connect to) host
ATH             - Hang up
+++             - Enter command mode

Resources

Author

Reinaldo Torres
CoCoByte Club
reyco2000@gmail.com
March 7, 2023

Acknowledgments

Parts of this program were developed with assistance from ChatGPT, a large language model by OpenAI.

License

This code is free and open source. You may use, modify, and distribute it for any purpose. Schematics and hardware designs will be made publicly available.

Contributing

Contributions are welcome! Feel free to submit issues, fork the repository, and create pull requests.

Future Plans

  • Detailed schematics publication
  • PCB design files
  • Web-based configuration interface
  • Additional terminal emulation support

About

Another ESP8266 Wifi Modem for Retro Computer Aka Tandy Color Compuer

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages