OOK TX click

Description of product

OOK TX click is a simple wireless transmitter that operates at the frequency of 433MHz (sub-GHz). This device allows realization of a simple, low-speed wireless ad-hoc communication network between a transmitter and compatible receiver, such as the OOK RX click. This device features a programmable transmit power in 1dB steps, On-Off Keying (OOK) modulation with power ramp-up control, and it complies with US (FCC) and Canada (IC) standards.

This kind of networking is widely used for remote low-speed communication, such as the remote keyless access, remote fan or light control, garage or gate doors control, unidirectional low data rate wireless links and similar applications where this kind of communication is applicable.

How does it work?

The OOK TX click uses the MICRF114 IC, a 285MHz to 445MHz low power integrated RF transmitter, from Microchip. The working principle of this device is based on the encoding of information and embedding it in a radio signal. The OOK modulation is a way to encode information and assemble it into radio signals which can be transmitted and received wirelessly.

Generally, the OOK modulation is a subtype of the ASK modulation, but it is of a binary type. OOK is an abbreviate for the Off-On Keying, which perfectly describes this type of modulation. The presence of the carrier signal is recognized as the logical 1, while the absence of a carrier signal is recognized as the logical 0. This method is more immune to noise and interferences than the ASK modulation, and it allows for greater communication distance to be achieved.

The transmission signal of OOK TX click is generated by the internal synthesizer section of the MICRF114 IC, which operates at a single frequency. The external oscillator with the base frequency of 13.56 MHz is used so that the RF signal frequency is 433.95MHz, a perfect match for the OOK RX click, which operates on the exact same frequency. The MICRF114 IC has a single RF output pin, which can be easily matched with the onboard single pole PCB trace antenna.

The communication with the MICRF114 IC is done through the 2-Wire (I2C) interface. The communication is unidirectional - from the MCU to the MICRF114. The transmission parameters are kept within one 16bit register, so the configuration is simple and easy. On a power-on reset event (POR), the device is loaded with the default values and it is necessary to initialize it, before starting the transmission. The device features auto calibration, which is engaged after each POR, although the MCU can request the recalibration. The recalibration is required if the operating frequency is changed, so it is usually not requested on the fly.

There are two modes of operation: Sleep mode and Transmit mode. The MCU initializes the communication by sending the Start signal over the communication bus. The Start signal is followed by the mandatory Control bits and optional Configuration bits. After the rising edge of the last bus clock pulse on the SCK pin of the MICRF114 IC, the wake-up sequence will start and the device goes into Transmit mode. The MCU should keep the clock line at a LOW state and after waiting for the maximum wake-up time interval, the transmission can start. At this moment, the communication becomes asynchronous and the device directly modulates the carrier signal with the data incoming on the SDI pin. After receiving the Stop signal on the bus, the transmission is ended and the device reverts to the Sleep mode. While in Sleep mode, most of the sections are powered down and the power consumption is minimal. The SCK pin of the MICRF114 IC is routed to the mikroBUS™ SCL pin, while the SDI pin of the MICRF114 IC is routed to the mikroBUS™ SDA pin.

The included MikroElektronika libraries contain all the functions needed for an easy and proper configuration of the transmit parameters and communication itself. The included demo application can be used as a reference for a future design.

Although OOK TX click features a programmable output power, the small PCB trace antenna limits the transmitted signal power, so it can stay within the European Telecommunications Standards Institute (ETSI) limitations. The device complies with the FCC and IC regulations. For this reason, an external SMA connector is not used.

OOK TX click comes equipped with the pull-up resistors on its 2-Wire (I2C) communication lines. It is meant to be powered only from the 3.3V rail of the mikroBUS™

Specifications

Type RF Sub 1GHz
Applications It can be used for remote low-speed communication, such as the remote keyless access, remote fan or light control, garage or gate doors control, unidirectional low data rate wireless links
On-board modules MICRF114, Low-Power Integrated Sub-GHz Wireless RF Transmitter
Key Features The OOK TX click features an OOK signal modulation, programmable transmit power in 1dB steps, On-Off Keying (OOK) modulation with power ramp-up control, and it complies with US (FCC) and Canada (IC) standards.
Interface I2C
Input Voltage 3.3V
Click board size M (42.9 x 25.4 mm)

Pinout diagram

This table shows how the pinout on OOK TX click corresponds to the pinout on the mikroBUS™ socket (the latter shown in the two middle columns).

Notes                    Pin     Mikrobus logo.png            Pin            Notes
NC 1 AN PWM 16 SCL I2C Clock
NC 2 RST INT 15 NC       
I2C Data SDA 3 CS RX 14 NC
NC 4 SCK TX 13 NC
NC 5 MISO SCL 12 NC
NC 6 MOSI SDA 11 NC
Power Supply 3V3 7 3.3V 5V 10 NC
Ground GND 8 GND GND 9 GND Ground

OOK RX click electrical specifications

Description Min Typ Max Unit
Output Power -2 +13 dBm
POR Delay time 20 ms
Wake-up time 3 ms
Calibration time 2 ms

Onboard settings and indicators

Label Name Default Description
LD1 PWR - Power LED indicator


Software support

We provide a library for OOK TX click on our LibStock page, as well as a demo application (example), developed using MikroElektronika compilers and mikroSDK. The provided click library is mikroSDK standard compliant. The demo application can run on all the main MikroElektronika development boards.

Library description

This library contains functions required to setup OOK communication.

Key functions

uint8_t ooktx_communicationInit(uint8_t calibration, uint8_t configuration, uint16_t configurationSettings)- Initializes communication with the click

uint8_t ooktx_communicationTransmit(uint8_t transmitData)- Transmits data via OOK

uint8_t ooktx_communicationStop()- Sends a stop condition

The application is composed of three sections :

  • System Initialization - Initializes output pins.
  • Application Initialization - Initializes click driver.
  • Application Task - Code snippet - Sends a data byte that is incremented after every transmission. Data byte is prefixed by preambule bytes and start packet bytes that help the receiver to differentiate received data from glitches.
void applicationTask()
{
    uint8_t i;
    uint8_t j;

    i = 1;
    while(1)
    {
        //Signals the device to start ook communication
        ooktx_communicationInit(_OOKTX_CALIBRATION_ENABLE, 
        _OOKTX_CONFIGURATION_ENABLE, _OOKTX_CFG_DEFAULT);

        //Sends a sufficiently long preambule - 8 bytes of "01010101" sequence
        for (j = 0; j < 8; j++)
        {
            ooktx_communicationTransmit(_OOKTX_PREAMBULE);
        }

        /*
         * Sends 2 "Start packet" bytes - To help the receiver to differentiate
         * actual data packages from signal glitches. These bytes can be any
         * random number, as long as receiver knows what to expect.
         */
        ooktx_communicationTransmit(0xCE);
        ooktx_communicationTransmit(0x35);

        //Data byte to be transmitted
        ooktx_communicationTransmit(i);

        //Stops ook communication
        ooktx_communicationStop();
        delay_ms(1000);
        i ++;
    }

}

The full application code, and ready to use projects can be found on our LibStock page.

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.

Downloads