Arduino Due and Bluetooth 4.0 (HM-10 CC2540)

Hi everyone,

I have a personal project in which I need to use an accelerometer and a Bluetooth 4.0 transceiver. Surfing the web I found this website explaining how to connect an Arduino Uno and a Bluetooth transceiver (
I actually have an Arduino Due and received my Bluetooth 4.0 transceiver HM-10 and I tried to copy the wiring from this website.
Unfortunately it's not working and I don't know if I did something wrong or if the transceiver is simply not working. The transceiver is not detectable by any of my device.
Here is a picture of my wiring.

Thanks for your help!

Dear taqman,

From my experience, just connecting the Vcc(+3.3v) and GND should be enough for the module to broadcast it's name. You could try this first, without connecting any comm lines ( RX, TX).

From your wiring photo, I can see that you did not connect all the ground pins. While this probably will not cause any malfunctions for this device, it is advisable to always connect all the ground pins as omitting them could cause damage to your device or cause very strange behavior. What you could do to check if all the ground pins on the board are connected to each other, if this is not the case, than you should definitely connect all the ground pins that are separate from each other to your arduino ground.

Stupid question, but it might be relevant as i do not know 'technical skill'. Do you have a bluetooth 4.0 compatible device/ operating system?
BTLE / 4.0 is only supported by the iphone4s ( and newer models). And specific android devices but only from android 4.3.

I also know that HM-10 models shipped prior to august 2013 have a circuit error that sometimes causes the board to behave unexpected. This is fixable, check it out here: ( last page of the pdf ).

Kind regards,


Small update:

You know the Arduino DUE runs on 3.3 volts right, so you do not need the voltage divider on the tx pin. Also from the picture is it very unclear if the Vcc line is actually connected to the 3.3V pin, is this the case?

Man the example is from standard BT - not BLE .
BLE is very different .
I am looking for something simple as well and have worked with regular BT but BLE is very different and much more complicated to work with .

the reason why is not working is because the RX/TX levels are working at CMOS level and not TTL. The HM-10 is unable to receive any command because the due pins are only at 3.3 level. Basically it should work with a MOSFET tranzistor linked at the TX of the due pin.

Hi ! I thought it would be good to bring this Thread back to life and add my solution.
Well, I can sent AT-Commands to my HM-10 (CC2540).

I'm using a Arduino Nano, where PIN 10 and 11 are my RX and TX. VCC is on 3,3V and GND is clear :wink:

#include <SoftwareSerial.h>

SoftwareSerial softSerial(10, 11);
                       // RX, TX

void setup()

Serial.print("Hello, please wait...");


//softSerial.print("AT+BAUD4"); //  Sets Baud to 9600
//softSerial.print("AT+BAUD8"); //  Sets Baud to 115200


void loop()
  if (softSerial.available())
  if (Serial.available())

I also attach my wiring.

Anyway, now i don't know how to run for example the Tx Power Service on it.
Any Ideas. Example?

HM-10 with CC2540 wiring.png