
Next you need to rig up the circuit around the MCU. (See graphic to the left) Upload this sketch to the Arduino before going any further.
The sketch is one of the examples included with recent versions of the software. Mine is an Uno but I'm sure others will work as well. Other than those, everything is as he presents and it works great!įirst thing you do is get an Arduino and load a sketch onto it that turns it into a bit-banging programmer. (Because I liked the way it sounded better)
I increased the length of the tones in the MCU code from 100ms to 200ms. R2 was reduced to 220 so it would still be the path of least resistance when the MCU opened the Q1 path. Note: This appears to be draining the line too much as I'm told my voice sounds "too quiet" and "far away" - may want to bump the resistance value back up a bit. D1 is still there and should prevent it from going over 5V. It works as-is but the voltage to the MCU was just barely enough and I wanted plenty of wiggle room.
R1 was reduced to 330 to provide more voltage to the ATTiny45 microcontroller. The tones it was producing were so quiet that the VoIP device wasn't even registering them as attempts to dial. The resistor setup was completely changed:.
It would probably help to add a diode bridge to the circuit.
Polarity doesn't really matter with phone lines so there's no consistent standard saying which way is "correct" and which isn't.
The polarity on my line is opposite of the author's for whatever reason so the wires to F / RR and L2 are swapped. I did need to modify the circuit a bit, though: Unfortunately our cable-based VoIP phone line doesn't support pulse dialing so I would need to add DTMF support.įortunately, I'm not the only one with an odd sense of decor: When I inherited an old black wall-mounted phone, I simply had to get it working and hung on my own wall.