How does it work?
NanoBeacon Click is based on the IN100, a versatile and compact part of InPlay’s NanoBeacon™ SoC product family that operates as a Bluetooth low energy beacon in the 2.4GHz frequency band. Packed with advanced features, this SoC boasts an efficient and configurable state machine, ensuring optimal performance. It incorporates non-volatile memory for storing user-defined data payload and a data SRAM for dynamic data storage. The IN100 further includes an analog-to-digital converter, a powerful security engine supporting AES-128 and EAX encryption, and a True Random Number Generator (TRNG) for enhanced security. It also offers a unique proprietary beacon mode, available in either the 2.4GHz ISM frequency band or the MedRadio frequency bands. Enclosed in a small QFN package, this device offers a seamless and secure solution for a wide range of Industrial Internet of Things (IIoT) applications.
With its user-friendly design, this device eliminates the need for complex Bluetooth-related software programming. Once configured, it automatically transmits either BLE advertising or proprietary-format advertising packets, allowing for effortless operation. The IN100 features two types of built-in memory: a 4Kb OTP memory for storing user advertising data payload, security key, and predefined register settings, and a 4KB SRAM for dynamic advertising data storage. The SRAM retains data in Sleep mode while only the always-on (AON) domain remains active. The IN100 offers an extensive array of supported sensor interface protocols, ensuring compatibility with a wide range of sensor devices. Additionally, it supports popular beacon formats such as iBeacon, Eddystone, and even custom beacon formats, allowing for seamless integration into various ecosystems.
This Click board™ communicates with MCU using the UART interface with commonly used UART RX and TX pins. It operates at 115200 bps by default configuration to transmit and exchange data with the host MCU. Also, the IN100 enables on-the-fly changes to the advertising data payload and control mode through its UART interface. While UART communication can be used as the IN100’s primary mode of communication with the MCU, an additionally supported interface, the I2C 2-wire interface, can be used to communicate with additional external sensors connected to this Click board™ via its onboard stacking headers of the mikroBUS™ socket.
As previously stated, the OTP memory stores the user’s advertising data payload, security key, and predefined register settings. This memory is programmed only once before usage. Switch the OTP SEL switch to the ON position to program the desired configuration into the device’s one-time programmable memory. This action will effectively ‘burn’ the configuration into the tag’s OTP memory. After the configuration has been burned, the power supply to the Click board™ must be disconnected and reconnected (or reset the board) to initiate the tag’s execution based on its programmed behavior.
This Click board™ comes with a miniature coaxial U.FL series antenna connector, which allows connecting the appropriate antenna, such as a WiFi 2.4GHz/5.4GHz Active FPC Antenna, for improved range and received signal strength.
Besides the UART pins, the NanoBeacon Click also employs other pins of the mikroBUS™ socket to enhance its functionality. For example, the EN pin is utilized as a chip-enable pin, the AN pin for external analog sensor measurements, one DQ pin as a general-purpose I/O pin, and the device RESET button which can be used to reset the device to its default settings, ensuring efficient and reliable operation. Two orange LED indicators, GP6 and GP7, can be used for optional user-configurable visual indications of some operational states. Additionally, it incorporates two low-leakage load switches for convenient power control of external circuitry and sensor ICs available for users on unpopulated SW0-SW1 pins, SW0 for the external sensor’s power supply, and SW1 for its ground connection, respectively.
This Click board™ can only be operated with a 3.3V logic voltage level. Also, the IN100 can use a backup supply voltage, selected via BATTERY switch, from a connected coin-cell battery on the back of the board if you need the Click board™ to be a standalone device. For additional low power consumption, unsolder the CT jumper on the back side of the board, which turns off the power LED indicator and reduces power consumption. The board must 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 as a standalone retail beacon setups, asset tracking, real-time location systems (RTLS), active RFID, wireless industrial applications, and more
On-board modules
IN100 – ultra-low power Bluetooth 5.3 Beacon SoC from InPlay
Key Features
Bluetooth Low Energy 5.3 compliant, three beacon modes, ease of use, two types of memory (OTP and SRAM), low-power mode advertising, RF radio, low power consumption, UART and I2C interface, security and privacy, and more
Interface
Analog,I2C,UART
Feature
ClickID
Compatibility
mikroBUS™
Click board size
L (57.15 x 25.4 mm)
Input Voltage
3.3V
Pinout diagram
This table shows how the pinout on NanoBeacon 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-LD3 | GP6-GP7 | – | User-Configurable LED Indicators |
CT | J2 | Unpopulated | Low Power Consumption Jumper |
SW1 | OTP-SEL | Left | OTP Memory Programming Power Selection OFF/ON: Left position OFF, Right position ON |
T1 | RESET | – | Reset Button |
J1 | SW0-SW1 | Unpopulated | External Peripheral Device Connection Header |
SW2 | BATTERY | Left | Battery Supply Selection OFF/ON: Left position OFF, Right position ON |
NanoBeacon Click electrical specifications
Description | Min | Typ | Max | Unit |
---|---|---|---|---|
Supply Voltage | – | 3.3 | – | V |
Frequency Range | 2.25 | 2.4 | 2.55 | GHz |
Data Rate | 100 | – | 1000 | kbps |
Maximum Output Power | – | 5 | – | dBm |
Software Support
We provide a library for the NanoBeacon Click as well as a demo application (example), developed using MIKROE compilers. The demo can run on all the main MIKROE development boards.
Package can be downloaded/installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Library Description
This library contains API for NanoBeacon Click driver.
Key functions
-
nanobeacon_set_advertising
This function sets the device MAC address, interval and advertising raw data. -
nanobeacon_load_adv_to_ram
This function loads advertising data to RAM. -
nanobeacon_start_advertising
This function starts the advertising.
Example Description
This example demonstrates the use of NanoBeacon Click board™ by setting the Eddystone URI advertisement to click boards webpage.
void application_task ( void )
{
// The device MAC address for advertisement
static uint8_t mac_address[ 6 ] = { 0x01, 0x02, 0x03, 0x04, 0x05, 0x06 };
// Eddystone advertisement raw data
static uint8_t eddystone_adv_raw[ ] =
{
0x03, // Length of Service List
0x03, // Param: Service List
0xAA, 0xFE, // Eddystone ID
0x12, // Length of Service Data
0x16, // Service Data
0xAA, 0xFE, // Eddystone ID
0x10, // Frame type: URL
0x00, // Power
0x01, // https://www.
'm','i','k','r','o','e',
0x00, // .com/
'c','l','i','c','k'
};
log_printf( &logger, "rn Restart devicern" );
nanobeacon_restart_device ( &nanobeacon );
while ( NANOBEACON_OK != nanobeacon_check_communication ( &nanobeacon ) )
{
log_error( &logger, " Check communication." );
Delay_ms ( 1000 );
}
log_printf( &logger, " Configure device for advertisementrn" );
if ( NANOBEACON_OK != nanobeacon_set_advertising ( mac_address, 1000, eddystone_adv_raw,
sizeof( eddystone_adv_raw ) ) )
{
log_error( &logger, " Set advertising." );
}
if ( NANOBEACON_OK != nanobeacon_load_adv_to_ram( &nanobeacon ) )
{
log_error( &logger, " Load data to RAM." );
}
log_printf( &logger, " Start advertisingrn" );
if ( NANOBEACON_OK != nanobeacon_start_advertising ( &nanobeacon ) )
{
log_error( &logger, " Start advertising." );
}
Delay_ms ( 10000 );
}
The full application code, and ready to use projects can be installed directly from NECTO Studio Package Manager (recommended), downloaded from our LibStock™ or found on Mikroe github account.
Other Mikroe Libraries used in the example:
- MikroSDK.Board
- MikroSDK.Log
- Click.NanoBeacon
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 MIKROE compilers.
mikroSDK
This Click board™ is supported with mikroSDK – MIKROE 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.