- All products
- Communication & IoT
- Wireless SI4432 Up to 1000m Module
- Communication & IoT
Features
- Uses Silicon Labs Si4432 transceiver for stable and reliable performance.
- Frequency: 433.92 MHz.
- Maximum output power: +20 dBm for long-range RF communication.
- Data rates: 0.123–256 kbps.
- Supports FSK, GFSK, and OOK modulation.
- Operating voltage: 1.8–3.6V.
- Low-power shutdown mode.
- Digital RSSI for signal strength monitoring.
- Timing wake-up function for energy saving.
- Automatic antenna matching and two-way switch control.
Pinout


| Number | Pin | Description |
|---|---|---|
| 1 | GND | Ground |
| 2 | GPIO0 | Internal connected to receiver control module |
| 3 | GPIO1 | Internal connected to receiver control module |
| 4 | GPIO2 | Direct GPIO2 pin connection |
| 5 | VCC | Power supply, 3.3V |
| 6 | SDO | Serial data output (0–VDD) |
| 7 | SDI | Serial data input (0–VDD) |
| 8 | SCLK | Serial clock input |
| 9 | nSEL | Chip select for serial interface |
| 10 | nIRQ | Interrupt output |
| 11 | SDN | Shutdown control (high = off, low = active) |
| 12 | GND | Ground |
| 13 | ANT | Connect to 50Ω coaxial antenna |
| 14 | GND | Ground |
Applications
- Remote control systems (garage doors, keyless entry)
- Remote meter reading (electricity, water, gas)
- Home security and automation
- Industrial control and monitoring systems
- Telemetry and sensor networks
- Health monitoring and personal data recording
- Wireless PC peripherals (keyboard, mouse)
- Tire pressure monitoring
- RFID tag readers and asset tracking
Circuit Connection
Let's create a project for sending humidity and temperature sensor data from an Arduino board on request to another Arduino board via a radio channel.
We will need the following components:
- Arduino Uno board – 2;
- Prototyping board – 2;
- Transceiver module SI4432 – 2;
- Level converter – 2;
- Module GY21 (sensor SHT21) – 1;
- Wires.

