Due to its robustness and simplicity, it is ideally suited for replacing communication over cables, such as RS485 links (Profibus, Modbus) and half-duplex RS232 links, with wireless technology. With the features such as Listen Before Talk (LBT), AES 128 encryption, excellent RX sensitivity of -117 dBm, 15 to 27 dBm output power, error reporting, and more, it is a perfect choice for establishing secure and reliable long-range network coverage, even in noisy environments.
How does it work?
The main component on the tRF click is the LE70-868 RF
module, from Telit. It operates in the 868 MHz ISM license-free frequency range. This module is composed of a digital and RF sections. The RF section is responsible for the frequency synthesis, packet handling, power amplification, and low noise reception. This module has the maximum power of 500 mW, staying compliant with the ERC recommendation 70-03, Annex 1. Digital section takes care of all the I/O management and communication interface. The embedded MCU with the Telit software stack is also a part of this section.
The module can be switched to command mode when it receives the command string (+++) via the UART. While configured to work in a command mode, it is possible to set the values of the registers. The radio communication is stopped while in this mode. A list of registers can be found in the LE70-868 RF module documentation, allowing simplified configuration of the device.
This module can operate in three different modes modes:
Transparent mode: in this mode, data is sent without any addressing or encapsulation - data sent to UART RX pin of the module is sent over the air transparently, as it is - up to 115,2 kbps communication speed via UART is supported. All modules in range operating on the same radio frequency are able to receive the data. This is the default mode.
Addressed Secured mode: this mode uses frame addressing, CRC check, and acknowledgement. It allows multipoint network to be realized, in which every module can communicate with other modules of the network. This mode also allows telemetry commands to be sent over the network and supports broadcasting (when sending data at address 0). Data is buffered before sending so the frames should remain small enough to fit in the buffer.
Smart Repeater mode: it allows data communication between the coordinator and the end nodes, extending the function of the Addressed Secured mode. It allows every type of network distribution to be established - star topology, line topology and combination between these two. It can be used to extend the range of the network.
Some additional features include LBT (Listen Before Talk), a feature that performs radio frequency scanning before it sends data, making sure that the radio band is free - avoiding data collisions that way. It works for both Transparent and Addressed modes. AES 128-bit data encryption helps in achieving the required network security, while the Wake on Radio feature allows very low power consumption, allowing modules to remain in Sleep mode, waking up periodically. When valid frames are received, the module wakes up completely and processes the message.
tRF click uses the UART interface to communicate with the host MCU supporting speed in the range from 1.2 kbps to 115.2 kbps. In addition, the module is equipped with a number of configurable I/O pins. By default, they are used by the module to report status or as the control inputs.
IO9 pin is routed to the mikroBUS™ PWM pin labeled as STS. This pin goes HIGH, during transmission over serial port. While idle, it stays at LOW logic level. Activated when register S269 is 0.
IO8 pin is routed to the mikroBUS™ INT pin labeled as ACK. In Addressed Secured mode, this signal goes to logic HIGH, when an ACK notification has not been received after frame transmission and repetition. Activated when register S268 is 0.
WKP/STB pin is used to wake the module up or put it into the standby mode. When the standby mode register S240 has the bit 0 set, while this pin stays to a HIGH logic level, the module will be in the standby mode. The module will awake on the falling edge on this pin. It is routed to the mikroBUS™ AN pin labeled as STB.
#RESET pin is internally pulled up with a resistor. A LOW logic level on this pin will reset the embedded MCU of the module. It is routed to the RST pin of the mikroBUS™.
IO1 and IO2 pins are used to report network status by LEDs. IO1 pin is routed to a red LED, used to report any kind of radio transmission from the module. IO2 pin is routed to the yellow LED, which reports any radio reception, even before it was processed by the application layer. Activated when registers S261 and S262 are set to 0, respectively.
The logic section of the module is capable of operating with 3.3V signals, allowing minimum number of components, allowing it to be used without the level shifting circuitry, usually mandatory for similar modules - since their logic sections are usually operated at 1.8V. However, when working with 5V MCUs, an external level shifting device still needs to be used. SMA antenna connector is included, allowing 868 MHz antenna to be connected, allowing optimal range of the module.
||Sub-1 GHz Transceievers
||It is ideally suited for replacing communication over cables, such as RS485 links and half-duplex RS232 links, with wireless technology. It can be used to send any kind of data via UART over the air, either transparently, or in a secured star or line network topology
||LE70-868 RF module, from Telit
||A complete proprietary Telit software stack on board, wide area coverage of up to 10 km, AES 128bit encryption, excellent RX sensitivity, operates in the 868 MHz ISM license free frequency band, onboard SMA antenna connector for optimal range, configurable output power
|Click board size
||M (42.9 x 25.4 mm)
This table shows how the pinout on tRF click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
||UART TX Status
Onboard settings and indicators
||Power LED indicator
||Radio transmission LED indicator
||Radio reception LED indicator
||SMA antenna connector
We provide a library for the tRF 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.
Initializes and defines UART bus driver, and defines driver's functions for comunication (reading and writing) between tRF clicks.
void trf_writeByte(uint8_t input) - Function writes (sends) one byte in UART rx buffer
uint8_t trf_readByte() - Function reads (receives) one byte from UART rx buffer
uint8_t trf_byteReady() - Function checks state of rx buffer (is new data placed in)
void trf_reset() - Function resets click and sets back in normal operating mode
The application is composed of three sections:
- System Initialization - Intializes UART module
- Application Initialization - Driver intialization
- Application Task - (code snippet) - Checks if new data byte have received in rx buffer (ready for reading), and if ready than reads one byte from rx buffer. In second case aplication task writes message data via UART.
// RECEIVER - UART polling
rdyFlag = trf_byteReady();
if (1 == rdyFlag)
tmp = trf_readByte();
mikrobus_logWrite( &tmp, _LOG_BYTE );
// TRANSMITER - TX each 2 sec
/*for (tmp = 0; tmp < 9; tmp++)
trf_writeByte( MESSAGE_DATA[tmp] );
mikrobus_logWrite( "MESSAGE SENT", _LOG_LINE );
The full application code, and ready to use projects can be found on our LibStock page.
Other mikroE Libraries used in the example:
Additional notes and information
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.
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.