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.
This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.
Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels
If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.
Skill Level: Competent - The toolchain for programming is a bit more complex and will examples may not be explicitly provided for you. You will be required to have a fundamental knowledge of programming and be required to provide your own code. You may need to modify existing libraries or code to work with your specific hardware. Sensor and hardware interfaces will be SPI or I2C.
See all skill levels
If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.
Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels
Based on 11 ratings:
5 of 5 found this helpful:
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:
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.
The audio output is a speaker level signal and not line level signal.
MIC_L+/- is used for HFP mode.
Hope this review helps you guys!
Thanks for sharing
1 of 1 found this helpful:
There doesn't seem to be a way to get high fidelity audio from the external microphones. From my understanding, this doesn't seem to be well supported in general for BT. I could get extremely noisy 8kHz audio from a single channel, but I couldn't manage to do any better than that. I bought two of these and both exhibited the same issues. I tried several profiles. I guess it's possible that I missed something, but it seems the mic-in features are falsely advertised. I had no issues transmitting audio to the chip to play through a speaker (didn't check whether stereo worked, distortion was not apparent, but I didn't test this very thoroughly). Save your money.
Also the mic bias pin always seemed to sit around a few mV, which is hardly a bias for a 3.3v device.
1 of 1 found this helpful:
I was able to update the FW without any trouble at all over USB. I simply left PWR_EN tied high and that went fine.
Now, to see if I can actually get it to do what I want...
2 of 2 found this helpful:
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 (1/2 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
0 of 1 found this helpful:
Well, the breakout board does the job, allowing an easy access to each pins. Got some paring and sound after 1 hour. However, the RN52 lacks of documentation, and some functionalities are a pain (profils, microphone...).
So I made the mistake of buying this module after seeing somewhere that it had support for being an audio source, and finding numerous places where spark fun replied to people 2 years ago saying things about an update coming soon with the support. Well that info is just plain wrong. The only way to get source support is by finding the rn52src module, which as of right now stand around 200 available between mouser and Digikey with both notating that the part is non stocked and min quantities will be required once existing stock is depleted. So I ask this, rather than resolve this by doing the return/refund thing, I don't mind keeping this one, but what will it take to get a breakout board without the module on it? Either a totally unpopulated board or partially populated one would be acceptable, and of course I don't expect it for free, but somewhere close to the price of this board minus the $25 you sell the module for seems reasonable...
Hi, I wish I could help you with a PCB. Unfortunately we don't have any extras to offer up. I wish there was more I could do for you.
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.
I've used several of these boards now, and the quality is always excellent. Great delivery as well.
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.
The product is the best, arrived on time, and the tutorials helped me make it work. I am happy with the product.
The form factor is ok, just a bit too big... However, even following the hookup guide, it was impossible for me to get a signal to an amplifier from the Speaker outputs. I sent command, did a factory reset.. etc. Nothing ended up working. So well, I give a bad mark because it is not as simple as described and as expected to use...
Side note: pretty disappointed with the shipping fees of Sparkfun when ordering from Canada and having the surprise to pay the taxes at the border. Why not paying everything online and having lower shipping rates?...
Sorry about the issues. Please contact our support team for assistance with your board questions. As for customs fees, unfortunately there is no easy way to include the cost of fees and taxes for international customers as each country has it's own way of calculating the cost. We wish there was more we could do about that.
Looking for answers to technical questions?
We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.
Log in or register to post comments.
-------------------- Tech Support Tips/Troubleshooting/Common Issues --------------------
Old Fritzing Part => [ https://github.com/sparkfun/Fritzing_Parts/blob/master/products/11777_sfe_rn_52_breakout.fzpz ]
Is it possible to output analog audio as well as an i2s signal to an MCU using the RN52? In other words, dual output? I've poured over the manual and it mentions dual output in a couple places but I want to triple check before I make my purchase. Thanks!
I have one of these connected to a microcontroller with the intention of continuously streaming data. The Serial Port Profile works well for a moment, but seems to crash no matter which master device I have it connected to. Has anyone seen anything like this? What is causing it?
Has anyone had any luck hooking this up to an STA540? I had no problem with my amplifier hooking directly to speakers, but once I hooked it up to the RN52 bad things ensued. First when I went to 12V to power the amplifier I was getting loud pops and I can see the PSU flickering on and off in cadence with the pops. I turned the power down to 9V and the pops became less, though still there, and the flickering stopped. My volume was lower, obviously, and I was still getting a lot of hiss when nothing was playing. I'm thinking I'm dealing with a ground loop. I am using two separate power supplies. I have tried sharing a ground between the two, but that just made the problem worse (which, again, supports the ground loop theory). I did notice that there is a separate audio ground on the chip - AGND - but that pin is not brought out to the breakout board. Is it wired to digital ground on the board? Would I need AGND to be referencing my audio ground?
Am I correct in assuming that since the guide has the GPIO's and PWR_EN directly hooked up to switches and buttons to 3.3v/Ground that the RN-52 has internal pull-ups/pull-downs? Edit I realized my question was poorly framed, I know the datasheet says that it has programmable pull-ups and pull-downs, my question is meant to confirm that they are active by default as used in the hookup guide.
Does this module support the rewind and fast-forward AVRCP commands? I don't see any listed for them in the command reference guide, but was hoping maybe long presses on the next/previous track GPIOs would trigger these functions.
If i was to order two of these would they have different MAC Addresses? Since they comply with FCC id suspect they would.
Yes, each module comes with a unique MAC address, found printed on the module's sticker.
Hi, can this module be used with some MCU to send audio to Windows PC with Bluetooth? Meaning the other way around. Not from PC to this module. But vice versa. I want to transmit audio over bluetooth between two PCs. One is LattePanda (Win10), the other is my laptop (Win10). I can put any MCU in the middle as well, but digital audio source would be better.
HI, The RN-52 can only be active as a slave device, not a master, meaning it can only be streamed to, not from.
Is it possible to desolder the module from the breakout board?
I'm in the process of creating a custom PCB, and would like to prototype with the breakout board, then remove to module and mount it directly on the PCB once I fabricate it.
However, looking at the PCB, there are 6 ground connections underneath the module. Are these soldered to the breakout PCB? Or are all soldered connections accessible?
Probably, it looks like there is only paste on the pins around the IC and the 6 pads at the edge of the board (not the edge of the module becuase of the antenna). It doesn't look like you can hit them with a soldering iron, but can still probably get them with a hot air tool which is what you will most likely need anyway. I'm not sure I'd recommend it though, we do sell the bare module as well which is probably the best option. Another option is to solder male headers to the board and add a footprint to your PCB for the full board and not just the IC. If the height isn't an issue you can even use female headers which allows you to remove it as well as use the space under it for circuitry that isn't too tall (beware circuitry under the antenna).
Thanks for the advice! I think I will put the breakout and bare module footprints on the PCB, to give me the most flexibility. Now that I have the breakout, I can see that it would be hard to desolder w/o hot air. Good idea about putting components under it!
However, now I have a different issue. I can only perform some of the set commands. I'm not sure why only certain ones work. I went down the list and set everything to their defaults, here's the serial log: http://pastebin.com/t8Gb4Hg3 . Am I missing something obvious? Why are some of them giving an ERR?
That is probably a better question for our techsupport team. Try emailing them and they should be able to help you out.
Mine keeps shutting off after like a minute 30. The LEDs blink a pulse and then shortly follow with a fast pulse and then it loops. When it turns off both LEDs flash and then there is no activity. ?
Forgive me, but DOES THIS WORK WITH DARN I-DEVICES (out of da box). Like computers I know but iPhones? The RN52 says it supports iAP profiles, but I've read up on it and iAP requires a MiF from the Almighty Apple. And I don't got it so... do you actually need one to pair with an iPhone?
The RN-52 should work with any smart phone with compatible Bluetooth technology.
Awesome. May I ask why though? I was pretty sure that only in BLE could all devices connect. Why can this (Bluetooth 2.1) work with everything?
Just tested with my iPhone 5, and it pairs and plays just fine. In the datasheet, it is mentioned that the RN-52 supports the iAP Bluetooth profile, which allows the RN-52 to connect to iOS devices and apps.
Hi, I am trying to implement the RN-52 into a project. For the PWR_EN pin, I get that it needs to pulled to 3.3V to be turned on, but is it not supposed to turn off when pulled down to GND? It's the weirdest device I have ever seen where the only way to shut it down momentarily is to remove power, not even through an embedded system. I have tried implementing several ways where a microcontroller can remove power, but to no avail. Is it just my unit that might be defective, or is that just the way it works?
Hi. Unfortunately, you are correct that there is no way to power down the device without removing power altogether. For some reason, that's just the way the module was made. You could always use a transistor to supply power from a microcontroller, and then turn off the transistor to control the power. But I agree that the power functionality leaves much to be desired.
[SOLVED - restarted tablet] Help? RN-52 worked fine, audio and serial, then suddenly audio output stopped working. I ordered a new RN-52 (assuming I burned the audio output stage) but I get the same result: Serial connection works well, my Android tablet detects the audio connection and reroutes output to the RN-52 but no audio comes out. The Red LED on the breakout board keeps flashing 3 times. Earlier when it worked it was mostly on with occasional flashes. Any ideas? Also - did anyone find a solution how to convert the speaker output to line-out? Issues like common ground to both channels, protecting both sides of the link, load matching...? Thanks!!!!
I'd like to use this module to transmit a crude video feed over bluetooth (no audio involved). Would this module be appropriate for that, or only handle audio transmission? If not this module, then what other bluetooth module would be recommended? Thanks!
Hi, This module only transmits audio. I am not aware of any Bluetooth technology that can stream video. Video requires too much bandwidth. That's why most video services such as Netflix stream over WiFi, which can handle the larger data streams.
Thanks for the input!
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?
Yes, you can communicate over SPP while using A2DP at the same time.
Can it do HFP and SPP at the same time? It's not really clear in the data sheet.
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.
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.
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.