Bluetooth controlled FM Tuner

Simple and effective way to listen to FM radio using SIM800H module controlled by Bluetooth from smart phone, laptop, RPi, desktop etc.,

Public Chat
Similar projects worth following
If there is no 2G network support available anymore and if you have SIM800L or SIM800H, still you can make use of the module to listern to FM radio. SIM800 family GSM/GPRS modules were very popular during 2G era. In the SIM800 family of modules SIM800L and SIM800H having FM radio function. Both SIM800L and SIM800H modules are based on MEDIATEK ARM processors MT6260 or MT6261. In the SIM800H module in addition to FM radio, the module also has Bluetooth function.
We can easily listen to SIM800H's FM radio and controlling the parameters like channel frequency, channel volume, channel scan, channel signal quality and radio ON/OFF through SIM800H's Bluetooth. We can operate the FM radio without the SIM card or supporting network.
We can also use the SIM800H module as a simple Bluetooth audio transmitter using A2DP or other supporting profile.

SIM800L and SIM800H:

In the SIM800 family, SIM800L and SIM800H is having FM radio function. In addition SIM800H module also having Bluetooth function.

SIM800L with MT6260SA and RF7176
SIM800H with MT6260DA and RF7176
There were many low cost 2G phones and Smartwatch design based on MT6261 or MT6260. To mention few the U8 plus and DZ09 smartwatches were based on these Mediatek ICs. DZ09 smartwatch almost uses all the available features of the MT626x IC.

This is the internal photo of the SIM800L module. The above SIM800L module is having MT6261MA and RF7198 IC and having a 26MHz oscillator. If we note the SIM800H marking seen on the bottom right corner. It looks both SIM800L and SIM800H uses the same layout and the functions are manipulated either by software or hardware with same footprint or ICs.

As we know these ICs are not single die silicon process. instead depends on what function we need, the multiple ICs were placed and bonded together.

This is the X-Ray image of MT6260 IC which clearly shows that it consists of multiple dies and bonded together inside.

A sharp eye can pick out the outline of multiple ICs among the wirebonds. Image credit: Nadya Peek

The above is a simple block diagram of MT6261 family processor. We can see this IC supports GSM/GPRS, Bluetooth and FM. 

Both SIM800L and SIM800H shares common footprint. Pin 36 for SIM800L is NC and SIM800H uses as BT antenna.

SIM800H module with FM and Bluetooth:

There are application notes available in english for both FM radio and Bluetooth with available AT commands.

SIM800 modules supports embedded AT commands which eliminates the extra host for simpler tasks. But how to program the module using Embedded AT develepment environment is unclear and poorly documented.

But there are commercially available modules with SIM800H module along with Atmega32U4 IC for easy arduino based programming.

The above board is having both SIM800H module and atmega32U4 processor. Below the module you can see the provision for connecting MIC and Speaker. The board operates on single Li-Ion battery with nominal voltage of 3.7V. The connection between the processor and the SIM module is through Tx and Rx lines along with few more control lines for power ON/OFF etc., 

Seeeduino GPRS module with SIM800H and Atmel 32U4 IC. You can also see the Bluetooth antenna apart from GSM/GPRS antenna. For FM the earphone leads acts as the FM antenna.

Bottom side view with SIM card and CR1220 battery for RTC backup.

Another module having SIM800H without any microcontroller on board. But Tx and Rx pins are available with convenient voltage level shifters to adopt to various logic levels.

One more SIM800H module used with GSM3 Click.

FM arduino code using SIM800L and SIM800H

#include <fm.h>
#include <SoftwareSerial.h>
int channelButton = 5; //used for changing channel
FM fm;
void setup() {
    Serial.println("FM Test...");
    while(0 != fm.powerOn()){
        Serial.println("FM power on failed, try again...");
    fm.setVolume(6); //0,1,2,3,4,5,6
    Serial.println("FM init success");
void loop() {
    while(HIGH == digitalRead(channelButton)){
    Serial.print("change Channel\r\n");
    while(LOW == digitalRead(channelButton)){

In this sketch we are using digital input D5 for frequency selection and the volume is fixed at level 6.

FM radio with SIM800H using Bluetooth:

#include <bluetooth.h>
#include <SoftwareSerial.h>
#define BT_BUF_LEN      32
BlueTooth bluetooth;
char bluetoothBuffer[BT_BUF_LEN];
int start = 0;
void setup() {
    Serial.println("Bluetooth AT Command Test...");
    while(0 != bluetooth.powerOn()){ //bluetooth PowerOn
        Serial.println("bluetooth power on failed, try again...");
void loop() {
    if(bluetooth.serialSIM800.available()) {
        start = 1;
Read more »


SIM800L Hardware Design

Adobe Portable Document Format - 2.70 MB - 09/03/2023 at 09:41



SIM800H Hardware Design

Adobe Portable Document Format - 2.71 MB - 09/02/2023 at 15:54



sim800 series FM application note

Adobe Portable Document Format - 500.13 kB - 09/02/2023 at 13:51


SIM800 Series_Bluetooth_Application_Note_V1.04.pdf

SIM800 Series Bluetooth Application Note

Adobe Portable Document Format - 1.98 MB - 09/02/2023 at 13:51



SIM800 Series AT Command Manual

Adobe Portable Document Format - 6.94 MB - 09/02/2023 at 13:47


View all 6 files

  • 1 × SIM800L GSM/GPRS module with FM radio
  • 1 × SIM800H GSM/GPRS module with FM radio and Bluetooth
  • 1 × ATmega32u4 Microprocessors, Microcontrollers, DSPs / ARM, RISC-Based Microcontrollers
  • 1 × 8 MHz Crystal Quartz Crystal
  • 1 × 1N4001 diode Rectifiers Vr/50V Io/1A

  • 1
    Step 1

    How to connect and control your FM radio using Bluetooth. We can use Bluetooth of smart phone, laptop, desktop etc.,

    We can make use of SIM800H as a audio transmitter using A2DP.

    If we know the device name and Bluetooth MAC etc., we can force the module to establish the connection using AT commands to make one to one communication. No need to pair and connect each time.

View all instructions

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates