- Introduction
- Licences
- Obtaining the PCB
- Bill of Materials (BOM)
- Flashing the Firmware
- Included Software
- Special Thanks
- Project PerryFi
PerryFi 2 is a wifi expansion card for the Amstrad PCW series of computers.
It uses a Raspberry Pi Pico microcontroller board to implement a Z80 DART and a 8523 timer at high speed, and an ESP-12F module to implement AT-style modem functionality along with SLIP and PPP networking.
The PerryFi 2 is designed to either plug into the PCW Backplane, or directly into the PCW's expansion port.
If you would like a pre-built version of the board, you can order one from the PCBWay project.
The PerryFi PCB, and its source files, are licensed under the CERN Open Hardware Licence Version 2: CERN-OHL-S.
CP/M is licensed under the CP/M Licence 2022.
BAUDEXT.FID is licensed under the MIT Licence.
SETSIO.COM and QTERM are believed to be in the public domain, as are the other programs featured on the disc images in this repo.
As mentioned above, 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 | 1 | 10uF 16V Electronic Capacitor | Mouser |
| C3 - C10 | 8 | 0.1uF / 100 nF (104) Ceramic Capacitor | Mouser |
| J3 | 1 | 1x4-pin Header Male | Mouser |
| R1 - R6 | 6 | 10K Resistor | Mouser |
| Ref | Qty | Part | Source |
|---|---|---|---|
| A1 | 1 | Raspberry Pi Pico Clone | AliExpress |
| U1 | 1 | ESP12-F Module | AliExpress |
| Ref | Qty | Part | Source |
|---|---|---|---|
| U2 | 1 | 74HCT125 | Mouser |
| U3 | 1 | 74LVC244 | Mouser |
| U4 | 1 | 74LVC245 | Mouser |
| U5 | 1 | 74LS138 | Mouser |
The box header is for use with the PCW Backplane, whereas the female edge connector allows you to plug the PerryFi 2 directly into your PCW's expansion port.
| Ref | Qty | Part | Source |
|---|---|---|---|
| CONN | 1 | 2x25-pin 90-deg Keyed Male Box Header | AliExpress |
| EDGE | 1 | 50-pin Female Edge Connector | AliExpress |
Note that the box header is soldered to the front of the board, to the bottom two rows, but the edge connector is soldered to the back of the board.
When assembled with an edge connector, the PerryFi 2 connects to the expansion board on the back of the PCW with its front facing you, and the ESP12-F's antenna facing towards the edge of the PCW, not towards the middle.
These are entirely optional. Note that you will save a lot of money shopping around on AliExpress versus buying sockets and pin headers from Mouser.
| Ref | Qty | Part | Source |
|---|---|---|---|
| A1 | 2 | 20-pin Pin Header Male 20-pin Pin Header Female |
Mouser Mouser |
| U1 | 2 1 |
1.27mm 8-pin Pin Header Male and Female 1.27mm 6-pin Pin Header Male and Female |
AliExpress |
| U2 | 1 | 14-pin IC DIP Socket | Mouser |
| U3 - U4 | 2 | 20-pin DIP Socket | Mouser |
| U5 | 1 | 16-pin DIP Socket | Mouser |
There are two different firmwares to flash. These can be found in their respective repositories along with instructions for flashing them:
PicoDART - Raspberry Pi Pico Firmware PerryZi - ESP12-F Firmware
There are two boot images included; one for the Amstrad PCW 8256 family (dot matrix printers), and one for the 9512 family (daisy wheel printers). They both 720KB images, and are designed to be used on a modded Gotek.
Boot the relevant image on your PCW, and run the QTERMPF.COM terminal emulator. You will then be able enter AT+CONFIG to configure your wifi settings. For a complete list of commands, see the Command Reference on the PerryZi wiki.
There is also a third disk image, which contains additional communications software for you to try.
It's been a hectic four months working on this project, and I want to thank the following people:
-
John Elliott, for writing the fantastic Joyce emulator, and for his brilliant PCW Hardware documentation. Without these, the project may not have been possible.
-
Lee Taylor, for his technical help and support. It's always great to have someone more experienced to advise you.
-
Salvatore Bognanni, for his endless enthusiasm, driving me on, and his keenness to help test.
-
Stefan P for helping me with the ESP12-F KiCad footprint, and for his advice about exposing to GPIO pins for both MCUs. Without this, debugging the board would have been far more cumbersome.
Project PerryFi consists of several separate components which make the PerryFi 2 possible:
