SparkFun will be closed Nov 26th and 27th for the Thanksgiving holiday. Orders placed after 2:00pm MT on the 25th will ship out Monday the 30th.

Creative Commons images are CC BY-NC-SA 3.0

$ 44.95

added to your
shopping cart

Only 4 left! 4 in stock
44.95 1+ units
42.70 10+ units
40.46 25+ units
38.21 100+ units

Description: The RN-52 Bluetooth from Roving Networks is an audio module that makes it simple for you to create a hands free audio system for your car or remote control your media center. With this breakout board we’ve made it easy for you to drop it into any project you could use it for. All pertinent headers are broken out and labeled for your convenience.

The RN-52 module combines a class 2 Bluetooth radio with an embedded digital signal processor (DSP). The module is programmed and controlled with a simple ASCII command language. It provides a UART interface, several user programmable I/O pins, stereo speaker outputs, microphone inputs, and a USB port.


  • Fully qualified Bluetooth module
  • FCC Certified
  • Fully configurable UART
  • Dual-channel, differential audio input and output
  • Supports iAP profile
  • Low power sleep mode
  • Maximum over air data rate of 3.0Mbps
  • Compatible with all Bluetooth products that support SPP (almost all do)
  • Embedded Bluetooth stack profiles: A2DP, AVRCP, HFP/HSP, and SPP
  • 3.0 ~ 3.6V operation
  • Bluetooth Technology v3.0 compatible
  • Class 2 power output


Recommended Products

Customer Comments

  • So here’s a fun fact: accidentally putting 9V across this will kill it dead. Related question – Are the ones that are in production as of today (2-Nov-2015) using the RN52-I/RM chip, or the already-updated RN52-I/RM116 ?

    • Sorry to hear about your 9V incident. The modules shipping on this are still the RN52-I/RM I believe.

  • Anyone looking to update the v1.10 firmware to v1.16 to get better I2C reliability in addition to track meta data will be very well served to read this post: http://www.microchip.com/forums/FindPost/832965. Upgraded v1.10 with UART is a lie – you need to use USB. Pick up a USB breakout if you don’t want to sacrifice a USB cable.

  • Anyone know if this module can do A2DP and SPP at the same time? Both profiles active on the same bluetooth connection at the same time? Is this even possible?

  • This is so close to what I need, but not quite. What would be more useful is a breakout board that has transmit bluetooth music to bluetooth speakers. I have a set of speakers ready to go, but I need a way to read data from a micro sd card with .mp3 files on it and have it sent via bluetooth to the speakers.

    • ftrocchi,

      Have you looked at the datasheet and command reference? It mentions the device defaults to “slave” mode, but can be reconfigured to “master” mode. Check to see if you need any more than that to support the BT audio output device you want to drive. From a h/w perspective, it has I2S and S/PDIF inputs so you can feed it with a WAV file + a uP with I2S, to read the card and feed the i/f.

      Admittedly that’s not turn-key, but it’s doable depending on your level of expertise. Alternatively, and possibly cheaper and faster, buy an RPi and throw a $10 USB BT dongle into it. No solder required, and no code. Everything you need is already there, all you need is a short script to kick it off. Plus you have the ability to control it over a network at no xtra charge, should you want to go for extra credit.

      Good luck! -Mark

      • MarkS, I’ve been looking to turn my RN-52 into a master, as well. However, even though the data sheet implies a master mode, it ain’t there. However…… If someone is feeling daring….. I just found this on Microchip’s site - http://www.microchip.com/wwwproducts/Devices.aspx?product=RN52SRC . Now, reading the firmware notes, it also implies that you can flash a your RN52 with this DFU - http://ww1.microchip.com/downloads/en/DeviceDoc/rn52src-i_rm100.dfu and turn it into a “master” that can source audio…… Who wants to try?

        If anyone does this, could you please let me know the results? I only have the one and I don’t want to brick it.

        • Go through the very doc you link above. You’ll notice that the dev kit recommended by Microchip for SRC is the same as the classical module. Further on, they explicitly mention that its compatible to flash a standard RN52-IRM module that comes with the slave firmware. So all you have to do it flash the new dfu and it will work. I have 4 modules. I’ll flash one and let you know in a day.

          -Athul Raj

          Anand Varkey, this is what you were looking for right ?

    • This is a break-out board for the bluetooth module RN-52, and it does that well. It was so easy to set up and pair to my phone it felt like cheating. If you started adding an mp3 decoder and a card reader, suddenly it wouldn’t be good for other projects.

      Luckily, there are a options for the audio source. I’ve had good luck with the Adafruit VS1053 breakout which I think is not comparible to anything SFE has because it has the card reader built in. The closest items SFE has are the MP3 and MIDI Breakout (no card reader) and the Lilypad MP3 (has a card reader but also adds a micro-controller) so in that respect there’s a gap in the product line. Hook the 1053-outs to the RN53-ins, program the RN53’s firmware to master and have it connect on power-up, and you should be golden.

