SI4432 Wireless Module and Logic Level Shifter

£ 5.50

FREE DELIVERY

Here we have a Ultra-thin, ultra-small wireless transceiver module. This little unit can transmit over 1500 Meters and has been tested to penetrate up to 8 floors.

Utilizing the SI4432 IC, this unit offers stable performance, impressive range, and low power operation.

This unit operates at 1.8-3.6V and therefore needs a logic level shifter (included) to work with your 5V microcontroller. If you don't need the shifter click here for other options. 

With a multitude of possible uses from remote control, home security, robotics, sensor networks, Drones and more, these little transceivers are limited only by your imagination and roughly 1.5km.

  • Dimensions: 16.5 × 17mm
  • Frequency range: 433.92M
  • Sensitivity: 121dBm
  • Maximum output power: 20dBm
  • Ddata transfer rate: 0.123 - 256kbps
  • FSK, GFSK and OOK modulation
  • power supply: 1.8-3.6 V
  • Ultra-low-consumption shutdown mode
  • Digital received signal strength indication (RSSI)
  • Wake time
  • Automatic matching and two-way antenna switch control
  • Configurable packet structure
  • Preamble detection
  • 64-byte send and receive data register (FIFO)
  • Low power detection
  • 8-bit ADC and temperature sensor
  • Operating temperature range: -20 ~ +60 ° C
  • Integrated voltage regulator
  • Frequency hopping
  • Power-on reset function
  • Built-in lens adjustment
  • 1 x SI4432 board
  • 1 x Coil Antenna
  • 1 x 12 pin Male Header
  • 1 x HEF4050 Logic Level Shifter

SI4432 Wireless Module and Logic Level Shifter

Fairly easy to set up using an Arduino , Logic level shifter and the SI4432 Module.

  • 1 x SI4432 Module
  • 1 x Logic Level Shifter
  • jumper Wire
  • Breadboard
  • Arduino
item

Client Demo Code



// rf22_client.pde
// -*- mode: C++ -*-
// Example sketch showing how to create a simple messageing client
// with the RF22 class. RF22 class does not provide for addressing or reliability.
// It is designed to work with the other example rf22_server
 
#include 
#include 
 
// Singleton instance of the radio
RF22 rf22;
 
void setup() 
{
  Serial.begin(9600);
  if (!rf22.init())
    Serial.println("RF22 init failed");
  // Defaults after init are 434.0MHz, 0.05MHz AFC pull-in, modulation FSK_Rb2_4Fd36
}
 
void loop()
{
  while (1)
  {
    Serial.println("Sending to rf22_server");
    // Send a message to rf22_server
    uint8_t data[] = "Hello World!";
    rf22.send(data, sizeof(data));
 
    rf22.waitPacketSent();
    // Now wait for a reply
    uint8_t buf[RF22_MAX_MESSAGE_LEN];
    uint8_t len = sizeof(buf);
 
    if (rf22.waitAvailableTimeout(500))
    { 
      // Should be a message for us now   
      if (rf22.recv(buf, &len))
      {
        Serial.print("got reply: ");
        Serial.println((char*)buf);
      }
      else
      {
        Serial.println("recv failed");
      }
    }
    else
    {
      Serial.println("No reply, is rf22_server running?");
    }
  }
}


Server Demo Code



// rf22_server.pde
// -*- mode: C++ -*-
// Example sketch showing how to create a simple messageing server
// with the RF22 class. RF22 class does not provide for addressing or reliability.
// It is designed to work with the other example rf22_client
 
#include 
#include 
 
// Singleton instance of the radio
RF22 rf22;
 
void setup() 
{
  Serial.begin(9600);
  if (!rf22.init())
    Serial.println("RF22 init failed");
  // Defaults after init are 434.0MHz, 0.05MHz AFC pull-in, modulation FSK_Rb2_4Fd36
}
 
void loop()
{
  while (1)
  {
    rf22.waitAvailable();
 
    // Should be a message for us now   
    uint8_t buf[RF22_MAX_MESSAGE_LEN];
    uint8_t len = sizeof(buf);
    if (rf22.recv(buf, &len))
    {
      Serial.print("got request: ");
      Serial.println((char*)buf);
 
      // Send a reply
      uint8_t data[] = "And hello back to you";
      rf22.send(data, sizeof(data));
      rf22.waitPacketSent();
      Serial.println("Sent a reply");
    }
    else
    {
      Serial.println("recv failed");
    }
  }
}