This page is intended to show projects that I have played with (and possibly completed). Currently, these are:

SBC6120 (PDP-8 replica)

The Digital Equipment Corporation (DEC) produced a series of computers (originally called Programmed Data Processors). The early ones were named as PDP- followed by various numbers.

To me, one of the most interesting was the PDP-8, a machine using a 12-bit word (no bytes). It had a mere 3 bits to specify an instruction, and a maximum of 32k words of memory. It was originally produced using discrete logic; this was superseded by an integrated circuit version using logic circuits with just a few gates per chip. Eventually, an entire PDP-8 CPU appeared in a single chip, the Intersil/Harris 6100, with a later version being the 6120.

A kit (PCB and difficult-to-obtain chips) was available to build a single board PDP-8 using the Harris 6120; this was called the SBC6120. I built one of these; pictures below. It includes a ROM monitor for booting, testing, etc. I later burned custom ROMs that worked better for me.

Basic SBC6120 interior
Interior of the basic SBC6120. The small board is for power isolation and testing.

Another view of the basic SBC6120
Another view of the basic SBC6120. This shows the power connector on the rear panel, and the DE9 connector for the serial (console) port.

I later built a second one, this time with a silk screened front panel, LEDs and switches. I put it in a basic wooden case. The DE9 console connector, and the power sockets, are mounted in a plate on the side. The rear panel is attached with magnets, to make it easy for enthusiasts to look inside! A picture follows.

The SBC6120 with front panel
A view of the enhanced SBC6120, including front panel, LEDs and switches.

Both of these machines use a Compact Flash card as multiple 2MB hard disks, and will run the disk operating system known as OS/8. They can compile and run programs in various languages, including BASIC, FOCAL and FORTRAN.

Voice over IP PBX

One of the most useful projects was the Voice over IP PBX (Private Branch Exchange). This is a mini telephone exchange, within the house. The house is large and slightly rambling, so an internal phone system is very useful. Of course, all phones also work externally as well, so phone calls can be made from almost any room.

The PBX is based on an HP microserver, an inexpensive, small, low power PC. The underlying software is the open source Asterisk system, running on the FreeBSD operating system (not Linux).

An HP microserver
An HP microserver

The system is connected to the normal POTS telephone system via a LinkSys/Cisco SPA3102 ATA, which provides the necessary FXO port, as well as an FXS port that is used for an external bell.

An SPA3102 An SPA3102
An SPA3102

All of the actual phones are of course IP phones. Most are LinkSys/Cisco SPA303 models, with two being the smaller SPA301. These all plug directly into the house gigabit network.

An SPA301 An SPA303
An SPA301 phone (left) and an SPA303 (right)

For the history of telephone systems in the house, see my presentation on the subject.


The house is big, and it has a strange layout. This means that it isn't possible reliably to hear a knock at the door everywhere in the house. It certainly can't be heard in the garden. One option that was considered was a pair of cord-operated butlers' bells, with the cords tied together - but that would only have been a partial solution.

It was decided to harness the house PBX. The solution adopted was as follows:

  • There is a conventional doorbell push button, that matches the door furniture. This just closes a single wire circuit. It is linked (via a flexible wire coupling since it is mounted on the door) to a wiring centre adjacent to the PBX machine.
  • The pair of wires is connected to a digital input on an Arduino microcontroller. When the bell is pushed, this causes the input to change, and this is detected by the program running in the Arduino. The program then sends a prearranged signal along a USB cable connected to the PBX.
  • There is a 'listener' process in the PBX, waiting for the signal from the Arduino. When it is detected, a call is immediately queued to a special extension number. This causes all of the phones in the house to ring. A special cadence is used, very different from that used by normal phone calls.
  • The calls can be 'hushed' in selected bedrooms for a selected time. This allows younger occupants of the house to do so when they have ordered a late night takeaway delivery.
  • Special 'star'codes can be used to enable and disable the (normally silent) conventional bell in the garden. This is automatically disabled in the evening for the sake of the neighbours.

The bell used in the garden
The bell used in the garden

Valid XHTML 1.0! Valid CSS!

This site is copyright © 2018 Bob Eager
Last updated: 14 Jun 2018