Bluetooth ble serial port BLE CC2540 CC2541

Out of stock
Product Details


The AT-09 is a module that contains a BLE chip (a CC2540/CC2541). This module allows to perform serial communication with the BLE chip thanks to an Rx and a Tx pin. This module is also very similar to the HM-10 module and is also compatible with it. So if you have some experience with the latter, you will get started quickly with the AT-09.

Rear view of the AT-09 module

Let’s start by turning on the module.

Connecting the Arduino with the module

Let’s start by connecting the Arduino with the AT09 module in order to turn it on. To achieve that, we only need these two pins

AT-09 GND <-> Any Arduino GND Pin

AT-09 VCC <-> Any Arduino 5V Pin or 3.3V Pin

Turn on you Arduino, you should see the AT-09 led blink.

If you have a BLE smartphone, you can also open a BLE scanning app to scan for the AT-09. In my case, I used BlueCap on iPhone. The module was detected as device named ?. You can have a different result.

? is our AT-09

If you do not happen to detect the module in this step, it may be simply a problem with the configuration of the module. So keep reading to learn how to configure it.

In the next section, we will see how we can send commands to the module with the Arduino.

Sending our first command from the Arduino to the module

To allow the Arduino to communicate with the AT-09 BLE module, we use the serial interface (the TXD and RXD pins). Hopefully, Arduino allows to turn any pair of digital pins into a serial interface using the SoftwareSerial library.

After establishing the serial connection, We can start transmitting data to the AT-09 module. The module understands certain data as commands. These commands are the HM-10 AT commands. We will see some examples in this article. Additionally, you can download the reference here or by searching the internet.

Thus, in order to send command to the module we need to:

  • Connect the TXD and RXD pins of the module to any pair of Arduino pins other than 1 and 2.
  • Ask the Arduino to convert that pair of pins into a serial interface.
  • Send AT commands to the module and receive their responses.

Let’s connect the TXD and RXD pins with the Arduino like this:

AT-09 RXD <-> Arduino PIN 3

AT-09 TXD <-> Arduino PIN 2

Save this product for later