Im so BLUEtooth today.

Testing BLK-MD-BC04 Bluetooth Module +Demo Board

Thirtyseven (37) days ago I made an order from EBAY to an item I found rather interesting to test out. Finally today it arrived via  airmail from Hong Kong :–).  Bluetooth module set is via Bolutek and here is the specifications for the bluetooth module itself:

myWPEditImage Image


The BLK-MD-BC04-B is a Bluetooth serial module for OEM manufacturers who want to implement Bluetooth functionality with their products cost effectively and also in timely manner. The BC04-B supports UART, USB, I2C, PCM, PIO interfaces for the communication with the OEM products.

The BC04-B is provided with Bluetooth v2.0 compatible firmware runs internally for SPP (Serial Port Profile) applications by default. It based on CSR BC04 External chipset with an antenna integrated and with the firmware provided by our company, it could be easily used for kinds of Bluetooth products.

The BC04-B is fully qualified with Bluetooth v.2.0+EDR specification so OEM manufacturers can save cost and time for overall OEM product certifications, which makes the BC04-B ideal solution for larger volume and cost sensitive applications.


Bluetooth protocol: Bluetooth Specification v2.0 + EDR

USB protocol: USB v1.0  2.0

Frequency: 2.4GHz ISM band

Modulation: GFSK (Gaussian Frequency Shift Keying)

Transmit power: ≤ 4dBm, Class 2

Sensitivity: ≤-84dBm at 0.1% BER

Rate: 2.1Mbps(Max)/160 kbps(Asynchronous);1Mbps/1Mbps(Synchronous)

security features: Authentication and encryption

Support profiles: Bluetooth serial port (master & slave)

Power Supply: +3.3 VDC 50mA

Operating temperature: -20 ~ +55 Centigrade

Dimensions: 26.9mm x 13mm x 2.2 mm


Personal Digital Assistants

POS Terminals

Data Logging Systems

Audio Gateway applications

GPS receiver

Industrial control

MCU projects

Bluetooth module is hooked up to serial (RS232) demo-board which is very useful on many forthcoming applications I have in my mind. With the demo-board you can either choose the Master/Slave/Off modes and programming the interface itself with AT-commands is easy via RS232 interface.

It took some time to go through different types of serial programming applications to get AT-commands running as they should. By default the BC04 is configured with this setup: PIN: 1234 NAME: Bolutek  SPEED: 9600  .. So if you are fine with default settings you can start hooking this tiny device on rig, firewall, anything which has a serial port actually. Just keep in mind that you need external power 5VDC for device to work. You can choose to use USB-port on device or either solder  5VDC power source as accu/battery. Here is the instructions for setup BT-module on OSX, but the principles will be the same no matter of the Operating System: First make sure the module is set to “Slave”. Then connect it via serial cable to your computer, and use your default serial terminal application to access it via following settings:  COMx (where X your COM-port), baudrate: 9600, parity: none, bits 8, stop bits 1, none for hardware flow control. Turn the module on (USB-cable plugged in for power), open your serial terminal software  and hopefully you will be able to start typing AT-commands.

Then comes the best part (AT-commandline) Start with AT: AT -> Should Respond “OK” AT+HELP

Command Description

AT Check if the command terminal work normally

AT+RESET Software reboot

AT+VERSION Get firmware, bluetooth, HCI acess code

AT+ROLE Get/Set master or slave mode

AT+STATE Get current state

AT+SENM Get/Set security and encryption mode

AT+IPSCAN Get/Set page and inquiry scan parameters

AT+SNIFF Get/Set sniff power table parameters

AT+LOWPOWER Start/Stop low power mode

AT+UARTMODE Get/Set uart stop bits and parity

AT+ENABLEIND Enable/Disable Indication print

AT+LSP List Paired Device List

AT+RESETPDL Reset Paired Device List

AT+REMOVEPDL Remove one entry from Paired Device List

AT+SUPERVISION Get/Set supervision timeout

(M)AT+AUTOINQ Start/Stop auto inquiry

(M)AT+AUTOCONN Start/Stop auto connection

(M)AT+INQM Get/Set inquiry parameters

(M)AT+INQ Start inquiry

(M)AT+INQC Cancel ongoing inquiry

(M)AT+CONNECT Connect to a remote device by BD address

Note: (M) = The command support master mode only, other commands

support both master and slave mode.

For more information, please visit

Copyright@2011 All rights reserved.


+BOLUTEK Firmware V2.42, Bluetooth V2.0, HCI V2.1, HCI Rev37, LMP V4, LMP SubV37