Customer Reviews

4.4 out of 5

Based on 5 ratings:

5 star
4 star
3 star
2 star
1 star

2 of 2 found this helpful:

Breakout top-notch, Microchip support awful

Microchip Technology, having bought Roving Networks years ago is terrible at supporting the RN-52. Much of the API is totally undocumented and prevents a person from hooking up line-level audio directly to the RN-52 which supports it (line-level input).

Having worked there for 3 years I expected far better/faster support. I finally DID get some:

  1. How do I bypass the microphone gain stage to use the RN-52 with a pre-biased (½ 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.

  1. 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.

Hope this review helps you guys!

Thanks for sharing

Easy to configure.

The product is the best, arrived on time, and the tutorials helped me make it work. I am happy with the product.

Works amazingly, needs better support

This thing worked like a charm right from the get go. I built a Bluetooth interface for a motorcycle and it can communicate only about 6-8 ft, but that’s through fairing and container.

The only problem I have with it is that information regarding setting and programming is extremely limited and the information available is tough for someone at my amateur level of electronics to understand.

Having some problems

I have been able to connect to the RN52 with my iPOD, but not able to get any sound through it yet. It would be nice to know what level of firmware is in the RN52. I have not yet connected through the UART port. Still working on getting that to work.

Shipping With Firmware V1.10

Getting this up and running, paired to a phone and playing music took around 15 minutes. SparkFun’s hookup guide was very helpful, if not instrumental.

Getting this thing updated with V1.16, however, consumed over 5 hours this morning. My biggest issue was that Microchip’s firmware update software didn’t run as installed on my Win7 32-bit or 64-bit machines. I kept getting “The application has failed to start due to a side-by-side configuration error”.

It seems the Visual C++ redistributable included with the firmware update software was not up to date. I could finally get the DFU program running after installing Visual C++ Redistributable SP1 from here:


Once running I discovered that firmware V1.10 does not support flashing over UART. So, I rummaged through a box of old parts and stole the cord from an old USB mouse and soldered it to the USBD+/- and ground. This worked, and the DFU driver installed automatically. At first it seems to install as a generic bluetooth device, but it switched to a DFU driver profile during the flashing process.

The procedure to flash is a bit complicated, holding GPIO3 high while “waking” it up, then holding PWR_EN high while clicking “next” before the flashing can start. SparkFun’s hookup guide suggests that you hook up the PWR_EN pin directly to the 3.3V pin all the time. I am not sure if having the PWR_EN pin connected all the time will make the flashing procedure any easier as I opted to follow the DFU’s recommendation exactly.

After all that, the flash procedure doesn’t end properly. It errors out when trying to perform a “reboot” after the flash is complete, though after power cycling it seems to work OK.

This thread on Microchip’s forums was helpful:


From my brief time with V1.16, there’s some strange idiosyncrasies, but the command reference is helping get the configuration sorted out. There are periodic breaks in the streaming (½ second or less, once or twice in every 3 or 4 songs).

BTW, the command reference for V1.16 is here:


I purchased the above with the recommended FTDI 3.3V board. This made connection to the UART very easy. I am using HyperTerminal copied from an old XP machine.

Now, I am struggling to try and retrieve track metadata. I issue the command “AD” which returns nothing but “AOK”. After some head scratching and google searching, it appears that track metadata is only supported in A2DP 1.3 or later, which is a phone problem not an RN-52 problem. I have an HTC Amaze, running ICS version 4.0.3 which, as far as I can tell, is still A2DP version 1.0. So, I’ll have to borrow someone else’s newer phone to verify if this works.

FWIW the caller ID data (command “T”) works great. It returns the phone number and the name from your contact card.

It’s a fun little project, that’s for sure.

Edit (2015/11/12): I just tried the “AD” command while connected to a friend’s Samsung Galaxy S5. It works! This is the data that was returned: Title=Fly Artist=Maddie & Tae Album=NewMusicDownloader TrackNumber=39 TrackCount=68 Genre=<unknown> Time(ms)=217349

Related Tutorials

RN-52 Bluetooth Hookup Guide

August 29, 2013

A hookup guide to get you started with the RN-52 Audio Bluetooth Module Breakout Board.