Home  |   Gallery  |   MG Midget  |   Le Mans  |   Networking  |   Downloads  |   Links

 Caller ID

For a while I've been looking at how to get Caller ID info into a PC. So many modems appear to offer it but every one I could get my hands on doesn't actually support UK Caller ID. The options seemed to be buy a new analogue modem known to work or buy a dedicated unit (like a Meteor) - Both of which seemed overkill and likely to cost over £70/£80 for a decent modem and well over that for a Meteor.

Then Jon Payne posted to the UKHA_D mailing list details of a circuit he'd designed which took the raw output from the CID decoder chip on a BT CID unit and converted it to RS232 ready for a PC. His Site giving the details is here. Having a BT CD50 already I was very interested. After a few enquiries I had a component list and placed an order with Farnell. Once the bits arrived I quickly hit my first snag - how to solder them together without a PCB. Jon's were all soldered together very neatly and I doubted I could replicate that, so instead I went for an alternative PCB or "Pretty Crappy (bit of card)Board. I pencilled the circuit and component locations on and then carefully pushed each component through pin holes. This also held them whilst I fumbled about soldering them together on the reverse.

The next issue was how to power it. Jon's circuit doesn't give details of where to source the required 5V from. For initial testing my impatience got the better of me and I simply used the existing BT CD50 batteries. Jon gently pointed out that this rather dangerously eliminated the Opto isolation between PSTN and PC. Ooops. Sure enough it induced sufficent crackling on the phoneline to make CID reception pretty hit and miss. Plan B. Use old AT power supply 5V lines for testing. Not exactly pocket sized but workable.

1st Test with BT CD50
2nd Test with alternative CID Unit

The Cat5 cable goes to the serial port of my PC - I use a Cisco RJ45/9 Pin convertor, for convenience and because I have a ready supply of them. With it all Hooked up it works! The PC received data each time a phone call rang. Unfortunately it was in raw CID format so I needed to parse it and then feed it into HomeSeer

I considered starting to write my own HomeSeer software but was a little daunted as I haven't written any meaningful software before, though I have dabbled. On the off-chance I tried an existing Caller ID plugin Patrick Lidstone had written for the Meteor Unit. It worked first time!. I did discover however that the Meteor must do some additional cleaning of th data as the Plug-In and my CID unit produces plenty of false call events. Some additional scripts to detect only events where the Exchange supplied date and time has actually changed (indicating a "real" call) however fixed that. It also meant I could match the Phone Number to an address list. Currently this is a simple text file though I'm sure it could be extended to use Outlook.

With Software and Hardware now working I considered permanent mounting. I was reluctant to lose the CD50 from it normal home as the Wife still uses it to check calls whilst we've been out, but equally didn't want to have additional Cat5 and Mains adaptors in its current location. I also thought I might struggle mounting my circuit in the limited space available in side the CD50. Late one evening I opened up another CID unit I had (free with some BT offer a while back). I located what seemed to be the CID decoder chip. Although different to the CD50 unit, I managed to find the appropriate data sheet on the web. The output seemed similair enough to the CD50 to make it worth trying with the RS232 convertor. Again it worked first time :-).

Location of the Data Take-off from the CID PCB
Circuit Mounted in Enclosure

There was definately not enough space within this Unit so I bought a small enclosure and mounted the circuit within that. Complete with jacks for Input from the CID and Power from a Wall Wart adaptor. I soldered a small tail onto the CID unit decoder and cut a small hole in the casing to allow it out. I even added a "Power-on" led to the enclosure. I've since played with a Quasar board for temperature sensing which has the appropriate regulators etc to power itself direct from the comm port. At some point I may replicate this to eliminate yet another Wall Wart in node0.

The Unit now sits in Node 0 and I use HomeSeer to e-mail details of calls to work and also send it via one of the many HomeSeer LAN messenger services to my Main PC. Very Useful for knwoing when to leave phone well alone when working in the study and the In-Laws call ;-). At some point I hope to have some sort of OSD in the lounge or maybe display it via a SLiMP3 - It will save that agonising walk to the CID unit already in the corner....

Completed CID Unit and RS232 Convertor ready for Installation

This is the list of Farnell Part nos. for the components used in the Circuit:-

  • 1x 326770 - 6N137 Optocoupler
  • 1x 3025020 - ST232CN IC Transciever (the MAX232)
  • 1x 412430 - 78L05 +5v Regulator
  • 1x 514020 - 1k Resistor
  • 5x 105857 - 0.1 uF Capacitor.
  • The case and sockets, plugs etc were from Maplins.

  • 1x SC80 - ABS Enclosure
  • 1x YY39 - LED Clip 3mm
  • 1x CJ66 - 3mm 12V LED Red (12v but works fine on 5v!)
  • 1x JK00 - 2.5mm Jack Plug (For CID Data Feed)
  • 2x HF78 - 2.5mm Jack Socket
    (1 for CID Data Feed, 1 for Power if ext adaptor used)
  • For the circuit diagram itself see Jon Payne's Site...
    Were I to do it again I'd use power from the Serial Port. The following Circuit is from Quasars K3134 Kit which is self powered from the Serial Port

    Serial Port Power Mod.