

The Adafruit Bluefruit LE UART Friend (Part ID: 2479) is a Bluetooth Low Energy (BLE) module designed for seamless integration with microcontrollers. It enables wireless communication with smartphones, tablets, and other BLE-enabled devices. This module is particularly well-suited for Internet of Things (IoT) projects, wearable devices, and remote control applications. Its UART interface simplifies data exchange, making it accessible for both beginners and advanced users.








The Adafruit Bluefruit LE UART Friend is packed with features that make it versatile and easy to use. Below are its key technical details:
| Parameter | Value |
|---|---|
| Bluetooth Version | Bluetooth Low Energy (BLE) 4.0 |
| Communication Interface | UART (3.3V logic level) |
| Operating Voltage | 3.3V to 5V |
| Current Consumption | ~10mA (active), ~1.5mA (idle) |
| Transmission Range | Up to 10 meters (line of sight) |
| Data Throughput | Up to 128 kbps |
| Dimensions | 21mm x 32mm x 5mm |
| Weight | 3g |
The module has a simple pinout for easy integration with microcontrollers. Below is the pin configuration:
| Pin Name | Description |
|---|---|
| VIN | Power input (3.3V to 5V) |
| GND | Ground |
| TX | UART Transmit (3.3V logic level) |
| RX | UART Receive (3.3V logic level) |
| CTS | Clear to Send (optional, for hardware flow control) |
| RTS | Ready to Send (optional, for hardware flow control) |
| DFU | Data Firmware Update (used for updating the module's firmware) |
| MODE | Mode selection pin (used to switch between Command and Data modes) |
The Adafruit Bluefruit LE UART Friend is designed for ease of use. Follow the steps below to integrate it into your project:
VIN pin to a 3.3V or 5V power source and the GND pin to ground.TX pin of the module to the RX pin of your microcontroller, and the RX pin of the module to the TX pin of your microcontroller.CTS and RTS pins to the corresponding pins on your microcontroller.MODE pin to toggle between Command mode (for configuration) and Data mode (for communication).DFU pin to update the module's firmware when necessary. Refer to Adafruit's official documentation for detailed instructions.Below is an example of how to connect and use the Adafruit Bluefruit LE UART Friend with an Arduino UNO:
| Bluefruit Pin | Arduino Pin |
|---|---|
| VIN | 5V |
| GND | GND |
| TX | RX (Pin 0) |
| RX | TX (Pin 1) |
#include <Adafruit_BluefruitLE_UART.h>
#include <SoftwareSerial.h>
// Define RX and TX pins for SoftwareSerial
#define BLUEFRUIT_RX 10
#define BLUEFRUIT_TX 11
// Create a SoftwareSerial instance for communication
SoftwareSerial bluefruitSerial(BLUEFRUIT_TX, BLUEFRUIT_RX);
// Create an instance of the Bluefruit library
Adafruit_BluefruitLE_UART ble(bluefruitSerial, -1, -1); // No CTS/RTS used
void setup() {
// Initialize Serial Monitor
Serial.begin(9600);
while (!Serial); // Wait for Serial Monitor to open
Serial.println("Adafruit Bluefruit LE UART Friend Example");
// Initialize Bluefruit module
bluefruitSerial.begin(9600);
if (!ble.begin(false)) { // No hardware flow control
Serial.println("Failed to initialize Bluefruit module!");
while (1);
}
Serial.println("Bluefruit module initialized!");
// Set module name (optional)
ble.sendCommandCheckOK(F("AT+GAPDEVNAME=BluefruitUART"));
Serial.println("Module name set to 'BluefruitUART'");
}
void loop() {
// Check for incoming data from Bluefruit
if (ble.available()) {
char c = ble.read();
Serial.print(c); // Print received data to Serial Monitor
}
// Send data to Bluefruit from Serial Monitor
if (Serial.available()) {
char c = Serial.read();
ble.write(c); // Send data to Bluefruit
}
}
BLUEFRUIT_RX and BLUEFRUIT_TX with the appropriate pins if using different connections.No Response from the Module
VIN and GND connections).TX and RX) are not swapped.MODE pin is set correctly for the desired operation.Poor Signal Strength
Firmware Update Fails
DFU pin is correctly connected during the update process.Data Transmission Issues
CTS and RTS are properly connected.Q: Can I use the module with a 5V microcontroller?
A: Yes, but you must use a logic level shifter for the UART pins to avoid damaging the module.
Q: How do I reset the module to factory settings?
A: Send the AT+FACTORYRESET command in Command mode. The module will reset and restart.
Q: What is the maximum range of the module?
A: The module has a maximum range of approximately 10 meters in line-of-sight conditions.
Q: Can I use the module without hardware flow control?
A: Yes, hardware flow control is optional. You can leave the CTS and RTS pins unconnected if not used.
For additional support, refer to Adafruit's official documentation and forums.