Arduino library for SILICON LABS SI443x.
I made it with reference to this.
-
1.27mm pitch 433MHz
Pinout is here.
-
Changed legacy SPI communication to SPI communication with transactions.
Legacy SPI communication works fine on ATMega with fixed CPU frequency, but doesn't work on CPUs like STM32 due to overclocking. -
Added CS pin parameters to the constructor.
-
Removed receive processing from sendPacket function.
-
Removed waitForPacket function.
-
Added SyncWord validation.
Sync Word 3 reset value is 0x2D.
Sync Word 2 reset value is 0xD4. -
Added example code.
| SI4432 | UNO | MEGA | ESP8266 | |
|---|---|---|---|---|
| VCC | -- | 3.3V(*1) | 3.3V | 3.3V |
| GND | -- | GND | GND | GND |
| SCK | -- | D13(*2) | D52(*2) | IO14 |
| MISO | -- | D12 | D50 | IO12 |
| MOSI | -- | D11(*2) | D51(*2) | IO13 |
| SEL | -- | D10(*2) | D10(*2) | IO15 |
| SDN | -- | D7(*2) | D7(*2) | IO4 |
| IRQ | -- | D2 | D2 | IO5 |
(*1)
UNO's 3.3V output can only supply 50mA.
In addition, the output current capacity of UNO-compatible devices is smaller than that of official products.
So this module may not work normally when supplied from the on-board 3v3.
(*2)
SI4432 is not 5V tolerant.
You need level shift from 5V to 3.3V.
I used this for a level shift.