Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use Adafruit Bluefruit LE UART Friend: Examples, Pinouts, and Specs

Image of Adafruit Bluefruit LE UART Friend
Cirkit Designer LogoDesign with Adafruit Bluefruit LE UART Friend in Cirkit Designer

Introduction

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.

Explore Projects Built with Adafruit Bluefruit LE UART Friend

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Adafruit Circuit Playground Bluefruit and Crickit-Based Smart RGB LED and Temperature Monitoring System
Image of Example: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
This circuit integrates an Adafruit Circuit Playground Bluefruit with an Adafruit Crickit for Circuit Playground Express to control a temperature sensor, a loudspeaker, and a series of WS2812 RGB LED strips. The Crickit board reads temperature data, drives the loudspeaker, and controls the LED strips to create visual effects based on the sensor input.
Cirkit Designer LogoOpen Project in Cirkit Designer
STM32F103C8T6 Bluetooth-Controlled Arcade Joystick Interface
Image of RC카 조이스틱: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
This circuit features an STM32F103C8T6 microcontroller interfaced with a Bluetooth HC-06 module for wireless communication and an Adafruit Arcade Joystick for user input. The microcontroller's pins B0 and B10 are connected to the TXD and RXD pins of the Bluetooth module, enabling serial communication, while pins B14 and B15 interface with the joystick's directional controls. The circuit is powered by a battery, with power distribution managed through the microcontroller's 3.3V pin and common ground connections.
Cirkit Designer LogoOpen Project in Cirkit Designer
ESP8266 WiFi Module Serial Interface with Pushbutton Control
Image of esp01 progrmmer: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
This circuit features an ESP8266 ESP-01 WiFi module interfaced with an Adafruit FTDI Friend for serial communication. The ESP8266's TXD and RXD pins are connected to the FTDI's RX and TX pins respectively, allowing for data exchange between the microcontroller and a computer. Additionally, a pushbutton is connected to the ESP8266's reset pin, enabling manual resets of the module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Touch-Sensitive Interface with Adafruit MPR121 and Feather 32u4 Bluefruit
Image of MPR121: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the Feather and communicates via I2C (SCL and SDA) to detect touch inputs, which can be processed or transmitted wirelessly by the Feather.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with Adafruit Bluefruit LE UART Friend

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of Example: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
Adafruit Circuit Playground Bluefruit and Crickit-Based Smart RGB LED and Temperature Monitoring System
This circuit integrates an Adafruit Circuit Playground Bluefruit with an Adafruit Crickit for Circuit Playground Express to control a temperature sensor, a loudspeaker, and a series of WS2812 RGB LED strips. The Crickit board reads temperature data, drives the loudspeaker, and controls the LED strips to create visual effects based on the sensor input.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of RC카 조이스틱: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
STM32F103C8T6 Bluetooth-Controlled Arcade Joystick Interface
This circuit features an STM32F103C8T6 microcontroller interfaced with a Bluetooth HC-06 module for wireless communication and an Adafruit Arcade Joystick for user input. The microcontroller's pins B0 and B10 are connected to the TXD and RXD pins of the Bluetooth module, enabling serial communication, while pins B14 and B15 interface with the joystick's directional controls. The circuit is powered by a battery, with power distribution managed through the microcontroller's 3.3V pin and common ground connections.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of esp01 progrmmer: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
ESP8266 WiFi Module Serial Interface with Pushbutton Control
This circuit features an ESP8266 ESP-01 WiFi module interfaced with an Adafruit FTDI Friend for serial communication. The ESP8266's TXD and RXD pins are connected to the FTDI's RX and TX pins respectively, allowing for data exchange between the microcontroller and a computer. Additionally, a pushbutton is connected to the ESP8266's reset pin, enabling manual resets of the module.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of MPR121: A project utilizing Adafruit Bluefruit LE UART Friend in a practical application
Touch-Sensitive Interface with Adafruit MPR121 and Feather 32u4 Bluefruit
This circuit integrates an Adafruit MPR121 capacitive touch sensor with an Adafruit Feather 32u4 Bluefruit microcontroller. The MPR121 is powered by the Feather and communicates via I2C (SCL and SDA) to detect touch inputs, which can be processed or transmitted wirelessly by the Feather.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • Wireless data transmission for IoT devices
  • Smartphone-controlled robotics
  • Wearable technology
  • Remote monitoring and control systems
  • BLE-based sensor networks

Technical Specifications

The Adafruit Bluefruit LE UART Friend is packed with features that make it versatile and easy to use. Below are its key technical details:

Key Specifications

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

Pin Configuration

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)

Usage Instructions

The Adafruit Bluefruit LE UART Friend is designed for ease of use. Follow the steps below to integrate it into your project:

Connecting to a Microcontroller

  1. Power the Module: Connect the VIN pin to a 3.3V or 5V power source and the GND pin to ground.
  2. UART Communication: Connect the 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.
  3. Optional Flow Control: If using hardware flow control, connect the CTS and RTS pins to the corresponding pins on your microcontroller.
  4. Mode Selection: Use the MODE pin to toggle between Command mode (for configuration) and Data mode (for communication).

Important Considerations

  • Logic Level Compatibility: The UART pins operate at 3.3V logic levels. If your microcontroller uses 5V logic, use a level shifter to avoid damaging the module.
  • Antenna Placement: Ensure the onboard antenna has a clear line of sight for optimal signal strength.
  • Firmware Updates: Use the DFU pin to update the module's firmware when necessary. Refer to Adafruit's official documentation for detailed instructions.

Example: Connecting to an Arduino UNO

Below is an example of how to connect and use the Adafruit Bluefruit LE UART Friend with an Arduino UNO:

Wiring Diagram

Bluefruit Pin Arduino Pin
VIN 5V
GND GND
TX RX (Pin 0)
RX TX (Pin 1)

Arduino Code Example

#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
  }
}

Notes

  • Replace BLUEFRUIT_RX and BLUEFRUIT_TX with the appropriate pins if using different connections.
  • Ensure the baud rate matches the module's default (9600 bps).

Troubleshooting and FAQs

Common Issues

  1. No Response from the Module

    • Ensure the module is powered correctly (check VIN and GND connections).
    • Verify the UART connections (TX and RX) are not swapped.
    • Check if the MODE pin is set correctly for the desired operation.
  2. Poor Signal Strength

    • Ensure the onboard antenna is not obstructed by metal objects or enclosures.
    • Reduce the distance between the module and the BLE device.
  3. Firmware Update Fails

    • Ensure the DFU pin is correctly connected during the update process.
    • Use the latest firmware files from Adafruit's official website.
  4. Data Transmission Issues

    • Verify the baud rate settings on both the module and the microcontroller.
    • If using hardware flow control, ensure CTS and RTS are properly connected.

FAQs

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.