Phone line controller

Phone line controller

It might be “yet another” «device» controller that operates over phone-line, but this one works for sure 🙂
The task was to build a device that connects to the phone line and has a relay as an output switch. It should also sense if the connected «consumer» is turned-on or off and report to the administrator at the other end of the phone line. The administrator would then call-in the device, log in with the password, and check the state of «consumer», turn it on or off, change password or some other settings.
Current version has only one relay.


The administrator should call-in the device from another telephone. After a few (configurable amount of) rings, the controller will pick-up the line and answer with a beep. After the beep the administrator must enter 4-digit password onto the keypad of his phone (DTMF). This must be done in 6 seconds. If the password is not entered in 6 seconds or wrong password has been entered, the device will beep and hang up. You can call it again now.
After the password has been successfully entered, you will hear two beeps or three beeps. Two beeps means that the «consumer» is turned on (detected with «sense-input» if controller configured for «pulse-mode») or that the relay is turned on (if controller configured for «switch-mode»). Three beeps means that the «consumer» or the relay is turned off.
After those two or three beeps you can press:
1 – turn on relay (if configured for «switch-mode») or pulse the relay for N (configurable) seconds (if configured for «pulse-mode»)
0 – turn off relay (if configured for «switch-mode»)
* – enter settings
# – end session (hang up)
any other key will result in 5 long beeps (invalid command)
After pressing 1 or 0 the relay will do it’s job and you will hear two or three beeps after it has finished pulsing or turning on or off the relay. We know what those two or three beeps stand for from above.

After pressing the pound key (#) the controller will hang-up.

After pressing the star key (*) the device will enter setup. You will hear 2 long beeps and now you have these setup options:
1 – configure after how many rings the controller will answer a call (1 – 9, 0 (for 10), * (for 11), # (for 12))
2 – set the type of the system: pulse or switch – mode (1 – pulse, 2 – switch mode)
3 – the length of a relay pulse in seconds (1 – 9, 0 (for 10), * (for 11), # (for 12)) if configured for pulse-mode
4 – set the new 4-digit password (* and # can also be used for password)
# – exit setup, allways saving changes
After entering any of those options you will hear that-many long beeps and a short one. For example: If you press setup option 3, you will hear beeep-beeep-beeep-beep indicating that you entered setup option 3 (those 3 long beeps).
After entering an actual value in setup option, you will hear a short confirmation beep, followed by those two long beeps from entering the setup. Now we are back at the beginning of the setup and can choose again from the setup options above.

The device will remember the relay state even after power-down. When the power get’s back on it will put the relay into previous state before the power was lost.

There is also a timeout timer so that if you hang-up before the controller, it will keep the phone line occupied for about 35 sec and than hang-up.

If you ever forget the password, you can press the «reset_sw» switch. This will reset the password to the default value «1-2-3-4». The button only operates if the controller is in idle state. For example: waiting for a call…


If you don’t want to connect electrical «consumer» that operates on mains voltages, you might want to change the value of resistor at the «sense-input» from 47k to less than that or whatever you might need this detect-circuit for:

Download PhoneLineController.rar ( HEX, shema, description .rar )

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.