Siri-enabled bluetooth rotary phoneTue, Dec 13, 2011 at 4:05AM
Today, I’ve been participating in a twenty-four hour hack-a-thon. Tired of coding all day (what exactly that was, I’ll post later), I switched focus on hardware hacks to keep my mind fresh.
Since October, when Apple released the iPhone 4S with Siri, I’ve been kicking around the idea of using the Siri service as a virtual operator. Back in the old days (I’m not sure if I’m “qualified” to say that) telephone users could, at a premium charge, dial zero to have an operator arrange a call with someone, given you knew who they were or where they lived. Siri is remarkably similar to an old-fashioned operator; when it comes to automatic dialing, her impersonation is spot-on!
My surplus bags contained everything I needed to rig up a quick-and-dirty Siri system. Rotary telephone (bought non-functional): check. Bluetooth headset (only $2 from eBay): check. That’s it! Two pieces.
Onwards! Let’s rip apart this cheap, little bluetooth headset.
First of all, let’s re-locate that button. Since the headset is going inside the telephone, that button isn’t doing any good attached to that circuit board.
Let’s relocate that speaker while we’re at it.
The handset already had wires leading to the base from it’s past life. I can utilize these to extend the button which enables Siri, and to extend the charging port.
Now to fit the rectangular circuit board into the round handset…
All that’s left to do is connect the headset’s button to the rotary encoder wheel. When a number on the wheel is dialed, the two white wires close. Their connection-duration depends on which number is dialed: the higher the number, the longer they are connected. This is why I dial “one” instead of “zero.” Dialing zero holds the button down too long.
To clear up some confusion, there is another pair of wires coming from the encoder wheel that have a normally closed state, and open X times, where X equals the digit dialed. I am not using these mainly because their normally closed state adds unnecessary complexity to this quick and dirty hack.
And we’re done!
Finally, here’s a demo video. This was quite the easy hack, I hope someone out there extends upon it. Maybe, if I come back to it, I’ll use an ATiny (I have a few on-hand) as a wrapper for the encoder wheel so I can dial zero. However, the wait from dialing zero feels like an eternity. :/