| SI4432 | Arduino |
|---|---|
| GND | GND |
| VCC | 3.3V |
| SDN | 3.3V / Digital pin (optional on/off) |
| nIRQ | Digital pin (interrupt) |
| SCLK | D13 |
| MISO | D12 |
| MOSI | D11 |
| NSS | D10 |
Note: Operates at 3.3V; use a level shifter or voltage divider if connecting to 5V logic.
Library
- To program the module, we use the RF22 library. We load the rf22_client library example onto one board, and the rf22_server library example onto the other.
- Open Arduino IDE → Sketch → Include Library → Manage Libraries
- Search for "RF22 " and install it
Code:
The client sends a tempSH21 (or humiditySH21) message over the radio every 3 seconds and waits for a response. Upon receiving a response, it displays the data on the serial monitor. The sketch contents are shown in Listing 1.
Listing 1
#include "SPI.h"
#include "RF22.h"
// create RF object
RF22 si4432client;
// to select humidity/temperature
int choice=0;
void setup()
{
Serial.begin(9600);
if (!si4432client.init())
Serial.println("si4432 no init");
}
void loop()
{
Serial.println("Send request");
// send a request to the server
if(choice==0) {
uint8_t senddata[] = "tempSH21";
si4432client.send(senddata, sizeof(senddata));
}
else {
uint8_t senddata[] = "humiditySH21";
si4432client.send(senddata, sizeof(senddata));
}
si4432client.waitPacketSent();
// waiting for response
uint8_t getdata [RF22_MAX_MESSAGE_LEN];
uint8_t length1 = sizeof(getdata);
if (si4432client.waitAvailableTimeout(1000))
{
// received message
if (si4432client.recv(getdata, &length1))
{
Serial.print("got reply: ");
if(choice==0)
Serial.print(" tempSH21=");
else
Serial.print("humiditySH21=");
Serial.println((char*) getdata);
}
}
choice=1-choice;
delay(3000);
}
The server, upon receiving a tempSH21 (or humiditySH21) request, retrieves the required data from the SHT21 sensor and responds with the value of the requested parameter. The sketch contents are shown in Listing 2.
Listing 2
#include "SPI.h"
#include "RF22.h"
#include "Wire.h"
#include "SHT2x.h"
// create RF object
RF22 si4432server;
void setup()
{
Wire.begin();
Serial.begin(9600);
if (!si4432server.init())
Serial.println("si4432 init no");
}
void loop()
{
si4432server.waitAvailable();
// received message
uint8_t getdata [RF22_MAX_MESSAGE_LEN];
uint8_t length1 = sizeof(getdata);
if (si4432server.recv(getdata, &length1))
{
Serial.print("get request: ");
Serial.println((char*) getdata);
char senddata[] = " ";
if(StrContains((char*) getdata,"tempSH21")!=0)
{
dtostrf(SHT2x.GetTemperature(),10,2,senddata);
}
else if(StrContains((char*)buf,"humiditySH21")!=0)
{
dtostrf(SHT2x.GetHumidity(),10,2,sendata);
}
else
{
Serial.println("error");
dtostrf(999,10,0,data);
}
si4432server.send((uint8_t*)datasend, sizeof(datasend));
si4432server.waitPacketSent();
Serial.println("Sent a reply");
}
}
Technical Details
- Frequency Range: 433.92 MHz
- Maximum Output Power: +20 dBm
- Data Transfer Rate: 0.123–256 kbps
- Modulation: FSK, GFSK, OOK
- Power Supply: 1.8–3.6V
- Sensitivity: up to -121 dBm
- Low-power shutdown mode
- Digital RSSI and timing wake-up
- Automatic antenna matching, two-way switch control
Resources:
Comparison
Compared to nRF24 modules, the SI4432 supports lower data rates but longer range, wider frequency coverage (240–960 MHz), and higher output power. It is ideal for applications needing long-range communication, configurable settings, and stable RF performance.
Features
- Uses Silicon Labs Si4432 transceiver for stable and reliable performance.
- Frequency: 433.92 MHz.
- Maximum output power: +20 dBm for long-range RF communication.
- Data rates: 0.123–256 kbps.
- Supports FSK, GFSK, and OOK modulation.
- Operating voltage: 1.8–3.6V.
- Low-power shutdown mode.
- Digital RSSI for signal strength monitoring.
- Timing wake-up function for energy saving.
- Automatic antenna matching and two-way switch control.
Pinout


| Number | Pin | Description |
|---|---|---|
| 1 | GND | Ground |
| 2 | GPIO0 | Internal connected to receiver control module |
| 3 | GPIO1 | Internal connected to receiver control module |
| 4 | GPIO2 | Direct GPIO2 pin connection |
| 5 | VCC | Power supply, 3.3V |
| 6 | SDO | Serial data output (0–VDD) |
| 7 | SDI | Serial data input (0–VDD) |
| 8 | SCLK | Serial clock input |
| 9 | nSEL | Chip select for serial interface |
| 10 | nIRQ | Interrupt output |
| 11 | SDN | Shutdown control (high = off, low = active) |
| 12 | GND | Ground |
| 13 | ANT | Connect to 50Ω coaxial antenna |
| 14 | GND | Ground |
Applications
- Remote control systems (garage doors, keyless entry)
- Remote meter reading (electricity, water, gas)
- Home security and automation
- Industrial control and monitoring systems
- Telemetry and sensor networks
- Health monitoring and personal data recording
- Wireless PC peripherals (keyboard, mouse)
- Tire pressure monitoring
- RFID tag readers and asset tracking
Circuit Connection
Let's create a project for sending humidity and temperature sensor data from an Arduino board on request to another Arduino board via a radio channel.
We will need the following components:
- Arduino Uno board – 2;
- Prototyping board – 2;
- Transceiver module SI4432 – 2;
- Level converter – 2;
- Module GY21 (sensor SHT21) – 1;
- Wires.

