UART with Bluetooth Low Energy (BLE) using Dorji DBM01

I found these modules while I was browsing for some development products on ebay. They promised to make it very simple to communicate between a BLE device (Android/iOS etc) and any device that can communicate via serial UART.

Of course I had to give them a go, especially for the price. Because all of the BLE profiles have already been taken care of, this is a useful product if you wish to develop an application sending simple data to and from BLE devices.

To get started with this BLE module you will need a few things: BLE compatible iOS device (Android will work too but I am using iOS), PC with a terminal application installed, 3.3V supply and RS232 level converter. The pin out for the module is below, we only need 4 pins though. Ground, Vcc, Tx, Rx.

**An interesting thing before we go any further**

The module I am using is pre December 2013 so does not utilise the P0.6/CTRL pin. If you are lucky and are using a more modern module you can set whether your device works in transparent mode (pin HIGH) or via AT commands (pin LOW). For this example you would use transparent. AT commands are very useful, especially to set the device up to your owns specifications (change role from peripheral to central for example!) More information can be found here.

**

Back to the fun stuff. Solder some thin cable to the correct pins or make a PCB if you have equipment. I was impatient so I soldered directly to the module. If you solder direct I would recommend anchoring the board in place with something as it is extremely light.

 

Buzz out the pins to make sure you have no shorts with a multimeter and connect the module up to a power supply. I used the 3.3V off of my Arduino. Now download LightBlue from iTunes to test whether it works! Open the app and you should see your BLE peripheral on the screen.

 

 

Now the easy bit. Connect the Tx and Rx from the BLE module to your RS232 level converter's associated ports. I used a USB to TTL converter, which makes this process a lot quicker than a MAX chip on a breadboard. I recommend them highly. My finished, albeit messy circuit is below.

 

 

Once connected you need to set up Realterm or Hyperterminal (or any other terminal app) so that the connection setup reads 38400 baud, 8 data bits, Parity None, 1 stop bit, no flow control. With your PC terminal connected, open the LightBlue app again and tap on your BLE device. The screen below should appear.

 

The BLE service we want to use is 0xFFF0 so press that and the screen will change to a menu of different characteristics. BLE services and characteristics are quite large subjects and I'm not that bright so I won't go into them here but there is a plethora of information available from a quick google search.

 

 

From the Dorji data sheet we know that characteristic 0xFFF1 is the write data property so press that to bring up the write screen.

 

 

Now type in a string of characters in the ASCII box and hit send. Hopefully you will see that the message has been received on your PC's terminal window.

 

If for some reason your attempt has not worked I would check firstly your electrical connections for open circuits and shorts. Then check your PC terminal with a known working device or simply plug tx into rx and make sure what you type in the terminal is echoed back on the same screen.

I hope this has been some sort of help or interest. If you have any questions feel free to message me.