Introduction

DFRobot FireBeetle series are low power consumption controllers designed for Internet of Things (IoT) development. This Bluetooth controller combines Bluetooth Low Energy 4.1 with Arduino controller, offering functions similar to the former Bluno series but with lower power consumption.

FireBeetle BLE 4.1 is compatible with Bluno series (BLE 4.0) and performs much better. It equipped with more stable DIALOG Bluetooth 4.1 chip, supporting maximum 4Kbyte/s transmission rate and low power consumption (25uA POWER DOWN). It can be directly applied to low power consumption application such as wearable and intelligent tools and so on.

It also supports multiple Bluetooth cascade, KISS connection(approach connection) and compatible with Bluno series. Its connection can be realized by holding host BOOT and moving to the target peripheral device.

Features

Specification

Board Overview

Fig1: FireBeetle Board-328P with BLE4.1 PinOUT

LED indicators

Buttons

warning_yellow.png NOTE: VCC is the output voltage of the power supply (USB power supply: 5V, lithium battery power supply: 3.7V)

Arduino Tutorial

Choose a suitable Arduino board

Considering low power consumption, we select Arduino Pro Mini @3.3V 8MHz as Bootloader for FireBeetle BLE4.1 microcontrollers.

Fig2: FireBeetle Board-328P with BLE4.1

warning_yellow.png SPECIAL NOTE: Pro Mini uses 8MHz OCXO. Its processing speed is relatively slow for 115200-baud rate. The high baud rate may lead to unreadable code and packet loss etc. 9600-baud rate is recommended.

Low Power Consumption Mode

BLE 4.1 switch to low power consumption mode with AT command: AT+LOWPOWER=ON. The Bluetooth can still broadcast and connect in the low power mode. When the Bluetooth received data, it will awake automatically and send an interrupt signal to the chip: 328p. The interrupt pin here should be connected to D2 of 328p which is interrupt 0 in the code.

void wakeup(){
  sleep_disable();
  delay(2000);
}
void lowpower(){
 ADCSRA &= ~(1<<ADEN);/*turn off ADC*/
 TWCR &= ~(1<<TWEN);/* turn off TWI*/
 delay(10);
 set_sleep_mode(SLEEP_MODE_PWR_DOWN);/*set sleep mode to power down mode*/
 sleep_enable();/*enable sleep mode */
 MCUCR |= (1<<BODS|1<<BODSE);
 MCUCR = MCUCR & (~(1<<BODSE)) | (1<<BODS);
 sleep_cpu();/*enter sleep mode */
}
void setup() {
 attachInterrupt(0, wakeup, CHANGE);
 /* set interrupt method to trigger D2 to voltage change, callback function is wakeup( ), which means awake functions of the chip 328p*/
 lowpower();
}

void loop() {
 lowpower();
 delay(2000);
}

More Documents

DFshopping_car1.png Get FireBeetle Board-328P with BLE4.1_SKU_DFR0492 from DFRobot Store or DFRobot Distributor.

Turn to the Top