Connect at up to
56K

Wiring

Every connection in the box, pin by pin. GPIO numbers are the Pi's Broadcom names; pin numbers are positions on the Pi's 40-pin header. Pin 1 is the one with the square solder pad, at the memory card end of the header. Odd pins are on the inner row, even pins on the row along the edge.

Before you wire

Work with everything unplugged. The OLED, the expander and the serial boards run from 3.3 V (header pin 1), never from 5 V: 5 V on the Pi's GPIO pins will damage it. Only the amplifier takes 5 V.

Power

The reference power wiring is not proven safe

This is how our prototype is wired. It has no fuse, no protection against a reversed or wrong supply and no protection against power flowing back from the PC's USB port, and it has not been tested for load or faults. Build it carefully, check it with a meter, and never leave it running unattended.

The reference build feeds the supply's 5 V to the Pi and to the amplifier separately, so the amplifier's current doesn't pass through the Pi. On the Pi it uses two test pads: PP1 (5 V) and PP6 (ground). Find them by the labels printed on your own board, not from a picture of another board, and check them with a meter (below) before you solder.

FromTo
Barrel socket centre (+5 V)Pi PP1 test pad (5 V in), and the amplifier's Vin
Barrel socket sleeve (ground)Pi PP6 test pad (ground), and the amplifier's GND
Pi pin 1 (3.3 V)OLED VCC, expander VCC, the serial boards' VCC
Pi pin 6 (ground)OLED GND, expander GND, the serial boards' GND

Leave the Pi's header pins 2 and 4 (5 V) unwired. If your barrel socket has a third, switched contact, insulate it and leave it unconnected.

Before you power up, with everything unplugged:

  • Check PP1 and PP6 with a meter. PP1 must show continuity to header pin 2 or 4 (5 V), and PP6 to header pin 6 (ground). If they don't, you have the wrong pads: stop.
  • Check the barrel socket with the plug in. Plug the supply's plug in (supply unplugged from the wall) and check which socket contact meets the centre pin and which the sleeve. The centre is +5 V.
  • Check for shorts between 5 V and ground, and between 3.3 V and ground.

When you use it:

  • Use a regulated, protected 5 V supply, centre positive. Our prototype uses a 2.5 A adapter, but no current rating for the whole box has been worked out yet. For the first power-up, use a bench supply with a current limit if you have one.
  • Never power the box from the PC's USB port and the barrel socket at once. That is why the USB cable's +5 V wire is cut (see below). Unplug the barrel power before you connect a USB cable that still carries +5 V, and unplug that cable before you plug the barrel power back in.
  • Never plug or unplug bare wiring while the box is powered.
  • An inline fuse in the 5 V lead from the barrel socket is a good optional extra.

The screen and the lamp board (I2C)

The OLED and the MCP23017 share the Pi's I2C bus.

PiOLED (SSD1306)Expander (MCP23017)
GPIO2, pin 3 (SDA)SDASDA
GPIO3, pin 5 (SCL)SCL (may be marked SCK)SCL
Pin 1 (3.3 V)VCCVCC
Pin 6 (ground)GNDGND
  • The firmware looks for the OLED at address 0x3c, and the setup page has no setting for another address, so use a 0x3c module. Check the address on your module before you power up.
  • For the Waveshare MCP23017 board, leave the A0/A1/A2 address straps open: that gives 0x27 (on that board, closing all three gives 0x20). With any other MCP23017 board or a bare chip, set the address to 0x27 (on the chip itself that means A0, A1 and A2 high) and check it. With a wrong address the lamps stay dark. If a bare chip's RESET pin isn't pulled up, tie it to 3.3 V.
  • The Waveshare expander board already has pull-up resistors on SDA and SCL. Check what your other modules have before you add any more.

The eight lamps

Each lamp is wired from one expander output, through its own 470 ohm resistor, to the LED's anode (the longer leg). The LED's cathode goes to ground. An output that goes high lights its lamp.

Expander pinLampLit when
GPA0PWRThe box is running
GPA1AAAuto-answer is on
GPA2OHOff hook: in a call
GPA3CDCarrier: connected
GPA4RDData going to the PC
GPA5SDData coming from the PC
GPA6READYThe modem is ready
GPA7NETThe box is on your Wi-Fi

Fit them left to right in that order on the front of the case. Leave the GPB pins unwired. Never connect anything to GPB7: the firmware drives it as an output.

The speaker (I2S amplifier)

