Hands-free phone system with RN52 Bluetooth module and PIC24FJ64GB002

I began to assemble a hand-free phone system by the RN52 Bluetooth module of Microchip Technology Inc.    The RN52 is very reasonable but is small for hobby.    This blog reports only a CMD mode function because my present board doesn’t have an audio component yet.   A complete report will be uploaded when this set is equipped with an audio component.

<< Introduction in Japanese >>

昨年秋に携帯電話を FOMA から iPhone に変更した。FOMA サービス終了まで利用しようと思っていたが、外出中でのブラウザ閲覧の必要に迫られ、サービス変更を行った。ならば工作ネタの対象として考えるのも必然で、以前からのテーマでもあるハンズフリー通話の工作に取り掛かった。機種は iPhone 6s であるので、FOMA のように USB 接続でのハンズフリー操作でなく、Bluetooth 接続での操作となる。
HFP 規格に対応した Bluetooth module として Microchip technology 社の RN52 を用いた。RN52 を 2.54 mm 基板に半田付けするのには苦労した。今後は老眼も進み二度と出来ないと思うので、SparkFun Audio Bluetooth Breakout – RN-52 の利用を考える。
今回は途中経過として command mode での発着信の動作確認までを報告する。音声機能に関しては完備出来たら改めて報告する。

Mobile phone  <–  Bluetooth  –>  RN52  <–  UART  –>  PIC24FJ64GB002  <–  USB  –>  Keypad

HF Bluetooth-1

Inputted numbers are displayed in the first line of the LCD and the current connection status of the RN52 obtained with the Q command is in the second line.

<< PIC microcontroller board >>

Test board is the same in my blog page on Aug. 31, 2014.
( In Japanese : 平成26年8月31日の稿で示したボードを使用 )

Clock and pin connection of my board with PIC24FJ64GB002 :

FRC 8 MHz – 96 MHz PLL;
48 MHz for USB Module (96 MHz PLL divide by 2);
32 MHz for System Clock (96 MHz PLL divide by 3);

LED : RB0, RB1;    Switch (pull down) : MCLR, RB2;

LCD (SC1602BBWB-XA-GB-G) : RS – RB7, R/W – GND, E – RB8, Data bus : DB4 – RB9, DB5 – RB13, DB6 – RB14, DB7 – RB15;

<< RN52 >>

pin 3   GIO2 –  PIC pin 12 (RP4/RB4)
pin 11 GIO9 –  PIC pin 11 (RA4)
pin 16 TX     –  PIC pin 2 (RP5/RA0) assigned to U2RX
pin 17 RX     –  PIC pin 3 (RP6/RA1) assigned to U2TX
pin 21 PWREN – switch (pull high)
For flow control is not used, RN52 pin 14 RTS is connected with RN52 pin 15 CTS.

Default UART configuration of the RN52 module :
Baud rate : 115,200 Kbps
Bits : 8
Parity : None
Stop bits : 1

<< Sample code >>

Revision on February 23, 2016

(A project of MPLAB X IDE containing HEX.file only)

Based on Microchip Libraries for Applications v2014_07_22

<< Function of this set >>

You can power up the RN52 module by driving PWREN high.

If you enter a telephone number, RN52 will initiate outgoing call automatically after 3 seconds.

The maximum telephone number is 11 digits.

Enter-key is used to accept incoming call, to initiate outgoing call, and to terminate call.

Back-space key is used to cancel a last inputted number.

PIC-RB2-switch is used to practice a factory reset of RN52.

In Japanese :

<< 操作方法 >>

RN52 の PWREN – switch を長押ししてモジュールを起動。


Enter key:着信応答、強制発信、切断。

Back space:1文字キャンセル。

PIC の RB2-switch で RN52 を工場出荷時設定にリセット。