Track My Order
Frequently Asked Questions
International Shipping Info
Mon-Fri, 9am to 12pm and
1pm to 5pm U.S. Mountain Time:
Chat With Us
Do you think it would be possible to sync RN-52 to another RN-52?
Yes it is possible. My son and I did it. One RN52 must be set up as a “master”, the other must be set up as a “slave”. You must flash the firmware on ONE of the modules using the “rn52src-i_rm100.dfu” firmware. I know that my adult son dug around on the Internet for many days before he found this firmware and the release notes. Once you have that, you CAN set up a couple of breadboards using the appropriate “interface boards” and simultaneously connect BOTH modules and configure (Pair them) to talk to each other. We did TWO pairs of RN52’s this way. Each pair used a different master slave pairing so there would be no crosstalk between them. I won’t say it was easy because it definitely was not. We could find NO documentation anywhere on how to do it. The documentation in the sparkfun hookup guide is close but you must follow it VERY precisely. Bear in mind that you MAY need to use two different connection BOB’s to do the trick. We used Sparkfun FTDI Basic and a Sparkfun Mini USB Breakout. One is needed to connect using UART and the other is needed to connect via USB. To do DFU firmware updates, our suggestion is do NOT use the momentary button in the hookup guide. Instead, connect the 3.3v in to both the 3.3v in pin AND to the power enable pin. this forces the module to boot up every time it is reset. We believe the DFU utilility probably does at least one reset during the boot up process. If you have the button included, it is extremely difficult to know WHEN to press the boot button. Hardwiring the two pins to 3.3v in, solves the problem. Good luck finding the firmware release notes on the version 1.10 firmware. We never did find that. Release notes are available for the v1.00 SRC firmware (to set up the RN52 as the MASTER) and for the v1.16 slave.
Note, when you upgrade one of the RN52’s to v1.16 you must use the mini USB and choose to update via USB. When the upgrade finishes, it will INDICATE that the update failed. NOT TRUE!. the final reboot done by the DFU utility will be unable to communicate to the RN52 after the firmware upgrade. If you reconnect the upgraded RN52 using the FTDI basic, and put the RN52 into command mode (by connecting GPIO9 to ground), when you enter V the module will show it is running Version 1.16
I am attempting to write some instructions on doing the firmware upgrades. IF and WHEN I get that completed, I will post it. But
Thank you for sharing this. I am using RN-52 for streaming audio from my mobile to speakers. But I am getting a high pitched noise from Bluetooth module. If I connect audio through audio cable, it works fine but if i change it to bluetooth same high pitched noise starts again. And its so loud that we cant here original music. Can anyone please help me regarding this???
I am wanting to hook this up to a head unit in my car to replace the CD changer that failed. I suspect that the input signal to the head unit is line level, and only provides L, R and AGND (i.e. standard headphone connector). If I tie the SPKR- together to AGND, does anyone know if it would work to connect this directly to the head unit or will I need a preamp chip?
Leaving a quick comment to let others know - it’s possible to upgrade the firmware on this on Linux! I couldn’t get the Microchip drivers to install properly on the one Windows laptop I have (running Windows 7, from the posts I found on the Microchip forums I’m not the only one that had issues), so I decided to tempt fate and try flashing it with dfu-util, because my Linux machine had no issues recognizing it properly from the start. I had two power cycle it twice after flashing, but it’s running 1.16 now!
pressing Push buttons not controlling various features,please help,i tested with multimeter,everything is fine,but push buttons not controlling features
After entering into CMD mode,when i connect GPIO9 to High it will not show END and whether Bluetooth connects with master only during CMD mode ??,In that CMD mode Bluetooth connecting for 20-30 seconds and then disconnects,same with audio and call streaming,please help
in the pcb designed ,Ground plane is missing,so after shorting chip GND to main GND pin,its working fine,thanks
I want to access the system settings without using the FTDI breakout board ?
Is there a slight possibility ? I only want to change the Bluetooth name.
If in SPP mode, you should be able to configure the bluetooth module over bluetooth using a terminal program such as TeraTerm. You need to have a computer with bluetooth built in or one that has a bluetooth dongle.
I tried both the FTDI and the mini USB. the mini USB won’t work to get into command mode. The FTDI does work. It MIGHT be possible to connect using some other interface but I have not seen any documentation anywhere on how to do it. To make things even more complicated, finding the correct “driver” to make the connection is not easy. I have not found any instructions on the Sparkfun website on where to obtain the drivers. My recommendation is to make sure you have the latest Arduino IDE installed.
It comes with basic USB drivers. You can also try some of the drivers for other Arduino LIKE boards. We use the Adafruit ESP8266 and ESP32 for home automation. The Adafruit website includes links to the drivers. Another problem is when you look in the windows DEVICE MANAGER you may NOT see the connection under PORTS depending on the breakout board you are using. The connection might show under the USB connections.
could anyone tell that whether rn52 can be used as master now?if no please suggest another module and documents?
Yes it can, see my reply further up this blog to Member #616887. My adult son and i did it. You must upgrade the firmware on ONE of the RN52’s to use the “rn52src-i_rm100.dfu” firmware. Once that is done, you can configure the SRC as the master.
is it possible to send audio/music from computer to RN-52 using the RN-52 USB? bluetooth will be used to connect to headphone.
This breakout could, in theory, be used in a headset, but it would be rather large. You would want to design something around the bare module. Audio can only be streamed TO this module over Bluetooth, not over USB.
is it possible to send audio/music from computer to RN-52 via GPIO or UART, then steam the same via bluetooth to headphone?
Am I correct in assuming that since the guide has the GPIO’s and PWR_EN directly hooked up to switches and buttons that the RN-52 has internal pull-ups/pull-downs?
I’ve update from RN52-i/rm100 to RN52-i/rm116, but unable to go in CMD Mode by putting GPIO9 to GND?
Is there anoter way? How to processd?
You probably had to use a mini USB breakout to do the upgrade. the problem is the mini USB does not seem to be able to talk to the RN52 in command mode. Switch to a FTDI basic. the board will show up under PORTS (assuming you have the drivers installed). Once that is done, you should be able to connect to it with a terminal emulator. I personally use PUTTY. I set it to do the communication using SERIAL, with the COM PORT that shows up in the Device Manager. I set the baud rate to 115200. If you make the connection BEFORE you ground GPIO9 then it will display CMD. If you make the connection AFTER grounding GPIO9 it will likely only show a ? mark. It is still connected. Type in a lower case d to get a data dump of the RN52, or lower case v to see the firmware version running on the RN52. Or type in help to get a complete list of commands. NOTE: you probably won’t see what you type unless you change the settings to ECHO what you type.
I Have same problem, have you find a solution?
——————– Tech Support Tips/Troubleshooting/Common Issues ——————–
Source or Sink?
Unfortunately, the current RN-52 firmware cannot be configured as a source just like the bluetooths used in commercial wireless speakers. The way that it was currently designed with the firmware, you cannot stream audio from the RN-52 like a smartphone. Try checking or posting in the Microchip’s Forums [ http://www.microchip.com/forums/f505.aspx ] to see if there has been any updates to upgrade the firmware to set the RN-52 as a source.
As an alternative, I recommend looking at the BC127 [ https://www.sparkfun.com/search/results?term=bc127 ] if you require an audio bluetooth set as a sink. I use the BC127 amplifier on the Purpletooth development board [ https://www.sparkfun.com/products/11924 ] with some of my projects already. There is an option to set the BC127 as a source or a sink. For more information, I recommend checking out my comment here under“Audio Bridge: Configuring Two BC127s as Source and Sink using a Serial Terminal” [ https://learn.sparkfun.com/tutorials/understanding-the-bc127-bluetooth-module/discuss#comment-56be3197ce395f9c598b4568 ] .
Checking the Version Number
To check the version number of your RN52, you can use the “v” command. Make sure that you connect the 3.3V FTDI to the RN-52 as stated in the hookup guide for CMD mode: Rx <-> UART_Tx, Tx <-> UART_Rx, 3.3V <-> PWR_EN <-> 3.3V, GND<-> GND, and GPIO9 <-> GND. Using a serial terminal connected to the FTDI’s enumerated COM port (with setting 115200, 8-none-1-none). After typing the command, the RN-52 will respond with:
Ver 1.10 04/04/13
(c) Microchip Technology Inc.
Upgrading DFU Firmware over USB
Note: Upgrade at your own discretion before proceeding!!! You might brick your module if you are not cautious!!!
If you are interested in upgrading the firmware on the RN-52s, you will need the USBD+, USBD-, GND and GPIO3 pins. The standard default v1.10 firmware on the RN-52s requires DFU over USB. After flashing the v1.16 (file rn52-i_rm116.dfu ), the RN-52 will have the ability to use DFU over UART.
Try looking at the “RN52 Firmware v1.16 Release Notes” [ http://ww1.microchip.com/downloads/en/DeviceDoc/RN52%20Firmware%201.16%20Release%20Notes.pdf ] for new additional features.
1.) Head to Microchip’s RN-52’s Product Page http://www.microchip.com/wwwproducts/en/RN52 .
2.) Download the RN52 Bluetooth DFU Utility Installer located under “Documentation > Software.” This will contain the application called MicroChip Bluetooth DFU Utility Installer.exe and a guide called RN52-EK DFU Procedure Guide.pdf . The guide was written for Microchip’s RN52-EK development board but there was no issues updating RN-52’s on our breakout board.
3.) Download the image of your choice below the software. You have the option of using “RN52-I/RM110 DFU Image” (saved as the rn52-i_rm110.dfu file) or “RN52-I/RM116 DFU Image” (saved as the rn52-i_rm116.dfu file).
4.) Unzip Microchip Bluetooth DFU Utility Installer.zip .
5.) Click on the Microchip Bluetooth DFU Utility Installer.exe to install.
6.) Follow the installation instructions in the installer. This will also install the driver for your Rn-52 audio bluetooth though USB.
7a.) Hardware Connection Connect a DFU Over USB Pins: USBD+, USBD-, 3.3V, PWR_EN, GND, and GPIO3 pins. You could use the a USB Mini-B Breakout [ https://www.sparkfun.com/products/9966 ], mini-B cable [ https://www.sparkfun.com/products/11301 ], and jumper wires. Since I already connected the 3.3V FTDI to the RN-52, I just used 3.3V and GND from the FTDI to the RN-52 for power. Make sure to connect GND of the USB Mini-B breakout with the GND of the FTDI so the reference is the same:
USB Mini-B Breakout <=> RN-52 Breakout
D- <=> USBD-
D+ <=> USBD+
GND <=> GND
3.3V FTDI Basic Breakout <=> RN-52 Breakout
3.3V <=> GPIO3
GND <=> GND
7b.) Power Cycle Power cycle the RN-52 so that the GPIO3 is HIGH at boot time. The green LED labelled (LED0) and red LED labelled (LED1) will blink simultaneously.
7c.) Launch the the “Microchip Bluetooth Device Firmware Upgrade Utility” software (i.e. MCHPDFUUtility.exe ).
7d.) You will be greeted with a note from Microchip. Click on the “Next >” button to begin.
7e.) Connection Type Selection Select “DFU over Universal Serial Bus (USB)” and click on the “Next >” button.
7f.) The software should automatically search for the device that is connected over USB. Your computer might pop up with a new device (For Windows, there was a popup in the notifications):
CSR BlueCore in DFU Mode
7g.) Upgrade Action Selection Select “Download a new version of the firmware, saving a copy of the current version first. Any previous saved version will be replaced. (Recommended.)” and click “Next >”.
7h.) Upgrade File Select the location of your file (i.e. rn52-i_rm116.dfu ). and click “Next >”.
7i.) Ready to Upgrade Verify your selections and click “Next >”. Your window might say something like this:
HUB5_PORT2(BD_ADDR = ??-??-??-??-??-??)
Existing firmware will be saved
Note: Since the PWR_EN is connected to 3.3V already, you do not need to “hold the power button down” as stated in the guide for Microchip’s RN52-EK development board. The upgrade automatically started as soon as I pressed on the “Next >” button.
7j.) Upgrade in Process Make sure to not interrupt the power and connections during the firmware upgrade. There will be progress bars that indicate your progress. Depending on your upgrade selection, it will save the previous firmware, flash the new firmware, and verify the update on the RN-52.
7k.) Successful Upgrade Once finished, the utility will provide the total time it took to save your file and flash the new firmware. It took less than 5 minutes to upgrade the firmware:
Upload 00 minutes 24 Seconds
Download 03 minutes 06 seconds
There was also a verification process after flashing the new firmware. This should take about a minute to complete. Click “Finish” to complete the upgrade at the final screen.
7l.) Cycle Power Disconnect GPIO3 from 3.3V so that it is LOW. Power cycle the RN-52 by disconnecting and reconnecting power to 3.3V.
8.) If you are already connected to a serial terminal with a 3.3V FTDI and the RN-52 set to CMD mode, you can verify the version number by sending the “v” command. The RN-52 should respond with this output:
RN52-I Ver 1.16 (c) Microchip Technology Inc.
This should indicate that the firmware has been upgraded to the new firmware. Try testing out the new firmware by playing music from a smartphone. =) For more information on the updated firmware and commands, I recommend looking at this user guide => [ http://ww1.microchip.com/downloads/en/DeviceDoc/50002154A.pdf .
Streaming Music and Phone Calls
When streaming music with the audio bluetooth and a call comes in, the smartphone will automatically stop the music and begin to ring until the call is answered/rejected. After answering or rejecting the call, the music will begin to stream again.
Useful mic design application notes for the RN-52
If a smartphone is not able to view the audio bluetooth in the list of devices in the area, try sending the command
, to briefly make the RN-52 discoverable.
Looking at the existing comments, it seems to me that the microphone connection is actually an line in connection. Is this correct, and if so, will the circuit diagram in the datasheet (page 18 http://cdn.sparkfun.com/datasheets/Wireless/Bluetooth/rn-bt-audio-ug-2.0r.pdf) make it work with a standard microphone?
Is it possible for the RN-52 to receive any kind of data and then relay it to an arduino board through serial or can you only send commands to the RN-52 over serial. I would like to be able to stream audio as well as send other data to my arduino board, both using Bluetooth. Using another Bluetooth module would be fine but my understanding is that I wouldn’t be able to process the data on the arduino in a way that would allow me to play audio because I would have to buffer data and the memory of the arduino is too small. So instead of having the arduino process the data the RN-52 would do all the audio streaming and the arduino would never have to touch it. However, I still need to send other data to the arduino and I wouldn’t want to have to add another Bluetooth module just for that so if the RN-52 could receive that data as well as the audio, realay some of the data to the arduino and play the audio on it’s own. This wouldn’t have to happen at the same time but it would of course be ideal. Is this something that I can achieve with the RN-52? Alternatively, are there any other modules that can achieve this or will I have to add another Bluetooth module for the data?
Streaming audio and sending data is not something the RN-52 can do simultaneously.
It doesn’t have to do it simultaneously, it would just have been really nice if it could. The main question was if it could realay data it receives to an arduino board.
If I’m understanding you inquiry correctly, the answer is no. The RN-52 can only act as a slave device, allowing master devices like smart phones or PCs to connect to it. It cannot be a master device that sends data to an Arduino or other Bluetooth enabled devices.
Hi, Can two RN-52 talk to each other?, It is possible in RN-42. Can I use RN-42 for audio transmission?
Thanks in advance.
No, two RN-52s cannot talk to one another because they are slave devices only. The RN-42 cannot handle audio transmission. It is for low data rate information only.
Yes they can. One must be upgraded to SRC firmware. Then it can be the master and the other the slave. We have done it. use “rn52src-i_rm100.dfu” firmware.
Okay, thank you for your answer. I’ll just have to look for an alternative solution then ;)
Hello, I have followed the guide exactly as stated and have gotten to the point when the device can be discovered. But when I attempt to drive GPIO9 to ground, it does not enter command mode. I even placed the wire directly to the output pin on the module (in case the PCB was malfunctioning), to no avail. I checked to ensure the UART was working by looping it to itself, which it was. I even tried resetting it by driving GPIO4 in the sequence for resetting, which did nothing to the device. The device connects and outputs sound, but it simply will not go into command mode. Any suggestions?
Hi, I recently pulled a unit from stock to see if anything had changed in the module. I was able to get the RN-52 to go into CMD mode on the first attempt. Make sure your terminal is set to 115200 baud rate. Also make sure you are connecting TX->RX and RX->TX from the FTDI Basic to the RN-52. You should see CMD in the terminal as soon as GPIO9 is connected to GND and END as soon as it’s disconnected.
I figured it out - turns out the headers were not making contact with some of the breakout points (most likely the transmit/receive). I used a wire directly through the holes to the breadboard and it began working. Thank you, however!
Could someone please explain why the RTS and CTS pins are not being used for the UART connections in the hookup guide. I want to use the 5vcc/3.3v FTDI cable to make my connection to my computer for the initial power up, then later use and Arduino Uno to issue commands and take rssi readings. Can the RTS and CTS connections be neglected?
Hi, While it may not be the best practice, serial connections can consist of just VCC, GND, RX and TX. I almost never use CTS and RTS when wiring up a serial connection. I’d consider it the quick and dirty method.
can someone tell me the UART command to enable the RN 52 to be able to connect with push buttons and skip,play, ect.
The Streaming Tunes section of the Hookup Guide contains that information.
I can connect 2 modules RN-52, ie communicate with one another?
Yes, they can. Upgrade ONE of the RN52’s using the “rn52src-i_rm100.dfu” firmware. then it will be the master and the other RN52 will be the slave. You can then configure both with unigue names and pin#’s. You can also configure them to connect automatically every time they are powered up.
The hookup guide is a little confusing when discussing enabling the AVRCP buttons. It says that “When you type D to see the basic settings, you’ll notice a line that says ExtFeatures=05” and then shows a table with the descriptions of bits 0, 1, and 2. Then it says “Notice that bit 0 is the bit we need to enable to activate the AVRCP button functionality. Send the command S%,07(/r) to enable this bit while leaving the other two bits enabled.”
What’s confusing is that if the original value is 5, then bits 0 and 2 are already set (AVRCP buttons are enabled and it’s discoverable on start up) and the only bit changing with this command is bit 1, which has nothing to do with AVRCP. The guide’s explanation would make more sense if it started with ExtFeatures=06, or with a little bit of rewording, the factory default of ExtFeatures=00.
Hi , I want to connect a microphone to RN-52 . Then i want to hear auido from my android phone. How can i do it? Can you help me please?
Hi, I might ask a stupid question, but is it possible to send also serial data besides audio (i.e. emulate an external keyboard)? (doesn’t have to be at the same time as streaming audio).
Does this automagically work with iPhones? I though apple required some additional hardware to connect over BT?
Probably no way to get a playlist from the phone?
Hi, I need a little help. I can’t seem to get led0 pulled high to break it out for a case. What
value resistor do I need?
Solved…. I had things backwards in my head.
1-can anyone tell me the command to get the name of the paired device ?
2-is it possible to get the strength of the signal ?
Have an Iphone 5 running V 7.04. Have paired successfully, however, a few things fail or don’t work correctly.
1. No volume up/down controls (through the RN-52 work.
2. Pause works fine, but when activated again to play, the audio is now routed via the RN-52 rather than the headphones on the phone (which it was using prior to pause.
Not sure if this problem occurs on Driod or Windows phones.
Anyone have this issue and have resolved it?
Thanks in advance.
Is there any way that rn-52 module can stream audio to multiple devices or multiple other slave rn-52 modules……!!!! I want to use it to stream audio from television sets to multiple bluetooth receivers….
I’m curious about this as well! I would like to figure you how to set up one RN-52 as a master (which would pair to your device) and the have sub-sequential RN-52 slaves that would receive all the same audio!
I have the same problem! rn-42 offers a command to switch to “master” mode but I did not find that command in rn-52, so I think rn-52 cannot work as a master (I am not sure).
Would that be possible with “Bluegiga WT32”?
From the datasheet: “Roving Networks modules do not currently support multi-point
master mode.” The RN-52 only operates in Slave mode with the current firmware. There may an update in the future that allows master mode to be enabled on the RN-52.
Any notes on connecting a microphone? I want to build some custom “headsets” with one of these, not just listen to tunes.
Adding a mic proved to be more difficult than adding speakers. You could use the mics we sell (in theory) but would have to have a bunch of supporting circuitry to make them work. I suggest getting a mic that’s meant for mobile phones or video cameras (ones with a 3.5mm jack on the end). You could then use one of our 3.5mm jack breakouts to attach the mic to the RN-52. Check out the example circuit in the datasheet. It has some external circuitry you may need to get the mic to work. I’ve managed to get line-in music to work (I attached my phone to the mic/line-in lines, connected to the computer, then recorded the music using Quicktime), but I have yet to find a good mic that will work for phones calls and such. Let us know if you find a mic that works well. We’re looking into it as well.
Any progress here? My order depends on this. Also what does “differential audio input and output for highest quality audio” (from the datasheet) mean? Is it only that there is a separate grounds for both channels?
So is that the issue?!?!? It’s labeled Mic but it’s expecting line level voltage? Ok. Seems like SF could knock a board together pretty easily for that. I’d buy it. Maybe you guys (SF) should state this fact more clearly, if it is indeed a fact, because I’ve read a lot of posts about frustrated customers trying to get this to work as hands free device (I’d count myself in that group). I know it’s being sold as an audio streaming solution, but it has SO much more potential.
I was too eager to wait for the breakout board so i’ve essentially been recreating the portions of the development kit that I need (microphone and speaker interface) on a perf-board… I’m hoping to embed this interface in a vehicle and leave it so you won’t need to touch it once the device is paired to an Android phone (Nexus 4). I can pair just fine, but the next time I power up, I have to pair it again. Is there any way to make it remember the last pairing (or multiple pairings, for that matter… I thought it could do up to 8 or 10) and automagically connect to them on the next boot?
I’ve only tested pairing on an iPhone and iMac. You should be able to just pair it once and then connect automatically every time after that. There are some settings in the module that deal with stored and paired devices. Check out the datasheet and play around with some of those settings.
If you've found a bug or have other constructive feedback for our tutorial authors, please send us your feedback!
Forgot your password?
No account? Register one!