How does it work?
BLE 10 Click as its foundation uses the PAN1780-AT, a low-power Bluetooth® module that provides BLE connectivity for any embedded application from Panasonic. The PAN1780-AT is based on the Nordic nRF52840 single-chip controller with integrated BlueRadios nBlue™ Bluetooth AT.s LE Command Set. With its ARM® Cortex®-M4F, a 1MB Flash, and a 256kb RAM, the PAN1780-AT offers high design flexibility, alongside its new channel selection algorithm, which improves its performance in high interference environments.
The Bluetooth® 5 features an additionally higher symbol rate of 2Mbps using the high-speed LE 2M PHY or a significantly longer range using the LE Coded PHY. The output power of up to 8dBm and the high sensitivity of the nRF52840 combined with the LE Coded PHY make this module very attractive in long-range applications.
The PAN1780-AT communicates with MCU using the UART interface with commonly used UART RX, TX, and hardware flow control pins UART CTS and RTS (Clear to Send and Ready to Send) as its default communication protocol for exchanging AT commands. It operates at 115200bps by default configuration to transmit and exchange data with the host MCU. The PAN1780-AT uses a proprietary GATT profile developed by BlueRadios to stream data; it is not an official Bluetooth® profile. BlueRadios serial port implementation simplifies the user experience, allowing users to stream data similar to how the official Bluetooth® Serial Port Profile (SPP) works on BR/EDR devices. This Click board™ is also equipped with a USB type C connector, which allows the module to be powered and configured by a personal computer (PC).
In addition to these features, it also uses several other mikroBUS™ pins. A Reset button routed to the RST pin on the mikroBUS™ socket puts the module into a Reset state, while AN and IO3 pins routed to the AN and PWM pins on the mikroBUS™ socket represent analog signal monitor and GPIO signal which can be used as Sleep Mode toggle function. In addition, it has four orange LED indicators to indicate various functions such as Sleep mode activation, advertising, received data/commands, and successful module connections.
Two unpopulated headers can also be found on this Click board™, one of which is provided for the optional connection of an external NFC antenna (Type 2 Near Field Communication (NFC-A) for use in simplified pairing and payment solutions), while the second header represents three additional GPIO pins that carry a handful of additional functions whose description can be found in the attached datasheet.
This Click board™ can be operated only with a 3.3V logic voltage level. Considering that the board can also be powered via USB, using the additional LDO, the TLV1117 achieves the required voltage of 3.3V required to power the module. An LDO and 3V3 mikroBUS™ power rail have protection in the form of diode MAX40200 to prevent any unwanted back voltage. The board must also perform appropriate logic voltage level conversion before using MCUs with different logic levels. However, the Click board™ comes equipped with a library containing functions and an example code that can be used, as a reference, for further development.
Specifications
Type
BT/BLE
Applications
Can be used for low-energy Bluetooth® applications, high interference environments, connectionless scenarios, and long-range applications
On-board modules
PAN1780-AT – Bluetooth® Low Energy Module from Panasonic
Key Features
Based on Nordic nRF52840 single-chip controller featuring ARM® Cortex®-M4F with 64 MHz, Bluetooth® 5 LE including LE 2M and LE
Coded PHY, low power consumption, embedded 1 MB Flash memory and 256 kB internal RAM, AT command set, and more
Interface
UART,USB
Feature
No ClickID
Compatibility
mikroBUS™
Click board size
M (42.9 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on BLE 10 Click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Onboard settings and indicators
Label | Name | Default | Description |
---|---|---|---|
LD1 | PWR | – | Power LED Indicator |
LD2 | SLEEP | – | Sleep LED Indicator |
LD3 | ADVERT | – | Advertising LED Indicator |
LD4 | RECEIVE | – | Data Receive LED Indicator |
LD5 | CONN | – | Successful Connection LED Indicator |
T1 | RESET | – | Reset Button |
J1 | – | Unpopulated | Additional GPIO Connection Header |
J2 | – | Unpopulated | External NFC Antenna Connection Header |
BLE 10 Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Operating Frequency Range | 2.402 | – | 2.480 | MHz |
Data Rate | – | – | 2 | Mbps |
Operating Temperature Range | -40 | +25 | +85 | °C |
Software Support
We provide a library for the BLE 10 Click as well as a demo application (example), developed using MikroElektronika compilers. The demo can run on all the main MikroElektronika development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for BLE 10 Click driver.
Key functions
-
ble10_set_device_name
This function sets the local device name. -
ble10_factory_reset
This function factory resets the device. -
ble10_get_temperature
This function executes get temperature command which returns the current temperature of the module’s internal temperature sensor.
Example Description
This example reads and processes data from BLE 10 clicks.
void application_task ( void )
{
ble10_process( );
if ( app_buf_len > 0 )
{
Delay_ms( 100 );
ble10_process( );
for ( int32_t buf_cnt = 0; buf_cnt < app_buf_len; buf_cnt++ )
{
log_printf( &logger, "%c", app_buf[ buf_cnt ] );
}
if ( strstr( app_buf, EVT_GATT_VAL ) )
{
char get_temp_cmd[ ] = GET_TEMP_COMMAND;
const char * __generic msg_ptr = strrchr ( app_buf, ',' ) + 1;
uint8_t msg_len = *( msg_ptr - 2 ) - 48;
if ( msg_len == strlen ( get_temp_cmd ) )
{
char get_temp_hex[ 64 ] = { 0 };
uint8_t get_temp_hex_chr[ 3 ] = { 0 };
uint8_t cnt = 0;
for ( cnt = 0; cnt < strlen ( get_temp_cmd ); cnt++ )
{
uint8_to_hex ( get_temp_cmd[ cnt ], get_temp_hex_chr );
strcat ( get_temp_hex, get_temp_hex_chr );
}
if ( 0 == memcmp ( get_temp_hex, msg_ptr, strlen ( get_temp_hex ) ) )
{
ble10_clear_app_buf( );
log_printf( &logger, " - Get Temperature -rn" );
ble10_get_temperature ( &ble10 );
ble10_display_rsp ( RSP_OK );
}
}
}
ble10_clear_app_buf( );
}
Delay_ms( 1 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager(recommended way), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.BLE10
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. UART terminal is available in all MikroElektronika compilers.
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.