EnOcean 3 click features TCM515 module, low-powered wireless module which is intended for use together with EnOcean's range of energy harvesting modules. This module is also optimized for application requiring smallest possible size and integrated security handling such as line-powered actuators or controllers.
How does it work?
The EnOcean 3 click uses TCM515 module from the company EnOcean, which operates on 868MHz ASK EnOcean Radio Protocol. It's fully integrated radio capability enables communications with other devices by using on board PCB antenna, so no additional antennas are needed for testing this device.
The TCM515 can work in three functional modes: Telegram Reception, Telegram Transmission, Low Power Sleep.
- In receive mode, TCM 515 processes received radio telegrams and verifies correct frame structure and check sum.
- In transmit mode, TCM 515 receives radio telegrams for transmission from the external host via its ESP3 interface.
- TCM 515 can be set into a low power sleep mode for a defined period of time , after expiry of the requested sleep period, TCM 515 will automatically wake-up and transition back to receive mode.
Each TMC515 module contains it own EnOcean Unique Radio ID (EURID) which can be used during transmission for data authentication. Beside this feature, its also possible setting for each module Base ID or Broadcast ID depending from the application that you are designing.
Another important feature is SLF (Security Level Format) which specifies the parameters of the encryption, authentication and rolling code algorithms used for communication with a specific device, which eanbles TCM515 to encrypt and decrypt telegrams using AES128 based on a 16 byte security key.
The TCM 515 provides a transparent radio link between EnOcean radio devices and an external host connected via UART interface using the standardized EnOcean Serial Protocol V3 (ESP3) communication protocol. The default interface speed for this module of the ESP3 (UART) interface is 57600. Additionally, it is possible to change the default ESP3 interface speed at power up from 57600 Bit per second to 460800 Bit per second by moving TURBO jumper to EN position.
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. It is ready to be used as soon as it is inserted into a mikroBUS™ socket of the development system.
EnOcean Serial Protocol 3.0 (ESP3)
EnOcean technology is based on the energetically efficient exploitation of slight mechanical motion and other potentials from the environment, such as indoor light and temperature differences, using the principles of energy harvesting. EnOcean-based products (such as sensors and light switches) perform without batteries and are engineered to operate maintenance-free. The radio signals from these sensors and switches can be transmitted wirelessly over a distance of up to 300 meters in the open and up to 30 meters inside buildings.
The ESP3 is a Point-to-Point protocol with a packet data structure. The maximum size of transferred data is 65535 bytes, with the packet being only 14 bytes long and are transmitted at 125 kbit/s. Compared with ESP2.0, that has the maximum of 25 bytes, it's a considerable improvement.
For detailed information, please refer to the ESP3 specification.
Specifications
Type |
Sub-1 GHz Transceievers |
Applications |
Perfectly suited for the realization of transceiver gateways, actuators and controllers for systems communicating based on the EnOcean radio standard. |
On-board modules |
TCM515 module from the company EnOcean, which operates on 868MHz ASK EnOcean Radio Protocol. |
Key Features |
Low power consumption, small size, higher processor performance, integrated security processing |
Interface |
UART |
Input Voltage |
3.3V |
Click board size |
L (57.15 x 25.4 mm) |
Pinout diagram
This table shows how the pinout on EnOcean 3 click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).
Notes |
Pin |
|
Pin |
Notes |
---|
|
NC |
1 |
AN |
PWM |
16 |
NC |
|
Reset |
RST |
2 |
RST |
INT |
15 |
NC |
|
|
NC |
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 |
JP1 |
TURBO |
Left |
Left position TURBO mode disabled; Right position TURBO mode enabled |
EnOcean 3 click electrical specifications
Description |
Min |
Typ |
Max |
Unit |
---|
Operation freq band |
- |
868.3 |
- |
MHz |
Data Rate |
- |
125 |
- |
kbps |
UART Baud rate |
57600 |
- |
460800 |
kHz |
Supply Voltage |
2 |
3.3 |
3.6 |
V |
Software Support
We provide a library for the EnOcean 3 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
The library initializes and defines the I2C bus driver and drivers that offer a choice for read data form register. The library includes function for read Temperature data and function for read and set temperature hysteresis and limit. The user also has the function for configuration chip and read Interrupt (INT pin) state.
Key functions:
void enocean3_response_handler_set( void ( *handler )( T_enocean3_packet*, uint16_t* ) )
- Function sets handler on the function that should be performed.
void enocean3_uart_isr( void )
- Function reads every single byte from the device, performs a crc8 check for header and data packet and makes a received response.
uint8_t enocean3_sendPacket( T_enocean3_packet *packet )
- Function sends a packet data to the device by using UART interface.
Examples description
The application is composed of three sections :
- System Initialization - Initializes peripherals and pins.
- Application Initialization - Initializes UART interface and interrupt.
- Application Task - (code snippet) - Always checks does response packet ready, and if is ready calls a function to get response packet and makes a decide what will be performed, depending on the received response.
void applicationTask()
{
checkResponse();
}
Additional Functions :
- makeResponse - Gets a response packet from the driver.
- logResponse - Shows a data packet to the uart terminal.
- logExample - Shows which button is pressed to the uart terminal.
- checkResponse - Checks does response ready or not.
- interrupt - To get a response from the device.
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 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.