Arduino based handsfree/headset for Android

I know your first question…why??? :stuck_out_tongue:

I have a vintage/retro telephone, the type with a rotary dial and analog bells inside that are hit with a hammer when the phone rings. I want to interface this unit with my mobile phone (Samsung Galaxy Note, GT-N7000, Android 4.1.2) to perform the following functions:

  1. On an incoming call on the mobile, the analog bell on the rotary phone rings.
  2. When the rotary phone handset is picked up, the call is answered.
  3. The handset speaker/microphone of the rotary phone are wired into the call.
  4. When the handset is hung up, the phone call is ended.

I’m not too fussy about whether this has to be done wirelessly or not. Certainly it would be a bonus to connect via WiFi or Bluetooth but if it has to be USB I don’t mind.
I’m fairly sure I can achieve 1. 2. and 4.- there seems to be a reasonable amount of information on how to interface with Android, do things like read and write data over Bluetooth etc. What I’m a little lost on is 3.

I think I can get audio in/out of the Arduino doing something like this -
But I’m unsure how to route the call audio in and out of Android.
This toolkit-
can link Android and Arduino and it seems simple enough to get 1. 2. and 4. working, but again I’m a little stumped on 3. Hardware is my strong suit, software not so much.

If anyone has any ideas or input I would love to hear it, I think this would be a good project to have online for people wanting to experiment with audio things and Android.


It seems that the best way to do this would be to start with a Bluetooth earpiece. It already has most of the functions you need, you'll simply need the electronics to interface the speakers, ringer, and switch to it. Then just use the built in Bluetooth headset functions on the phone.

Your project is basically a combination of the popular Bluetooth handset hack, and Sparkfun's Port-o-Rotary phone project. You'll find most of the relevant information and electronics in those two projects.

Thanks for the reply macegr.

You're right, those projects seem to do both ends of what I want to do...the only problem is I can't see a way to combine them. It would probably be simplest to hack an existing bluetooth headset, however how would I then make the analog bell ring on an incoming call? The port-o-rotary is cool but it kinda goes the other way to my intended use (theirs is a complete functional phone whereas I want mine to have connectivity to a mobile).

Perhaps if I get a bluetooth headset, hack/fit that to the receiver and then use Arduino to control the whole lot and make the bell ring?

To ring the bell, you need about 60 to 80 volts at 16 Hz or so.

NE555, a couple of power transistors and a transformer would be one way. Note that the transformer is de-rated to one third of its normal voltages, so you want something like a (small) 240 to 40-0-40 transformer.

Found this- Bluetooth Portable Rotary Phone - Black - POR-09803 - SparkFun Electronics

A bluetooth version of the port-o-rotary. Essentially the very thing I wish to build! It uses an ATMega328 to control the bluetooth module. Unfortunately although the code is open source I have no idea how to compile and load it onto the microcontroller.

Looks like I have some study to do but at least I know it is 100% feasible.