My cousin inherited a vintage Danish telephone (meets USA signal spec apparently) from our grandmother but lamented that she had no land-line to actually use it. Still, it would make a wicked cool addition to her nightstand.

So I was all like “I can Bluetooth that ish” then she be like


What it does

Makes and receives phone calls via Bluetooth and a paired mobile phone. Basically a big, heavy Bluetooth headset.

What it’s made of

Theory of operation

TL;DR: Works like a typical telephone.

Plug it in and pair it with your mobile phone using the standard method – press and hold the pairing button.

When a call is received, the phone rings. When you pick up the receiver the call is connected, when you put it down the call is ended. You speak and listen through the original handset. Furthermore, the MCU samples the rotary dial so you can initiate calls from the phone.

The MCU provides:

  • Regionally-appropriate dialtone when you pick up the handset
  • Regionally-appropriate busy tone

Trials and Tribulations

  1. How do I bypass the microphone gain stage to use the RN-52 with a pre-biased (1/2 of 3.3v), line-level audio input signal? This is referenced in the usage guide and datasheet but there is no command documented to use this. Does my application require a CODEC? I sure hope not.>>> The microphone gain can be changed from -3dB to 42dB in linear steps. If the gain is set to less than 24dB using the ‘SM’ command the line in mode is automatically entered.
  2. Is the audio output intrinsically a line-level signal?>>> The audio output is a speaker level signal and not line level signal.
  1. Which input channel (left or right) is used when in HFP mode? I’m making a device to turn a standard telephone into a bluetooth handset by way of a SLIC.>>> MIC_L+/- is used for HFP mode.
  2. Is this a typo? Do they mean the “microphone gain level” can be set from 00 to 1F?>>>>Yes that is correct. It is a typo. Should be ‘microphone gain level’. I will save this as an update to be captured for document revision.
  3. If the -3 to +42dB gain (45dB range) is entered from 0x00 to 0x1F, that means each increment equals a +1.4dB change. This means the default setting of 0x09 = +9.6dB gain. Is this correct? >>>>Yes it is a linear increment and should be an increment of 1.4dB per step. Did SM command work for your design line level input needs?



2 Replies to “Princess Phone”

  1. I’m inerested in more information on the “SM” command coulld you give a couple example on how set it to some different dB levels?

    1. Hi Schwarttzy,

      This project was put on hold a long time ago and since then I’ve been using the ESP32 WiFi/BT/BLE module. Much better support for that Bluetooth platform and much cheaper!


Leave a Reply

Your email address will not be published. Required fields are marked *

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