| SI4432 | Arduino |
|---|---|
| GND | GND |
| VCC | 3.3V |
| SDN | 3.3V / Digital pin (optional on/off) |
| nIRQ | Digital pin (interrupt) |
| SCLK | D13 |
| MISO | D12 |
| MOSI | D11 |
| NSS | D10 |
Note: Operates at 3.3V; use a level shifter or voltage divider if connecting to 5V logic.
Library
- To program the module, we use the RF22 library. We load the rf22_client library example onto one board, and the rf22_server library example onto the other.
- Open Arduino IDE → Sketch → Include Library → Manage Libraries
- Search for "RF22 " and install it
Code:
The client sends a tempSH21 (or humiditySH21) message over the radio every 3 seconds and waits for a response. Upon receiving a response, it displays the data on the serial monitor. The sketch contents are shown in Listing 1.
Listing 1
#include "SPI.h"
#include "RF22.h"
// create RF object
RF22 si4432client;
// to select humidity/temperature
int choice=0;
void setup()
{
Serial.begin(9600);
if (!si4432client.init())
Serial.println("si4432 no init");
}
void loop()
{
Serial.println("Send request");
// send a request to the server
if(choice==0) {
uint8_t senddata[] = "tempSH21";
si4432client.send(senddata, sizeof(senddata));
}
else {
uint8_t senddata[] = "humiditySH21";
si4432client.send(senddata, sizeof(senddata));
}
si4432client.waitPacketSent();
// waiting for response
uint8_t getdata [RF22_MAX_MESSAGE_LEN];
uint8_t length1 = sizeof(getdata);
if (si4432client.waitAvailableTimeout(1000))
{
// received message
if (si4432client.recv(getdata, &length1))
{
Serial.print("got reply: ");
if(choice==0)
Serial.print(" tempSH21=");
else
Serial.print("humiditySH21=");
Serial.println((char*) getdata);
}
}
choice=1-choice;
delay(3000);
}
The server, upon receiving a tempSH21 (or humiditySH21) request, retrieves the required data from the SHT21 sensor and responds with the value of the requested parameter. The sketch contents are shown in Listing 2.
Listing 2
#include "SPI.h"
#include "RF22.h"
#include "Wire.h"
#include "SHT2x.h"
// create RF object
RF22 si4432server;
void setup()
{
Wire.begin();
Serial.begin(9600);
if (!si4432server.init())
Serial.println("si4432 init no");
}
void loop()
{
si4432server.waitAvailable();
// received message
uint8_t getdata [RF22_MAX_MESSAGE_LEN];
uint8_t length1 = sizeof(getdata);
if (si4432server.recv(getdata, &length1))
{
Serial.print("get request: ");
Serial.println((char*) getdata);
char senddata[] = " ";
if(StrContains((char*) getdata,"tempSH21")!=0)
{
dtostrf(SHT2x.GetTemperature(),10,2,senddata);
}
else if(StrContains((char*)buf,"humiditySH21")!=0)
{
dtostrf(SHT2x.GetHumidity(),10,2,sendata);
}
else
{
Serial.println("error");
dtostrf(999,10,0,data);
}
si4432server.send((uint8_t*)datasend, sizeof(datasend));
si4432server.waitPacketSent();
Serial.println("Sent a reply");
}
}Technical Details
- Frequency Range: 433.92 MHz
- Maximum Output Power: +20 dBm
- Data Transfer Rate: 0.123–256 kbps
- Modulation: FSK, GFSK, OOK
- Power Supply: 1.8–3.6V
- Sensitivity: up to -121 dBm
- Low-power shutdown mode
- Digital RSSI and timing wake-up
- Automatic antenna matching, two-way switch control
Resources:
Comparison
Compared to nRF24 modules, the SI4432 supports lower data rates but longer range, wider frequency coverage (240–960 MHz), and higher output power. It is ideal for applications needing long-range communication, configurable settings, and stable RF performance.

