BLE 8 CLICK
PID: MIKROE-3674
Weight: 18 g
BLE 8 Click is fully embedded stand-alone Bluetooth 5.0 Energy connectivity module, equipped with
the ANNA-B112, an ultra-small, high-performing, standalone Bluetooth low energy module for easy
integration of Bluetooth low energy connectivity (BLE) into various electronic devices. This module
combines a high-performance Arm® Cortex®-M4 CPU microprocessor with FPU, and state-of-theart power performance. Reliable and easy to use, BLE 8 click is a perfect solution for development of
various IoT applications, smart home applications, BLE enabled toys, advanced robotics, and other
similar applications.
WiFi BLE click is supported by a mikroSDK compliant library, which includes functions that simplify
software development. This Click board™ comes as a fully tested product, ready to be used on a
system equipped with the mikroBUS™ socket.
BLE 8 click is a Click board™ which provides Bluetooth Low Energy connectivity for
any embedded application. It features the ANNA-B112, an integrated wireless
connectivity solution. The ANNA-B112 module itself is based on the nRF52832 chip, a
flexible, efficient Bluetooth 5 and Bluetooth mesh multiprotocol SoC. Armed with such a
powerful processor, the ANNA-B112 can achieve data rates of up to 2 Mbps and up to 5
dBm maximum radiated output power using internal antenna, ensuring a reliable
connection and good signal coverage. BLE 8 click is ideal for small smart devices like
home automation sensor and fitness applications that need to require really low power
consumption and long battery life.
HOW DOES IT WORK?
BLE 8 click is equipped with the ANNA-B112, Stand-alone Bluetooth 5 low energy
module by u-blox, which is based on the nRF52832 chip. The nRF52832 is the midrange member of the nRF52 Series SoC family. It meets the challenges of a broad
range of applications that need Bluetooth 5 feature sets, protocol concurrency and a
rich and varied set of peripherals and features. In addition, it offers generous memory
availability for both Flash and RAM. It is operated by a set of AT commands, over the
UART interface, which makes the BLE 8 click very easy to use.
By integrating most of the critical components on the chip, the ANNA-B112 allows the
module to overcome any imperfections of external discrete components, allowing signal
transmission power of up to 5dBm, and -92 dBm sensitivity for the receiver, using the
on-chip antenna.
The ANNA-B112 module is built around an ARM® Cortex™-M4 CPU with floating point
unit running at 64 MHz. It has NFC-A Tag for use in simplified pairing and payment
solutions, as well as numerous digital peripherals and interfaces such as PDM and I2S
for digital microphones and audio. It is also fully multiprotocol capable with full protocol
concurrency. It has protocol support for Bluetooth 5, Bluetooth mesh, ANT and 2.4 GHz
proprietary stacks.
Besides the mikroBUS™ socket, BLE 8 click also features two optional 6-pin header
mounts, with marked pin labels. All of these pins can be externaly connected and used
for various purposes. SWDCLK and SWDIO pins are reserved for the SWD interface,
which the ANNA-B112 series modules uses for flashing and debugging. The rest of the
external pins, labeled as IO1-IO10 are general purpose IO type and can be
programmed according to the users needs.
The onboard buttons T1 and T2, as well as the RGB LED LD2 (labeled SYS), are also
user programmable and can be used for various purposes for basic user interaction
without any external components required besides the BLE 8 click.
This Click Board™ is designed to be operated only with 3.3V logic level. A proper logic
voltage level conversion should be performed before the Click board™ is used with
MCUs with logic levels of 5V.
SPECIFICATIONS
Type
BT/BLE
Applications
Medical equipment and fitness applications, IoT devices, home
automation, smart energy, etc.
On-board
modules
ANNA-B112, Stand-alone Bluetooth 5 low energy module by ublox
Key Features
ARM® Cortex™-M4 CPU, integrated antenna, support for
Bluetooth 5, Bluetooth mesh, ANT and 2.4 GHz proprietary stacks,
onboard tacticle switches and RGB LED
Interface
GPIO,UART
Click board
size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
PINOUT DIAGRAM
This table shows how the pinout on BLE 8 click corresponds to the pinout on the
mikroBUS™ socket (the latter shown in the two middle columns).
Notes
Pin
Pin
Notes
Data terminal
ready
DTR
1
AN
PWM
16
DSR
Data set ready
Reset
RST
2
RST
INT
15
RTS
UART request to
send
UART clear to
send
CTS
3
CS
RX
14
TX
UART Transmit
NC
4
SCK
TX
13
RX
UART Receive
NC
5
MISO
SCL
12
NC
NC
6
MOSI
SDA
11
NC
Power Supply
3.3V
7
3.3V
5V
10
NC
Ground
GND
8
GND
GND
9
GND
Ground
ONBOARD SETTINGS AND INDICATORS
Label
Name
Default
Description
LD1
PWR
-
Power LED Indicator
LD2
SYS
-
User programmable RGB LED Indicator
T1,T2
-
-
User programmable tacticle switches
J1,J2
-
-
External GPIO and SWD interface connections
SOFTWARE SUPPORT
We provide a library for the BLE 8 click on our LibStock page, as well as a demo
application (example), developed using MikroElektronika compilers. The demo can run
on all the main MikroElektronika development boards.
Library Description
This library allows user to perform a full control of the ANNA-B112 module. With this
library user can send a commands to the module to perform the desired module
configurations, connection with the other device, data transferring, and also can check
the response from the module. User also can check the all necessary information about
module. This library consists of the some predefined commands witch can be helpful to
user to configure the module. For more details check full documentation.
Key functions:
•
•
•
•
void ble8_uartDriverInit( T_BLE8_P gpioObj, T_BLE8_P uartObj )- This function initializes UART
driver.
void ble8_response_handler_set( void ( *handler )( uint8_t* ) )- This function sets handler
on the function which should be performed, for example function for the results logging.
void ble8_uart_isr( void )- This function reads response bytes from the module and sets flag
after each received byte.
void ble8_send( uint8_t *tx_data, uint8_t term_char )- This function allows user to transmit
data and send commands to the module.
Examples description
The application is composed of three sections :
•
System Initialization - Initializes peripherals and pins.
•
Application Initialization - Initializes UART serial interface, UART interrupt, and executes a module
reset. Allows user to enter command mode.
•
Application Task - (code snippet) - This function has two segments. First segment allows user to
enter a commands, module configuration, data which will be transmitted, also to check all module
and connection status by using the serial terminal. Press 'Enter' when you want to send the entered
command (data). Press 'Backspace' to delete the wrong entered character before you send the
command. Press 'Up-Down' or 'Left-Right' to see and enter a 3 last sent commands. Press 'Esc' and
then 'r' or 'R' to execute a module reset. Press 'Esc' and then 't' or 'T' to enter command mode.
Second segment allows user to check and get response from the ANNA-B112 module when
response was ready. Note : The all possible commands, module configuration and specification can
be found in the related documents: [1] ANNA-B112 System Integration Manual, document number
UBX-18009821 [2] u-blox Short Range AT Commands Manual, document number UBX-14044127
[3] ANNA-B112 Getting Started Guide, document number UBX-18020387 [4] ANNA-B112
Declaration of Conformity, document number UBX-18058993.
void applicationTask()
{
rx_data = UART_Rdy_Ptr();
if (rx_data != _RX_NOT_READY)
{
rx_data = UART_Rd_Ptr();
checkRX();
}
if (start_timer == 1)
{
timer_cnt++;
}
logRsp();
Delay_us( 1 );
}
Additional Functions :
•
_strcpy - Allows user to copy content of one string to another string, starting from the first place.
•
_strncmp - Allows user to compare a content of two strings.
•
prevCmd - Checks which character (Up, Down, Left, Right, Esc) was entered by the user.
•
checkPrevCmd - Determines which of 3 previous commands will be entered again.
•
addCmdLine - Adds new command line for entering new data/command.
•
enterLocalAddr - Allows user to enter a 12 digits of target local address in hex format from the serial
terminal.
•
cmdCmp - Checks did user enter one of the predefined commands, that are defined for this demo
example.
•
checkRX - Allows user to enter a desired characters and to send the commands from the serial
terminal.
•
getRsp - Catches the response bytes and sets flag when the response was ready.
•
logRsp - Allows user to see and check the response on the serial terminal.
•
interrupt - Calls a uart isr function when new byte was received from the module.
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
•
UART
Additional notes and informations
Depending on the development board you are using, you may need USB UART
click, USB UART 2 click or RS232 click to connect to your PC, for development systems
with no UART to USB interface available on the board. The terminal available in all
MikroElektronika compilers, or any other terminal application of your choice, can be
used to read the message.
MIKROSDK
This Click board™ is supported with mikroSDK - MikroElektronika Software
Development Kit. To ensure proper operation of mikroSDK compliant Click board™
demo applications, mikroSDK should be downloaded from the LibStock and installed for
the compiler you are using.
For more information about mikroSDK, visit the official page.
RESOURCES
mikroBUS™ Standard specification
LibStock: mikroSDK
Click board catalog
DOWNLOAD
BLE 8 click example on Libstock
BLE 8 click 2D and 3D files
ANNA-B112 datasheet
BLE 8 click schematic
https://www.mikroe.com/ble-8-click/7-29-19