[Update 07/01/2021] Received REV-J3 boards from the printer, and soldered a few of them up (see "Component side of REV-J3" pic below)
This project is a single circuit board solution to managing multiline "1A2" business phones popular in the 1950's - 1980's in the United States and other countries, collectively called "key systems". During that time the phones were managed by large control boxes from AT&T called a "KSU" (Key System Unit) that varied in size from a shoe box to large racks taking up an entire room.
Many of these phones are available in surplus, but can't be used as intended without these cumbersome control boxes. At the time miniaturization started becoming popular, the phone industry took a sharp turn in a radically different direction: after the Bell System was broken up, "digital" phones quickly became popular, so these old phone systems became yesterday's technology quickly.
So my project kinda picks up where the industry left off, had it given those old phones a few more generations; it "miniaturizes" the functions of the KSU into a single circuit board making it much easier to quickly connect up to 4 of these phones, such as for use in small office environment, or to demo the old phones easily.
I've actually switched my own business phone system over to one of these boards with 2 lines and 3 extensions, adding a Viking AR-1 to act as the autoattendant (blocks robocalls) and an answering machine to take calls when no one answers.
This 1A2 "single board KSU" project has evolved over time, resulting in a series of board revisions that accumulated improvements and features as it went. The project started with REV-B, and is now up to REV-J.
|If you're interested in these boards, contact firstname.lastname@example.org with the email Subject: "1A2 KSU Inquiry" and I can supply ordering info. Include info on phone models you expect to use, and any other details/questions.|
In REV-J3, Velcro slots were added to the board to allow securing amphenols. This involved moving the entire 1A2 signal bus around to accomodate. The board's width was decreased by about 1/4" by optimizing component positions and traces. (Smaller board widths simplify shipping) Electrically this version is no different from the previous REV-J2 or REV-J1.
In REV-J2, "EXTRA" (C9) had extra pads added to accomodate large components. For single board installations, this position is populated with a power resistor. Some small silk screen changes were made for part#s. Electrically this version is no different from the previous REV-J1.
In REV-J1, Northern Telecom LOGIC 10/20/30 support was made official; The buzzer circuit's polarity was swapped to support these phone sets. Small trace routing changes were made to "clean up", including improving clearance. Some small silk screen mods.
In REV-J, support for Northern Telecom phones was added. This involved reversing the polarity for the A leads for lines 1, 2 and 5. The changes for Line 1+2 were minimal, but the ICM modifications involved dropping the TIP32 (Q6) and its two resistors (R25 and R27), and replacing them with a single 1uF capacitor and some trace rewiring. In REV-J1 the buzzer leads were swapped on all the Amphenol connectors, to prevent an NT phone from blowing the board's fuse if directly connected without any rewriring on a connection block. NT LOGIC 10/20/30 phones are properly supported in REV-J1 (and up) if proper connection block rewiring is used; see the manual.
Also, a missing ground in REV-H1 and REV-H2 was fixed; on EXT2, the lamp ground for Line 4 was omitted, causing its lamp to not light. This problem is only seen when 2 boards are interlinked. The fix for REV-H1 and REV-H2 is to add a jumper between pins 37 and 40 on EXT2.
The following are animated gifs showing the physical changes between older and current board revisions.
Here are changes between J2 and J3: all, top, bot. photo-top, photo-bot.
Here are changes between J1 and J3: all, top, bot. photo-top, photo-bot.
Here are changes between J1 and J2: all, top, bot. photo-top, photo-bot.
Here are changes between J and J1: all, top, bot. photo-top, photo-bot.
Here are changes between H2 and J: all, top, bot. photo-top, photo-bot.
Otherwise, this revision offers the same features as previous releases:
When combining two boards to provide a total of 4 CO lines / 8 extensions, each extension can be
uniquely dialed on the intercom line via Touch-Tone or Rotary. This page
shows how to interlink two boards.
Covers Installation, Use, Troubleshooting, Equipment, etc.
|BOM / Parts List||Bill Of Materials: Digikey parts list with prices + total parts cost|
|PCB Layout File||Editable Sprint 6.0 PCB layout file (used for printing PCB boards)|
|PIC .hex files [CPU1] and [CPU2]||Separate binaries for the PIC chips|
|PIC .c source files||The V1.3D PIC source code on github|
|ExpressSCH Schematic (.sch)||The editable ExpressSCH schematic file|
|Circuit Description||Description of how the circuit works (Idle, Call, Hold, etc)|
|Gerber/Drill Files (1a2-REV-J3.zip)||Gerber + Drill files as a zip file|
|How to manage this project||How to use Sprint PCB layout, save Gerbers, print boards, etc|
|PIC Programming Notes||My loose notes from learning PIC programming|
In the MPLAB X IDE, you can create two projects for the PIC16F1709 chip; one project for CPU1, and one for CPU2. In the new CPU1 project, create a new .c file called "cpu1-main.c" and a new include file "Debounce.h", and copy/paste the above 1a2-pic-cpu1-REV-G-firmware.c and Debounce.h files respectively into them. Ditto for the CPU2 project; create a new .c file called "cpu2-main.c" and a new include file "Debounce.h", and copy/paste the above 1a2-pic-cpu2-REV-G-firmware.c and Debounce.h files respectively into them.
The software has no dependence on external libraries; the software is entirely self-contained; all functions provided are in the source code above.
The board logic functions are managed by CPU1 (IC8) include detecting incoming calls, flashing the lamps, powering up and directing the external ring generator, detecting line pickups and hold conditions, and handles some intercom dialing detection and supplies the 60Hz extension buzzing signal. This software uses only 5% of the 1K of data memory, and 17% of the 8K program memory.
The other PIC chip, CPU2 (IC10), handles rotary dialing, and emulates a 7445 for 1-of-8 decoding of the DTMF MT8870 chip. The firmware for CPU2 is a relatively small program.
The "PIC PROGRAM" connectors (JP1 and JP2) let one re-program the PIC chips firmware on-board, without having to remove the chips to program them. Just plug Microchip's PICKit 4 USB programmer (a $50 device) into the appropriate PIC PROGRAM connector to directly program each chip; use JP1 to program CPU1 (IC8), and JP2 to program CPU2 (IC10).
You don't need this software to print these boards yourself; you can just use the Gerber + Drill files to have them printed.
You only need the software if you want to make changes to the board. I found Sprint6 very easy to work with, as you can "just draw it". Has a pleasant user interface and is very stable.. it never crashed once in the several months I've been working with it. And one can generate Gerber files from this software, allowing boards to be printed just about anywhere in the world.
I think the software cost me about $60 USD for a license, but I think you can use the eval to open and do everything but save. $60 is cheap, compared to what most PCB layout software costs. So with this program you can load up the board's PCB Layout File to edit it, generate Gerber/Drill files, and send for printing. I used these instructions for saving out the Gerbers and having the boards printed.
Phone Extension Connector Pinout
Pinout for extensions on a single board.
Pinout for extensions on interlinked boards.