RFM95W LoRa breakout (SX1276, 868/915 MHz) with ESP32
Supply 3.3-5 V
Bus SPI
Pins and ESP32 wiring
| Pin | Role | ESP32 pin | Notes |
|---|---|---|---|
| VIN | Power | 3V3 | On-board regulator: 3.3 to 6 V |
| GND | Ground | GND | |
| EN | Not wired to the ESP32 | — | Regulator enable, pulled up. Leave unconnected |
| G0 | Interrupt | D35 | DIO0: TX done / RX done interrupt |
| SCK | SPI clock | D18 | |
| MISO | SPI MISO | D19 | |
| MOSI | SPI MOSI | D23 | |
| CS | SPI chip select | D5 | SPI chip select (NSS) |
| RST | Input (the ESP32 drives it) | D25 | Reset, active LOW |
| G1 | Interrupt | VP | DIO1, optional |
| G2 | Not wired to the ESP32 | — | DIO2, usually unused |
| G3 | Not wired to the ESP32 | — | |
| G4 | Not wired to the ESP32 | — | |
| G5 | Not wired to the ESP32 | — | |
| ANT | Not wired to the ESP32 | — | Antenna pad. Always connect an antenna before transmitting |
Suggested wiring for the 30-pin ESP32 DevKit, avoiding flash, input-only and strapping pins. BoardPilot checks it for you as you wire.
Starter code (Arduino)
void setup() { pinMode(25, OUTPUT); } // RST
void loop() {
digitalWrite(25, HIGH);
delay(500);
digitalWrite(25, LOW);
delay(500);
}
Sources
- Semtech SX1276/77/78/79 datasheet, SPI interface; DIO0 to DIO5 mapping; supply 1.8 to 3.7 V
- Adafruit RFM69HCW and RFM9X LoRa Packet Radio Breakouts guide, Pinouts (VIN, GND, EN, G0 to G5, SCK, MISO, MOSI, CS, RST)
Try it in 3D in BoardPilot
Related parts
CC1101 sub-GHz radio moduleENC28J60 Ethernet moduleLoRa SX1278 (Ai-Thinker Ra-02)Micro SD card module (SPI)nRF24L01 socket adapter (5 V to 3.3 V)nRF24L01+ 2.4 GHz radio
Part data: CC BY 4.0, free to reuse with credit to BoardPilot.