Creative Commons images are CC BY-NC-SA 3.0

Description: This is a breakout for the BC127 Bluetooth Module. The BC127 is a highly flexible, low power, small form factor Bluetooth Version 4.0 Certified Audio module. This is an ideal module for developers who want to quickly and cost effectively integrate Bluetooth functionality into their products.

The BC127 Breakout board provides basic access to all the pins on the BC127 module, along with a six-pin serial header with the same pinout as the FTDI Basic boards, allowing it to connect to boards like the Arduino Pro, Pro Mini, and LilyPad. It also includes voltage regulation, serial data level shifting circuitry, and support for the built-in battery charge circuitry.


Recommended Products

Customer Comments

  • Other than supporting BLE, how does this module differ from the RN-52?

  • Does anyone have information about enabling the aptX low latency codec for Melody v5.2 or v5.5? They mention it has these capabilities in a press release ( and demo it on youtube ( However, enabling this feature is not mentioned in the v5.2 or v5.5 manual. Using the aptX codec with the v5.0 software, I’ve measure the latency to be 150ms. This is still too high for my project. Any help would be great.

    • Were you able to figure this out? Also, how are you telling it to connect with aptX instead of SBC? I have CODEC set to 001, which means aptX is enabled, but when I connect with OPEN [address] A2DP, it automatically uses SBC. Incidentally, I’m getting about 150ms delay with SBC.

      • As far as I’ve been able to determine, using aptX doesn’t affect the latency. I measure nearly 200ms using SBC or aptX. Also, it appears that there’s no way to initiate an aptX connection from the BC127. The audio source has to do it. My testing was done using two BC127 devices with one set as an audio source, as my apple devices don’t support aptX.

  • Can Anybody tell me whether I can Transmit MUSIC from this module? I have doubt about Term Melody?

    Is this module can transmit Audio SONG?

  • I can’t figure out how to connect a mic to this. I got the Sparkfun electret microphone breakout and the mems microphone breakout , but the pins don’t really match. The mic breakouts have VCC, GND, and AUD, whereas BC127 has MIC_RN, MIC_RP, and MIC_BIAS (and GND) which probably means the BC127 expects balanced audio input? Anyway, with VCC 3.3V, AUD connected to MIC_RP and GND connected to either MIC_RN or to GND, all I get is excruciating noise. Does anybody know this?

    • ok, maybe it was because I used 3v3 from an FTDI basic board to power the mic, because when I used a 1.5v battery it worked much better.

      • Hmm. I still only get good signal when I power the Mic and the BC127 from separate sources. Does anybody know how to hook up a SparkFun MEMS Microphone and the BC127 on a single battery?

        • OK solved it but I did have to upgrade firmware. Connect mic breakout GND to BC127 GND and to MIC-. Connect AUD to MIC+. Connect VCC to MIC_BIAS. Mic is now powered by same battery and there is less noise. MIC_BIAS cannot be set in Melody 5.0. I upgraded to Melody 5.7RC4. MIC_BIAS is set using command ‘CODEC’.

  • Can someone explain the differential audio output. If I wanted to connect this to a headset speaker (mono), do I need a amplifier or can I do this with discrete parts?

  • Hi All, just to clarify a few things. AAC and APTX are royalty-based codecs. Typically, you pay the royalty per part. I assume SF did not sign up for this. You may be able to contact BC and ask to purchase FW with AAC and APTX codecs, let us know how it goes if you do!

    Setting the codec to APTX (or AAC) does not guarantee that it will be used. It just “requests” to use it. Both devices must support it. If they don’t, it will default to SBC.

    Also, you can communicate with iOS via BTLE without MFi (as well as streaming audio via A2DP), but you will need MFi if you want to use SPP. You can, however, use SPP with Android.

  • as this supports BLE can it communicate w the iphone, no need for MFi?

  • Hi. I am a little bit confused so I would like to ask you. Does anybody know if this BC127 or BC127 DEV KIT support codecs aptX, AAC ? On BlueCreation site is written that Melody is the same software running on BC127 modules. /Melody offers these features/. I would like to high quality audio, so better safe before buying than sorry THNX John

  • Hey, does anyone have the mechanical dimensions for this unit? Thanks.

    • The ideal method for figuring this out is to download the free version of EAGLE from CadSoft and figure it out yourself; that way, when you need another, different measurement (say, the exact location of a header pin relative to the lower right corner) later, you don’t need to ask again.

      That said, it would appear to be 2.5" by 1.3", although the module hangs off the end by a smidge (less that .05 inches).

  • Does this module come with AAC codec support? I’m trying to find a chip that can provide high quality audio from an iPhone. I don’t care about APT-x if it can do AAC.

    • It does not support AAC.

      • Actually it might! On page 13 of the Melody manual, it says you can select one of several codecs, including AAC. It has a footnote that says they’re not included by default with Melody, and that you need to ask BlueCreation for them, but in theory then you would have AAC.

  • Hi? I need Bluetooth module that can be master role like as PBAP profile support smartphone. Can be support Master Mode on BC127 Breakout Board ?

  • Has anyone tried using the event notifications? I can’t seem to get them read from the Arduino. Specifically I want to get the song information out of the notifications.

    • When I had the BC127 directly connected to my computer and was playing music from my phone to the BC127, I could see the AVRCP song info automatically being printed from the BC127 to the computer. If you haven’t already, try to get that working and see the printouts to confirm that the BC127 is doing its job with that. You might not be reading the printouts properly with the Arduino.

  • Hi, I was trying to connect the breakout board to the pc, I used Hercules, Putty, Tera Term nothing works!!!! I had the right setting but still cant get the “READY” prompt, can anyone help? BTW I am using FTDI 6 pin board.

    • maybe your pinout of the ftdi isnt well matched… don’t match it by its colour, but its actual configuration… find gnd and go down from there… I suggest CoolTerm i think thats what its called. In the settings select the ftdi cable as the connection and set it to 9600 baud! thats it!

  • When using a microphone with the BC127, it is very quiet and not sensitive enough. I have to have the mic ON my mouth for it to work. The bias circuit that I built worked great for the RN-52, but the same exact circuit yields very low mic sensitivity with the BC 127. What can be done to fix this?

    • I noticed the same thing as well. One thing that helped a bit was ‘set input_gain=15’. You have to do that every time you use the mic though. When read, you get input_gain=15 but for some reason, the back end register gets reset to something like 7 or 8, and has to be rewritten back to 15 to get the microphone sensitivity back up. It’s a little annoying. I suppose some of that also has to do with mic sensitivity or bias voltage. Maybe try lowering the bias resistor value to get more current across the mic? Is your filtering attenuating your signal?

  • I’m getting tons of noise when I try to connect the audio outputs (which are differential) to a non-differential audio amplifier. I’m using an op amp to convert the differential signal to a non-differential one, but I’m sure that I must be missing something. What are all of you using?

    • Take a look at the Purpletooth Jamboree schematics: It’s basically a reference design. I found it helpful for figuring out how to do the audio stuff on this chip.

      • Yeah, I’ve discovered that too. The Jamboree’s design uses a TPA6138A2 headphone amplifier to go from differential to single-ended, and they’ve used the reference design from its data sheet. My project originally was going to use a small amp that had differential inputs and everything was fine. After switching to a larger amp which was single-ended, I eventually also switched to a Jamboree to make things easier.

  • Can this be used with both 3.3V and 5V Arduinos (or other controllers)? Both a 3.3V and 5V Pro Mini are used in the hookup guide. The supply voltage in the BC127 datasheet is listed as 3.3V to 4.7V, so 5V should be fine, right? I wanted to ask because the RN-52 Bluetooth module that is also sold on a breakout board by Sparkfun is very specifically only a 3.3V chip, so I don’t know how strict that is with this one.

    • There’s a voltage shifting circuit on the board, so it can be used with 3.3V or 5V processors. It also has an onboard 3.3V regulator, so it can be powered from 5V as well.

      • to add to this answer, the max ratings of this module are up to 4.2V, that means that if you want to power your circuit with the li-on batteries they sell here you can do it with minimim hardware modifications (directly although not recommended)

      • Thanks. Is the 3.3V regulator just for the power supply or does that also apply to the UART TX/RX lines? I.e. can I directly connect the TX/RX lines to a 5V Arduino, or does that need to be level-shifted down to 3.3V externally?

        • There is level shifting circuitry on the board to protect it from being damaged by 5V data signals.

          • Thanks again. Last question, I promise: Is this level shifting circuitry on the Purpletooth Jamboree board as well?

            • Yes. In fact, it’s pretty much a standard feature on most modules that we sell that run on 3.3V. Smaller breakout boards don’t usually get it, however, to keep the size down.

  • Has anyone tried using the Melody Updater? I can’t get it to run on any of my Windows machines. I would post this question on the Bluecreation forums, but I’ve been waiting a couple of days for them to activate my account.

    • Resolved. It appears to have been missing VC++ libraries and possibly the order in which they were installed. The Melody Updater comes with the 2005 and 2012 redistributable libraries, but I also ended up installing the Windows 7 SDK. Now I have Melody v5.5 running on my BC127.

      • Did you use a FTDI bridge (and have you connected all the pins, including CTS and DTR)?

        I tried the upgrade but it bricked the BC127, and now it seems to be stuck on DFU mode, I was using a PL2303 with TX RX only (well 70 bucks to the trash bin, time to order a new jamboree board).

        • did you flip tx to rx and rx to tx? $70 bucks is quite a lot of money you could use towards other hardware!

        • I used the SparkFun FTDI Basic Breakout, and didn’t connect CTS or DTR - just VCC, GND, TX, and RX. I’ve just gotten a PurpleTooth Jamboree and am about to upgrade it as well. Hopefully it works.

        • CTS and DTR should not be required for the updater (earlier versions did need it, but not any more). I did a lot of upgrades but never saw a bricked board…I wonder if it’s something with the PL2303?

          • But the PL2303 did work great for a month with the jamboree (bc127).

            Wondering if this (pl2303) has something to do with phonebook downloading that never completes (the PBAP_PB OK event is never signaled by the BC127, but the phone book list size seemed complete)

            But it seemed more like a firmware bug than a UART bridge issue (all other command and events did worked great). That is why I wanted to update to the latest firmware.

            It is bricked (really really bricked it seems) as it outputs a series of BF FF (in several combinations) when powered, in what probably is the DFU mode sending a “ready” header hex string.

            Now if there is a pin that can be tied low (or high) at power up to unbrick it (like in similar BT IC’s), THAT will be great (not holding by breath for that though)

            From BlueCreations BC127 page:

            “Additionally the DFU process is a reliable upgrade protocol. If this upgrade fails or is not completed the device still functions and allows the upgrade to be restarted.”

            Yeah, right ;)

            • I think I did read about it in the datasheet, I think you do pull high a pin for one second or more for switching mode/profile

              • Yes, but only to “restore to factory settings” (gpio0) but for that you need a working firmware.

                Actually there is no way to recover from a half firmware write. Tried almost all of the possible ways to recover it (short of using the konami code ;) ), no repsponse fromBlueCreations, no activation to post on their forums, and a “you should contact BlueCreations” from sparkfun “support”.

                Actually there might be a way to recover it, using the usb port on the BC127, but then again it is undocumented and it seems that it will continue to be that way.

                Already ordered a new unit, but not really sure that I will risk it with a firmware update again (even with the ftdi ic)

                I have implemented a BC127 emulator in software and I can reproduce the firmware update error every time (just a few bytes are sent continously to the unit after entering in DFU mode, but the updater reports update completed ok, thus bricking the module), so it has nothing to do with being PL2303 or FTDI, it is an updater issue or a DFU process issue. Definetely it is not “unbrickable” as claimed.

  • jtpack / last year * / 1

    BlueCreation’s Battery Schematic shows a 150mAh Li-Ion battery and notes that an R2 of 0.4 ohm provides a 500mA fast charge. However, in the BC127 Breakout and Purpletooth Jamboree schematics, this resistor (R11) is 0.75 ohm. Was it chosen to provide a slower charge? Can I use a much larger battery - like a 2500mAh Li-Polymer?

  • Am I correct in assuming that Blue Creation will eventually include in the firmware commands to configure the cap_sense pins?

  • Just so you know the link to your “Understanding the BC127 Bluetooth Module” Module Datasheet.pdf is giving a 404 error. Correct link is >> You left the last part off.

    • Fixed. Apparently the close paren around the (10) was messing up the markdown link. Thanks!

  • Will this device allow me to stream audio from Arduino Due connected to it to BT speakers?

  • will this sync with a phone?

  • Question for anyone that’s played with one of these, how do you connect a microphone from a standard phone headset through a TRRS connector? I have tried hooking up MIC_RP to the sleeve, with MIC_RN to Ring 2, MIC_LP -> S MIC_LN -> R2; MIC_RP & MIC_LP -> S, MIC_RN & MIC_LN -> R2, and nothing seems to work. I can hear audio just fine, but nothing goes through the mic. Am I missing an amplifier or do I have to do something with MIC_BIAS_A? I have FORCE_ANALOG_MIC set to ON, but still nothing. I realize that I have probably bit off more than I can chew with this, but any help is appreciated.

    • Never mind. I’m an idiot, and an internet search about microphone bias is your friend if your like me and don’t know what your doing.

  • I was wondering if the gods of sparkfun know of any documentation on how to use the programmable io pins and/or the capacitive touch. have they even implemented this in the current firmware? i have searched for ages and can’t find a thing.

    • The IO pins are fairly easy to use; check the command set manual, page 6, under PIO. Note that you’ll need to disable GPIO control first; see page 15 of the manual.

      At this point, however, the cap sense is not supported by the Melody firmware that ships with the device. If that changes, we’ll update the product description.

  • Im having a difficult time with this device. It seems the UART is very unreliable when sending commands via Hercules. I send music commands, and it might work ONCE, then I get the ERROR response when I send any other commands. The GPIO buttons always work and if I use them, I can send another command via UART before it breaks again. Whats up with that?

    Edit: I have found out that the module expects a return carrage ‘\r’ after the command. When I used Hercules, I was pressing enter after commands, which sends a ‘\n\r’. The module does not like the ‘\n’ before the ‘\r’ and it will cause problems… Just an FYI!

    Also, how does one obtain the firmware upgrade software and upgrade tool??

  • Ummmmmmm…. What’s up with Rx and Tx not being swapped on the FTDI port?? I tried direct connecting my FTDI and realized that Rx on the FTDI goes to Rx on the breakout board. Same with Tx. What gives??

    • It doesn’t fit your FTDI board, but it will connect to your Pro Mini. Its always a toss up as to which we want things to connect to, but we figure its going to end up in a project connected to something like a Pro Mini and not your FTDI board.

  • Just to clarify, does the TOGGLE_VR command activate the voice assistant on iPhone/Android phones (e.g. Siri or Google Now or whatever the phone has configured)? This is supposedly part of the A2DP profile, but I couldn’t make it work on the RN-52 and it’d be great if it was that easy on the BC127. Let me know, and thanks!

    • Yes, I was just playing with the module and it does kick in the voice commands on the phone (siri, gnow) when you send it TOGGLE_VR. Sending TOGGLE_VR a second time has it cancel.

  • The Blue Creation web site mentions a Melody 5.2 interface [announced August 2013] and the linked pdf says 5.0. Is there a planned upgrade? Does this already have the new firmware and just an old document? I’m interested in the multiple SPP/audio connection feature that is supposed to be in 5.2.

  • Can we create custom BLE services with this chip? For example, could I make an iBeacon with it, or is it limited to the serial BLE service like most other Arduino BLE modules?

  • So, any way you guys can publish what the serial command set for the interface is? I ask because in the library tutorial, you guys say:

    To make things easy for the advance user, we’ve also included three additional functions that allow you to send any command in the datasheet, and to alter or retrieve any parameter setting.

    But if you look at the datasheet( linked here, there are no such commands listed.

  • Will this work to send data to an iOS device or is it a purely audio profile?-Keith

  • is it a simple BLE module or does it have an embedded uC? like a 8051 or something similar? Interesting product, looking forward to trying it out

    • It does have an embedded uC to handle the stack; data transactions are handled through simple streaming to and from the onboard UART.

      • maybe this is a stretch but do you have the eagle file for people who want to develop their own circuits with this module?


        • There’s a link to the EAGLE files above; you can also find them in the GitHub repository. The BC127 module footprint is in the SparkFun EAGLE library, also available on GitHub.

Customer Reviews

No reviews yet.