Rotary phone powered by Arduino
I use a simple connection to the rotary mechinism. In my case, the pink wire on my dial is the pulse pin. When dialing a number, the pink wire is intermittently connected to the orange wire. So…
Hook Detection:
The phone hook is a simple switch which is normally open.
Rotary Dial Arduino
/---------------------- readyPin w/pulllup
/- ready switch (NO)
/-- pulse switch (NC)
\ \---------------------- pulsePin w/pullup
\------------------------------------------ GND
readyPin pulsePin state
HIGH n/a default (waiting)
LOW LOW ready to dial / for first pulse
LOW HIGH pulse received (number = 1)
LOW LOW ready for next pulse
LOW HIGH pulse received (number = 2)
LOW ... (repeat)
HIGH n/a rotation complete, count recorded
Adafruit Feather 32u4 FONA
An ‘all-in-one’ Arduino-compatible + audio/sms/data capable cellular with built in USB and battery charging. Its an Adafruit Feather 32u4 with a FONA800 module.
Rotary Telephone
I bought one from ebay. Perfect working order as they are actually designed to last FOREVER! Mine is a BT model from the 70’s. They are cheap and fun to take apart.
The project is in VSCode using the PlatformIO plugin. RoataryDial is the only additional library needed.
Platform: Adafruit Feather 32u4 FONA
Library: RotaryDial by Tomas Mudrunka
Phone: Roatary Telephone
Wikipedia: Rotary dial