Arduino Telephone Caller ID Unit

by jayakody2000lk in Circuits > Arduino

6403 Views, 20 Favorites, 0 Comments

Arduino Telephone Caller ID Unit

DT9032-CLI-MID.JPG

CLI, also known as Caller ID and calling number delivery (CND), is a service offered by the telephone service provider to customers to obtain the calling party number and date/time of the call. The service activation and information format of CLI are different from telephone network operator to operator.

In this project, we will create a simple Caller ID decoder using Arduino UNO and a custom-made HT9032D module.

The core component of the project is the HT9032D, which can decode incoming call ID data over a telephone connection. This IC supports Bell 202 FSK and ITU-T version 2.3 CLI protocol specifications.

This caller ID display unit consists of 2 line character LCD to display caller ID and date/time information sent by the telephone exchange. This unit also has missed call indicator and option to recall last call information.

HT9032D Module PCB

ht9032d-hd.jpg

The HT9032D module design files are available at /ht9032d-module directory at the Github repository. Gerber files for PCB production are in the Release section of this repository.

The HT9032D module consists of standard through-hole type components. No special soldering equipment is needed to assemble this module.

Component List of HT9032D Module

  • C1, C3 : 0.01μF / 400V Mylar Capacitor
  • C2 : 0.1μF / 50V Mylar Capacitor
  • C4, C5 : 33pF Ceramic Capacitor
  • C6, C7 : 0.22μF / 400V Mylar Capacitor
  • D1 : 2W10 Bridge rectifier
  • R1, R2 : 200KΩ
  • R3 : 22KΩ
  • R4 : 10MΩ
  • R5 : 470KΩ
  • R6 : 18KΩ
  • R7 : 15KΩ
  • U1 : HT9032D (DIP-8)
  • Y1 : 3.58MHz (HC49) Crystal
  • J1 : Molex 52018-6616 or equivalent RJ11 / 6P6C PCB socket
  • J2 : 5-pin 2.54mm Pin header

All resistors are ¼W Carbon film resistors with 5% tolerance.

Components Required to Build the Caller ID Unit

The following components and modules are required to assemble the call ID display unit.

Schematic and Arduino Sketch

arduino-uno-layout.jpg

Both pictorial and symbolic wiring diagrams are provided in the GitHub repository to minimize the complexity of assembly.

The Arduino sketch required for this caller ID is available here.

The Arduino UNO is used to process the decoded CLI data stream and manipulate the LCD. In an idle state, the decoder and LCD are inactive. If the system detects the ring signal, the Arduino initiates data processing over the UART channel to locate the incoming CLI information. Successfully decoded data are display on the LCD screen. The Arduino sketch prepared for this project can handle the caller line ID, name, and date/time MDMF (Multiple Data Message Format) packet IDs. As we have observed, these MDMF IDs are found in nearly all CLI data streams.

Building the HT9032D Module and Caller ID Unit

Arduino based telephone Caller ID display unit

All the steps to build the HT9032D module and the caller ID unit are shown in the video available in this section.

The HT9032D module constructs in this project are consist of standard through-hole type components. No special soldering equipment is needed to assemble this module.