Simplest Bluetooth 4.0 BLE & Arduino for $7




This tutorial is intended to show the minimum steps to get a Bluetooth 4.0 CC2540 Module to connect to an Android Smartphone or tablet.

Teacher Notes

Teachers! Did you use this instructable in your classroom?
Add a Teacher Note to share how you incorporated it into your lesson.

Step 1: Buy Arudino Nano on Ebay for $3

Step 2: Buy a Bluetooth BLE "SMART" Serial Uart on Ebay for $3.46

Step 3: Connect the Nano and the Bluetooth Serial Module

Step 4: Select Board Type to Be a Nano and Then Upload ASCII Example Code to Your Arduino

Step 5: Download HM BLE Terminal APP From Google Play Store

Step 6: Launch the BLE Terminal App

Step 7: Open the Menu Button Then Hit Connect So You Can Scan for New Devices

Step 8: Connect to the Serial Module

The android device will then search for available devices.

It should find a BT05. Select this device to connect to.

Step 9: Hit the Reset Button on the Arduino and You Should See the Communication Happen

From here you can write your own code. A Serial.print(" your text or data here "); is all that is needed.

Note you need to hit the clear screen button on the android app to see new data from your device.

I hope it works for you.

Step 10:

2 People Made This Project!


  • Made with Math Contest

    Made with Math Contest
  • Multi-Discipline Contest

    Multi-Discipline Contest
  • Robotics Contest

    Robotics Contest

10 Discussions


Question 2 months ago

Hello, thank you for the very easy to follow instructions. For connecting the the TXD->RX0 ports, say so the student could send a text string from the bluetooth app over the phone, is a resistor divider network also necessary?

1 answer

2 years ago

Hi ClintK2!

Thank you for this instructable! I want to transfer 100 samples/s from an Arduino Nano to the smartphone, via BLE. Is this instructable useful for my needs? Thanks, God bless you!

1 reply

Reply 2 months ago

Your question is a little hard to understand. If you change the code at the bottom to do the following you can send an infinite amount of data:

if (thisByte == 126) { // you could also use if (thisByte == '~') {
thisByte = 33;

The word sample tends to be an overloaded term so in what context do you intend?


Question 1 year ago on Introduction

How to work with UUID's.

I have a temperature and humidity sensor , how can deal with UUID's.


3 years ago

Good info, thank you for sharing.