Epson CX-21 acoustic coupler: reverse-engineering notes
The Epson CX-21 is a 300-baud acoustic coupler from about 1983–84, built to the ITU V.21 standard. It talks to the computer over RS-232 on a DB25 connector, runs from batteries or a mains adapter, and was made to go with Epson portables such as the PX-8 and HX-20.
The one I bought had corrosion around the battery connector (since repaired). I couldn’t find a manual or a schematic anywhere online, so I traced the board, measured it, and got it fully working. These are my notes, written up as a reference for other owners.
The unit at a glance
| Item | Value |
|---|---|
| Standard | ITU V.21, 300 baud, full/half duplex |
| Interface | RS-232, DB25 |
| Modes | Originate / Answer; Half / Full duplex; Test position |
| Indicators | Power LED, Ready LED (Ready = carrier detected) |
| Power | 4-cell NiCd pack (marked RB-105, ~4.8 V) or DC adapter via jack |
| Current draw | ~140 mA at 4.8 V idle (~0.67 W) |
| Board marking | “ACM-21 BOARD” |
Inside the board
| Ref / marking | Function |
|---|---|
| Epson E03010A (18-pin DIP) | Custom CMOS control chip: mode switches, RS-232 handshaking via the 4049, LED logic, low-battery latch. VDD on pin 18. |
| Epson E03020A | Custom modem chip with the crystal. Judging from the layout, it appears to handle FSK generation, demodulation and carrier detect. |
| Toshiba TC4049BP | Hex inverting buffer. Drives both LEDs (via 470 Ω) and doubles as the RS-232 line receiver (its inputs tolerate voltages above VDD). |
| TI SN75188N | RS-232 line driver (1488 family), outputs on pins 3, 6, 8 and 11. |
| 3 × NEC µPC1458C | Dual op-amps: filters, microphone preamp, speaker driver. |
| 3 × trimmers | Analog level / threshold adjustments. Mark their positions before touching them. |
| SR2 = 79L05 | Negative 5 V regulator (from the −7.7 V rail) for the analog section. |
| IC5 = Mitsubishi M51204 (5-pin SIP) | Voltage comparator. Likely either the battery-voltage detector or the converter controller; I haven’t confirmed which. |
| T (yellow-taped) | Transformer of the DC/DC converter (multiple windings). |
| R1, D13 | 8.2 Ω 2 W resistor and diode: the adapter/charging path. |
| CN3 | Battery connector (3 pins, 2 used). |
| CN5 | DC adapter jack. |
| SW3 | Power on/off. |
| Jumper near “ACM-21 BOARD” | Set to position “B”. Purpose unknown; possibly a variant or country option. |
The wrinkled solder mask on the wide traces is not damage: it’s typical of early-80s boards with tin-lead plating under the mask, which melts during wave soldering. The cross-hatched copper areas are intentional.
Power system
A transformer-based DC/DC converter produces a regulated +5 V (I measured 4.98 V) from the 3–5.6 V battery node, plus +8.4 V / −7.7 V for the RS-232 driver and the op-amps. A 79L05 derives −5 V for the analog section. The 5 V rail stays regulated with the battery node anywhere between 3.0 V and 5.2 V.
Charging goes adapter → R1 (8.2 Ω) → D13 → battery node. With the Epson adapter (about 9 V open circuit, 6–7 V at 600 mA) roughly 240 mA flows through R1: about 150 mA runs the coupler and about 70 mA net goes into the pack, roughly C/10. That’s a sensible design for a unit that spends its time on mains.
Low battery: below about 4.7–4.8 V the power LED blinks. The state is latched: raising the voltage again doesn’t clear it. Switching off for a few seconds, until the logic supply decays, does.
As for the power budget, the SN75188 is the largest consumer, followed by the op-amps. Add the converter losses and that matches the ~0.67 W I measured.
Faults found, and the blinking-LED mystery
Corrosion from a leaking NiCd pack had run along the charging trace from R1 to CN3, and the plastic case was slightly melted near R1.
My guess at the history, which I can’t prove: a cell shorted, the charge current through R1 rose to around 390 mA (about 1.2 W in R1), and the unit was left on mains for long periods. That would have overheated the case and made the pack vent.
Once the board was cleaned up, my first tests made the power LED blink even at 5.2 V, and I went looking for a fault. There wasn’t one. During an early voltage sweep I had taken the supply down to 3 V, which set the low-battery latch. Once I understood the latch, the unit turned out to be healthy.
Another thing that looks like a fault but isn’t: the Ready LED stays off on the bench. It indicates carrier detect, not “DTR present”.
Testing without a phone line
- Answer mode transmits a steady 1650 Hz mark tone straight away.
- Originate mode stays silent until it hears the answer tone. Playing 1650 Hz into the cup (a tone-generator app on a phone works) makes it reply with 980 Hz and light Ready. Only then does it accept RS-232 data, and typed characters can be heard as FSK.
- Test position transmits on the channel its own receiver listens to (originate → high tones, answer → low tones), for loopback. With nothing on the DB25 the floating TXD input makes the tone warble; tie TXD to mark or connect a terminal.
Full loopback, my method: in originate mode with the carrier up, I recorded the coupler’s output while typing on a Mac at 300 baud. Then I switched to answer mode and played the recording back into the cup. The same text appeared on the Mac, which confirmed the modulator, the demodulator and the RS-232 side in one go. The duplex switch was on Full.
If you’d rather do it in software, minimodem can play either side. The first command decodes the originate channel; the second acts as the answering end:
minimodem --rx 300 --mark 980 --space 1180
minimodem --tx 300 --mark 1650 --space 1850
The measured RS-232 driver rails are +8.36 V / −7.68 V, enough for valid RS-232 levels.
V.21 frequencies
| Channel | Mark (1) | Space (0) |
|---|---|---|
| Originate (ch. 1) | 980 Hz | 1180 Hz |
| Answer (ch. 2) | 1650 Hz | 1850 Hz |
A 200 Hz shift at 300 baud (modulation index ≈ 0.67) is the compromise that lets two full-duplex channels share a telephone line with simple filters. Bell 103, the US equivalent, uses different frequencies and reverses the mark/space order, so a Bell 103 modem won’t talk to a CX-21.
Care of the rubber cups
Clean them with mild soapy water. To condition the rubber, use a glycerine-based rubber care product or 303 Aerospace Protectant, applied thinly and wiped off. Avoid petroleum products and plant oils such as coconut oil, and keep everything away from the speaker and microphone openings.
A practical tip from another CX-21 owner (see references): lifting the mouthpiece end of the handset slightly gave better connections than pressing the handset firmly into the cups.
Plans
I’d rather not fit a new NiCd pack, so I’m working on a mains-only substitute that sits in the battery compartment: a TL431-controlled PNP shunt clamp that holds the battery node at about 5.4–5.8 V and absorbs the surplus charge current, plus bulk capacitors. The original board stays untouched. Details in a later post.
References
- Centre for Computing History: the CX-21 manual in their archive (catalogue CH13135, not online), and a CX-21 unit (CH13106).
- Retrocosm: using a CX-21 with a PX-8.
- Epson PX-8 user manual, section 4.10 (acoustic couplers; cable #724 for DB25 couplers).
- Mitsubishi 1984 General Purpose ICs data book, on Bitsavers, for the M51204.
- Computer History Museum: holds the related CX-20 operations manual (catalogue 102638123).
Do you have a CX-21? I’d like to hear from other owners, especially anyone with the original manual or a schematic.