PiMAX98357A
GPIO18, pin 12BCLK
GPIO19, pin 35LRC (LRCLK)
GPIO21, pin 40DIN
5 V from the supplyVin
GroundGND
  • The speaker goes between OUT+ and OUT-. Neither of them is ground: never connect either one to ground.
  • Leave SD and GAIN unconnected only if your board's own notes say that gives 9 dB gain and the (L+R)/2 mix; ours were taken from the seller's photos, not a schematic. Don't connect SD to a Pi pin: its pull-up may go to 5 V.
  • No MCLK wire is needed.

The PC connector (DA15)

The box has one connector for the PC: a female DA15 socket, 15 pins in two rows (8 on top, 7 below; not a three-row VGA socket). USB and the serial line share it. This is our own pinout, not a standard one, so never plug an ordinary 15-pin cable (a joystick, network or VGA cable) into it. The full drawing is page 7 of the wiring plan (PDF, on the Downloads page).

DA15 pinSignalIn the box
1DCD, carrier detectS2 T1OUT
2RXD, data to the PCS1 T1OUT
3TXD, data from the PCS1 R1IN
4DTR, PC readyS2 R1IN
5Ground (serial and USB)Common ground
6DSR, modem readyS2 T2OUT
7RTS, from the PCS1 R2IN
8CTS, to the PCS1 T2OUT
9RI, ring indicatorS3 T1OUT
10USB D-Pi pad PP23
11USB D+Pi pad PP22
12-15Not connected
  • No pin carries power: the box runs from its own barrel supply and must never be powered from the PC.
  • Find PP22 and PP23 by their printed labels on the Pi and check them with a meter against the data pins of the Pi's USB socket (D- is its pin 2, D+ its pin 3) before you solder.
  • Look at the socket's moulded numbers: seen from the front and from the solder side the order is mirrored. The metal shell is not pin 5.

The PC cable starts at a male DA15 plug and splits in two:

DA15 plug pinGoes to
10USB-A plug pin 2 (D-)
11USB-A plug pin 3 (D+)
5USB-A plug pin 4 (ground), and DE9 pin 5
1-9The same pins of a female DE9 socket, for a straight-through serial cable
USB-A pin 1 (+5 V)Nothing: cut it short and insulate it

Keep the two USB data wires twisted together and short. Check the cable with a meter before you first plug it in: no USB pin may touch a serial pin, and the USB +5 V wire must reach nothing.

A prototype drawing

The wiring plan is a prototype drawing and says so: it has no fuse, and plugging the USB side in and out while the box is on has not been qualified yet. Plug the PC cable in with the box switched off.

The serial port (being tested)

Being tested

This wiring hasn't been checked with a real PC yet. USB is the supported connection. Never connect RS-232 signals straight to the Pi: they swing well beyond 3.3 V.

Three MAX3232 boards, called S1, S2 and S3 here, each with VCC to 3.3 V and GND to ground. Their RS-232 side goes to DA15 pins 1-9; from the PC cable's DE9 branch, the serial cable to the PC must be straight-through with all nine wires.

SignalPiConverter, Pi sideConverter, RS-232 sideDA15 pin
Data to the PC (RXD)GPIO14, pin 8S1 T1INS1 T1OUT2
Data from the PC (TXD)GPIO15, pin 10S1 R1OUTS1 R1IN3
CTS to the PCGPIO17, pin 11S1 T2INS1 T2OUT8
RTS from the PCGPIO16, pin 36S1 R2OUTS1 R2IN7
DCD, carrier detectGPIO22, pin 15S2 T1INS2 T1OUT1
DSR, modem readyGPIO23, pin 16S2 T2INS2 T2OUT6
DTR, PC readyGPIO27, pin 13S2 R1OUTS2 R1IN4
RI, ring indicatorGPIO24, pin 18S3 T1INS3 T1OUT9
Signal groundPin 6GNDGND5
  • Fit a 10 kilo-ohm pull-up from 3.3 V to each transmitter input in use: S1 T1IN, S1 T2IN, S2 T1IN, S2 T2IN and S3 T1IN.
  • On S3, tie the unused T2IN to 3.3 V. Leave every other unused pin unconnected, and never join two outputs together.
  • The DA15 socket's metal shell stays unconnected. Pin 9 is the ring indicator, not power.
  • The port runs at 115200 bps, 8N1, with RTS/CTS flow control. The box keeps RI off for now: there are no incoming calls yet.
  • On Windows, add the modem yourself (don't let Windows detect it): pick a standard modem that allows a maximum port speed of 115200, on that COM port. Set the maximum port speed to 115200 and the flow control to hardware (RTS/CTS).

Next: the case.

Copyright © 1999–2026 Netstalgia. All rights reserved.
Netstalgia Online: the dial-up network, the way you remember it.