Wireless Module - SI4432

£ 4.99

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.

If you are using an Arduino or any other 5V microcontroller, please be aware that you would need a logic lever shifter to safely operate this unit. Please see here for our SI4432 and Logic Level converter bundle with wiring instructions.

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

Wireless Module - SI4432

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");
    }
  }
}