- Introduction
- Licences
- Obtaining the PCB
- BOM
- Connector
- Flashing the ESP8266
- PerryFi Configuration
- Command Reference
- Included Software
- Building QTERM
PerryFi is a wifi modem expansion for Amstrad PCW computers. It is a PCB based on VapourSoft's PCW WiFi Modem schematic. The PCW WiFI Modem combines an Amstrad CPS8256 serial interface clone with the ESP8266-based Retro WiFi Modem by mecparts. mecparts cites inspiration from a message thread on the VCF forums, Paul Rickards's WiFi232, and Daniel Jameson's Virtual Modem for ESP8266.
The PerryFi is designed to plug into the PCW Backplane. While it can technically be plugged directly into the back of the PCW using the expansion edge connector, the connector is wider than the two rows of bins, so this configuration would not be stable. Please check the Connector section for more information.
The PerryFi PCB is licensed under the CERN Open Hardware Licence Version 2: CERN-OHL-S, as is the rest of the content in this repo. Please make sure you read and understand the terms of this licence if you plan to build, sell or release modified versions of the PerryFi.
The older CP/M utilities included are believed to be in the public domain.
You can either order this directly from its project page on PCBWay, or from downloading the gerbers, and uploading them to your favourite PCB manufacturer. I highly recommend JLCPCB.
| Ref | Qty | Part | Source |
|---|---|---|---|
| C1 | 1 | 22uF 16V Electrolytical Capacitor | Mouser |
| C2 - C9 | 8 | 0.1uF / 100 nF (104) Ceramic Capacitor | Mouser |
| CONN | 1** | 2x25-pin 90-deg Keyed Male Box Header | AliExpress |
| IC1 | 1*** | Z80 DART | eBay |
| R1 | 1 | 3k3 Resistor | Mouser |
| SKT IC1 | 1 | 40-pin IC DIP Socket | Mouser |
| SKT U1 | 1 | 24-pin IC DIP Socket | Mouser |
| SKT U2 | 2* | 6-pin SIL PIN Socket | Mouser |
| SKT U3 | 2 | 8-pin SIL PIN Socket | Mouser |
| SKT U4 - U6 | 3* | 14-pin IC DIP Socket | Mouser |
| SKT U7 | 1 | 16-pin DIP Socket | Mouser |
| U1 | 1 | 8253 / 8254 Programmable Interval Timer | eBay |
| U2 | 1 | BOB-12009 3.3 to 5v Bidirectional Logic Converter | Mouser |
| U3 | 1 | WEMOS D1 mini | AliExpress |
| U4 | 1 | 74LS74 | Mouser |
| U5 | 1 | 74LS32 | Mouser |
| U6 | 1 | 74LS00 | Mouser |
| U7 | 1 | 74LS138 | Mouser |
* Optional.
** See Connector section below.
*** Make sure you order a Z80 DART and not a Z80 CPU, or Z80-PIO.
For the two vintage chips, IC1 and U1, to avoid fake vintage chips, I highly recommend buying from a European seller on eBay.
Please note that the Sources I have specified are based on research I did after assembling my prototypes, and are there for your convenience. Double-check each component before ordering, and let me know if there are any issues, or if the links were useful by raising an issue.
The PerryFi should be connected to the PCW using a PCW Backplane.
However, if you decide to use an edge connector, due to spacing, you will need to bend the pins inwards in order for it to fit. This has not been tested, so your mileage may vary. If you do not wish to build a backplane, a custom ribbon cable is highly recommended.
Note that the box connector will be mounted on the very edge of the PerryFi board. Therefore, it is not possible to solder it flush to the board unless you use something like Blu Tac to raise it up slightly.
The ESP8266 microcontroller on the WEMOS D1 mini needs to be flashed with the correct firmware. All that is required is a USB-A to USB-C data cable (or USB-A to Micro-USB depending on the WEMOS D1 mini clone you bought). Be aware that many of these cables are designed for power only, and do not have their data lines attached. If your computer is unable to see the ESP8266, try another cable.
There is various different ESP8266 firmware to choose from. However, different firmware uses different AT commands, which may break compatibility with existing utilities.
The included firmware was modified from the Retro WiFi Modem project by VapourWare, and has been tweaked slightly by me.
The instructions below only relate to Windows users, and are guidelines only. If you have trouble getting your computer to see the ESP8266, please search the internet for further help.
The easiest way to flash the included firmware to the D1 mini's ESP8266 is with the ESP Easy Flasher software as you don't need to know the starting address, only the COM port number, and the file name of the firmware.
- Unplug the PerryFi from the PCW or, preferably, remove the WEMOS D1 mini from the PerryFi.
- If your D1 mini uses a CH340 for serial, download and install the CH340 driver before proceeding.
- Connect the D1 mini into your Windows computer using the relevant USB cable.
- Right-click on the Start menu button, and choose Device Manager
- Expand the Ports (COM & LPT) section and look for DEVICE NAME. Make a note the COM port number e.g. COM3
- Download the latest version of the ESP Easy Flasher software from here, and extract it somewhere you can find it.
- Download latest release of the PerryZi firmware for the PerryFi 1.0, and put it in the same folder you extracted ESP Easy Flasher to.
- Run FlashESP8266.exe from the same folder, and choose the COM port number from step 3, and the .bin file.
- Click Upload to ESP.
You may wish to tweak the firmware, for example to change the default baud rate, or even to develop it further.
To do this, please see the instructions in the PerryZi repository.
To get started, download the boot disc image for the PCW 8256 or the PCW 8256, depending on which type of PCW you own, and copy it to your Gotek. Boot the PCW from that image, and run QTERM5F.COM, which is already configured to the default baud rate of 9600.
Note that this is the maximum speed for the PerryFi 1.0. Attempting to set the wifi modem firmware to a higher speed will result in an ERROR being displayed.
To join your PerryFi to your wifi network, enter the following command in QTERM:
AT+CONFIG
The configuration is menu driven. When you have finished, make sure you answer y when asked if you want to save your configuration.
To check everything is working fine, we connect to the Amstrad BBS hosted by Simulant.
If you check the BBS page above, you will see that the hostname is amstrad.simulant.net, and telnet is listening on port 464. Therefore, we enter the following command:
ATDTamstrad.simulant.uk:464
After a few seconds you should see the welcome page.
At this point, feel free to explore the BBS. If not, simply hang up the connection like so:
+++ATH
Note that this can be used at any time when you are connected to a remote computer to drop the connection.
To switch to VT100 emulation, press [PASTE] followed by [V]. When you want to exit QTERM, press [PASTE] and then Q.
The PerryFi uses Hayes-style AT commands, like an original analogue modem.
For a complete list of AT commands, including more settings, see the list on the PerryZi wiki.
This DSK image contains a selection of comms-related software to get you started.
It is beyond the scope of this documentation to describe how each piece of software works. However, I highly recommend following the guide for setting your PCW's time and date from the internet using NIST on VapourSoft's excellent PCWWiFIModem wiki.
You may wish to build QTERM yourself if you want to change one or more of the default options.
To do this, refer to the instructions in src/qterm5ae/files/#_READ.ME
I recommend using an emulator such as John Elliot's JOYCE, and a tool such as CIFE to transfer files to and from DSK images.