–> change to 115200 on terminal app & test once more (close and reopen)


+BOLUTEK Firmware V2.42, Bluetooth V2.0, HCI V2.1, HCI Rev37, LMP V4, LMP SubV37

Then poweroff  the module and plug it back into your favourite serial port accessible machine 🙂

myWPEdit Image

73 de OH2FXD, Mikko 

55 thoughts on “Im so BLUEtooth today.”

  1. Hi! I am also interested in this module, trying to find out more about it, the thing I’m trying to find out is it’s audiosupport! On the manufacturer website they write: “Audio Gateway applications”, maybe You could shed any light on it?

    Great blog btw!

  2. Can you connect two microcontrollers, one talking to other, using two of those devices, one in each microcontroller? or each device requires a bluetooth network running in a PC, and it is only a slave?

    1. You can configure these for either master/slave modes. You are not needed to install it only for PC use.
      Ive seen these used on many arduino hw, also on atmega.

  3. hi i have one of thease demo rs232>BT boards but im having trouble changing its settings
    im useing HTerm and im not getting any replys 😦
    did you just conect it via a null modem serial cable (pins 2+3 crossed)?

    1. I connected it via regular USB to Serial cable. Prob. with FTDI chip. Remember that you need to have
      bt demo board powered at same time either via usb or internal accu/battery connectors.

      1. ok, the bc04 has a socket, the usb to serial has a socket…
        so, for the male to male cable, is it a straight rx/tx connection, or do i have to cross them over?
        i could probably figure this out myself, it only takes a few seconds to swap a wire over lol.

    2. I may have the same issue. With a Kindle tablet running SENA BTerm, connect by bluetooth to the demo board, and a PC connected by USB-to-Serial adapter 9pin Dsub to the demo board. Problem is the PC will comm to the Kindle, but I can’t get a thing when I try to send from the Kindle. The device won’t respond to AT commands from either the Bluetooth side or wired side.

  4. How do you set up a laptop to open a data link to the Bluetooth device. I want to capture the data stream from my peetbros. weather stations rs-232 port via my bc04 device to my laptop?

    1. Pair a new device via bluetooth. After that you should be able to access bc04 via ie. Hyperterminal software by just defining the new virtual(bluetooth) serial port.
      Windows should be able to recognize what kind of device is in question. Im sorry I dont have many Windows workstations lying around to test it myself.
      Ofcourse you also need to match up serial port speed defined by weather station and other settings if must before you use it for datacapture 🙂 Blog entry should help
      on the setupping the device (for that you need a serial cable thought).

  5. Hi, I’m a little lost on this device. I have 2 of these but testing on 1 currently. My goal is to have a device that is outputting serial info from a computer in my car to transmit that via bluetooth to my computer. I believe that’s what these devices are for. I’m not sure what I have to set up because when I connect the BC04 to my car and listen on the computer via the comp port that the BC04 is listed to be running on I don’t receive any data. However if I just plug in my USB to SERIAL data flows normally.This is evident in Hyper-terminal as I see the data streaming but when I connect to the BC04 com port nothing comes out.

    Any help?

    1. Do you have exaxtly the same settings as with USB-serial, atleast the port speed? Also is the dip-switch in correct position? I assume you have done some preconfs as you have it connected via bluetooth allready.

      1. Hi there, I’m using the default all default except for the device name. I’ve double checked the settings and all are the same. To understand this device clearly does it receive data on IT’S serial port and transmit it via bluetooh to my computer or is it the otherway around where my computer sends data to this device and it only outputs though the serial connection?

        What am I doing wrong!! ;(

  6. very strange, I was able to connect to my other PC using the device and hyper term. So meaning. PC1 BT and PC2 using USB serial adapter and had 2 way communication. However when I connect the device directly to the thing i’m using in the car it’s silent as a ghost in hyper terminal and none of the data being streamed is transmitted to my PC.

    1. No idea, I have never done only oneway communication with the device. It is also unclear how the Master mode works if change via dipswitch.

      Seems that the documentation have been improved since I made the original post:

    2. try swapping PIns 2/3 TX/RX i had the same issue and it turned out that the silk screen on the PCB was mixed up i ended up just swapping the pins.

    1. Yeah, not much help on this case though! I need to find my bt-dongle and device which has only one way interface to test this myself 😛

    2. I have problem with connecting this module to Hyper terminal. I do every thing according to the instruction but i have not got any result. It drives me crazy. Please help me!
      Thanks for your cooperation, In advance.

      1. Thank u dear Alex! I provided 5 v at BATT but I have the same problem! Do u have any suggestion?

      2. Keeping on sleave position and disconnecting from DB9 port, does the blue LED flashes when you connect the 5V? If not check polarity.

      3. Yes my friend! I kept on slave mode and the polarity is ok! The blue LED flashes! but i have not any result! What can i do? I purchased two module and i have tested all of them but they have the same result! It’s very confusing situation! Do u have this module? Can u get movie from its configuration?

      4. Dear Ehsan, I don’t have the module with me now, sorry. I also was stugling before to be able to connect it. My problem was not to know that it is required to provide the 5V on the battery connector. The only other tricks is the fact that Rx and Tx pins (2 and 3) are inverted respect the standard DB9 pinout. Did you know that?
        Good luck.

  7. when I turn on send the message:

    *** BOLUTEK SPP Bluetooth Module V2.43 Init OK in SLAVE mode!***
    *** Please input AT+HELP to get commands list. ***
    *** For more information, please visit ***

    As you can remove this??

  8. Thanks for the info. There doesn’t seem to be any on the Bolutek website specific to the Demo board itself. I want to see if I can use the demo board to receive data from my Bluetooth GPS mouse and interface to my APRS module (Byonics TT3+) which has a male DB9 input connector. I will use the USB connection on the demo board to do setup but then I’m not sure if I need to set the demo board to master or slave in order to send data to the APRS module. I know I will need a gender changer for the DB9 connector.

  9. Need a little help with this… Sorry for digging up an old post! I am on OSX and have configured the device via serial and have paired it to my laptop. It shows up in /dev under tty.BOLUTEK-SPPDev and cu.BOLUTEK-SPPDev. However, whenever I try to connect to either using “sudo screen /dev/…” I get an error indicating “A Bluetooth serial failure has occured, Failed to open an RFCOMM serial channel”. Anyone else have experience with this error? It sounds like something else may have a lock on the connection? Thanks!

    1. No problem digging on old post, seems this is the most visited blog entry for some reason. I have not stumbled upon this myself
      but if I can dig anything up for the error I will let ya know.

    2. When the demo board is in master, I get the same error message. When I use the slave mode, the pairing works when I open the virtual port with my terminal application. I can send data, but I have no answer. No AT commands works via bluetooth, no answer from my Cisco switch… I dont know if my board is defect. I’ve just lost time and money 🙂

      1. In my opinion you cannot run AT commands via BT. Hookit up via serial cable to your PC (add power via usb) and you should be able to preconfigure it for your device.

      2. Jonathan, I had exactly the same issue open comm port but blank screen with cursor in putty. It turns out that the RX/TX pins on the board are reversed.(manufacturing fault. I have two boards both the same) I swapped the pins round and bingo data flows fine (I just modified a DB9 to RJ45 converter.)

        Board has the following silk screen details on it:

        Give it a go! Wireless cisco console rocks!

      3. You’re lucky. I’ve try to reverse the pin with my cisco DB9 to RJ45 and it does not work at all. I lost so many hour on it ! 🙂 At leat, I try

  10. Hi
    Having some of the same problem as zazzn.
    I have an ECU on my car I try to connect. ECU is an car controlling computer on my race car.
    This ECU have a serial conector and works fine when I connect directly to PC.
    So I was thinking this BLK-MD-BC04-B_DEMO could help me awoid the problem with connecting the PC/lap top after every race to download recordings and to change data on the ECU.
    when I connect the BLK-module to my ECU with the serial connector and power this up, it’s look like it’s working fine, I can establish BT conection and use “com 3” on my PC for my BT dongle.
    Now when I open my progrtam for ECU contrller I can not get contact witt ECU in the car. I set the program for “com 3” and 9600 speed.

    i started to wonder if I have to solder a new serial port to the board, I see there is possibility to do so close to the BT module on the board. or is the board defect.
    I also tryed to conect directly to PC with the serial connector, I can hyperterminal to open the connection and write:
    *** BOLUTEK SPP Bluetooth Module V2.43 Init OK in SLAVE mode!***
    *** Please input AT+HELP to get commands list. ***
    *** For more information, please visit ***

    what am I doing wrong?

  11. I changed the ECU speed to 9600 also. but maybe I should try to change the BLK module speed to 19200 like the orginal speed was on the ECU.
    Can the the fail come from a crossed tx/rx line on the serial cable on my ECU?
    I use the cable I normally connect to PC, and plug this direct to BLK module. The cable have a diffrent conector in the other end, so I cant connect directly to ECU!
    but I can make a “crossed” conector so I can cross back to same pin-out as the ECU

  12. Hope its not too late to get some help/advice,
    I am trying to set up a Tablet astronomy app “Sky Safari” to a telescope hand held controller with a rs232 port (9600,8,n,1). Others have this configuration working fine.
    I purchased 2 Demo boards with BT then my problems started.
    My Main problem is I cant get a mobile device connection to work..
    I have 2 of the Demo boards & can “pair” to both using a tablet (samsung note 8) & mobile (samsung S4) but neither will “connect” to the BT module on the Demo board.
    A laptop however will pair & appears to connect . The AT+STATE =4 (CONNECTING ! )
    AT commands are working ok with hyperterminal & usb/serial lead.
    Any help would be appreciated

  13. Just an update for anyone interested, the recommendation From Chris was correct Tx Rx Legs on the DB9 are reversed & required a Null Modem (effectively reversing the Tx & Rx) to establish a connection from a Tablet (running the Sky Safari App) through the Boultek to my telescope synscan controller.(9600,8,n,1) all good now.
    ….regards…bruce. (EX – VK2TBL- let my licence lapse)

  14. Hi,
    Thanks for the great blog article! It’s great to find some help out there 🙂

    I am configuring one of these units to get a BT interface to the instrumentation system on my boat but am having trouble establishing communication via the RS232 DB9 interface from my laptop to configure it.

    My question is: exactly what cabling (i.e pin connections) should I be using to connect the DB9 MALE connector from my laptop (on the end of the USB to RS232 adapter cable plugged into the USB on my laptop) to the DB9 MALE on the BLK-MD-BC04_DEMO board?

    What I have done to test is:
    o 2 x USB to RS232 adapter cables plugged into the USB ports on my laptop to get two COM ports
    o Connect the DB9 MALE connectors on the end of each of these together with a F-F DB9 Null Modem cable
    o Can successfully talk between the two COM ports at 9600,8,n,1 using two instances of PuTTY
    o Disconnect one of the USB/RS232 adapter cables from the null modem cable and plug in the BLK-MD-BC04_DEMO RS232 port
    o Can’t get any response to ATMJ

    Is the RS232 pinout on the BLK-MD-BC04_DEMO configured as DTE or DCE?

    Or are the RX, TX pins incorrectly connected as suggested in some of the posts?

    Also, some comments mention connecting the DEMO to a USB to Serial cable. Do some of these cables have a F connector? Or what type of sex-change adapter is used … null modem (crossover) or straight through.

    And do you need any of the pins other than TX, RX and GND connected (e.g. DTR, DSR, CTS, RTS etc) ?

    Any help would be VERY much appreciated! I am stumped 😦


    1. PS: DEMO board IS powered on (RED LED on) and have tried with BT mode switch in OFF and SLAVE positions.

  15. Hi i have been playing with the bc04-b to install in my SARK100 antenna analyser with help from Sigi DH1KLM , i needed to change the speed of the bc04, i tried every thing but i could not send “at” commands needed to the bc04 to change the baud rate in my case AT+BAUD7. I tried several terminal programs to no avail, the symptoms were, i could send and receive text to the bco4 via bluetooth using my phone and the terminal program but i could not send “AT” commands to the bc04,. After many hours looking into my problem and tring many different terminal programs i assumed that the bc04 was faulty??? i brought it of e-bay from china, after more searching i came across a youtube video regarding programing the HC-05 and the vlogger was using a program called “FlashMagic V9.55” success!!!!!!. i install the program (free) opened the terminal and “hay presto” it worked. Remember that the BC04-B will not except AT commands when you are connected via bluetooth on your phone/tablet. After a afternoon trawling the net it was all down to getting the correct terminal that suits your requirements. I hope this helps someone and i was scratching my head alot but i got there in the end john M0AVD

    1. In general any terminal program “should” work. Also configuring bc04-b is mentioned in the blog itself ” Then connect it via serial cable to your computer, and use your default serial terminal application to access it via following settings: ”

      In windows I use Hyperterminal, in OSX Z-terminal. Good that you got it working.

  16. Hi oh2fxd,
    I did powrer up the unit via the USB port but no any new BT device shows-up to my smartphone. Do I have to connect the RS232 port to see the BT ?

      1. I did try via hyperterminal and a USB-RS232 cable. Not even the possibility to write any command (e.g. AT), up to now. Keyboard seems to be inactive. Thanks.

  17. We notice that BC04-B_DEMO board require 1 li-ion cell connected to bat-connector to work. With only USB connection it will not get enough power. Tested with 3pcs of these boards.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s