LoRa
Interfacing RA 02 LoRa with ESP32
What is the RA 02?
The RA-02 is a budget LoRa transceiver module built around Semtech's SX1278 chip, offering long-range, low-power wireless communication on the 433MHz band. LoRa's chirp spread-spectrum modulation trades data rate for range and noise immunity, letting the RA-02 reach several kilometers line-of-sight at very low transmit power — making it a favorite for remote telemetry, weather stations, and long-range sensor links where Wi-Fi and Bluetooth simply can't reach.
Specifications
| Chipset | Semtech SX1278 LoRa transceiver |
| Frequency band | 433MHz (other SX127x-based modules cover 868MHz/915MHz) |
| Operating voltage | 1.8V–3.7V DC (3.3V typical — NOT 5V tolerant) |
| Operating current | ~10.8 mA RX, up to ~120 mA TX at max power |
| Transmit power | Up to +20 dBm (100mW), configurable in software |
| Range | Several kilometers line-of-sight typical, dependent on antenna, terrain, and spreading factor settings |
| Modulation | LoRa chirp spread spectrum, also supports legacy FSK/OOK modes |
| Interface | SPI, plus DIO interrupt pins for packet-ready/done signaling |
RA 02 Pinout
| Pin | Name | Description |
|---|---|---|
| 1 | 3.3V | Power, 3.3V DC only |
| 2 | GND | Ground |
| 3 | MOSI | SPI data in |
| 4 | MISO | SPI data out |
| 5 | SCK | SPI clock |
| 6 | NSS (CS) | SPI chip select, active LOW |
| 7 | RESET | Active-LOW module reset |
| 8 | DIO0 | Interrupt pin signaling packet transmit-done or receive-ready, used by most LoRa libraries |
| 9 | ANT | Antenna connection — a matching 433MHz wire or spring antenna is required for usable range |
The RA-02 communicates over SPI, not UART, so it needs 4 SPI lines plus RESET and DIO0 wired to the host microcontroller (libraries like Sandeep Mistry's LoRa library or RadioHead expect this exact pin set). Like most bare radio modules, all logic is 3.3V only — use a level shifter when wiring to 5V boards like the Arduino Uno, and always attach an antenna before powering on transmit to avoid damaging the power amplifier.
Setting Up RA 02 with ESP32
Library
RadioHead by Mike McCauley
Arduino IDE → Tools → Manage Libraries → search "RadioHead"
Wiring
| Component pin | ESP32 pin | Note |
|---|---|---|
| 3.3V | 3.3V | 3.3V only -- this module is not 5V tolerant |
| GND | GND | — |
| MOSI | GPIO23 (VSPI MOSI) | — |
| MISO | GPIO19 (VSPI MISO) | — |
| SCK | GPIO18 (VSPI SCK) | — |
| NSS (CS) | GPIO5 | — |
| RESET | GPIO14 | — |
| DIO0 | GPIO26 | Required by RadioHead for TX/RX interrupt signaling |
| ANT | 433MHz-tuned antenna (most RA-02 modules are 433MHz) | Check your specific module's silkscreen/datasheet -- RA-02 ships in multiple frequency variants |
Example code
RA-02 is most commonly the 433MHz SX1278 variant -- confirm yours before setting the frequency, and never key the transmitter without an antenna attached.
Related Guides & Projects

ESP32-CAM Web Server: Stream Live Video in 5 Minutes
A complete, no-guesswork walkthrough for flashing an AI-Thinker ESP32-CAM as a live MJPEG video stream -- wiring, Arduino IDE setup, the CameraWebServer sketch, and every failure mode that actually causes problems.

ESP32 MQTT Tutorial: Publish and Subscribe with Arduino IDE
A complete, broker-agnostic ESP32 MQTT tutorial -- topics, QoS, retained messages, Last Will and Testament, TLS security for production, and a working publish/subscribe example with PubSubClient.

Installing ESP8266 in Arduino IDE: NodeMCU (ESP-12E) Complete Setup Guide for Windows
From driver headaches to a blinking LED — the full Windows walkthrough for getting NodeMCU ESP8266 boards running in Arduino IDE, plus notes for Mac and the bare ESP-01 module.

ESP32 Pinout Guide: Every GPIO, ADC, PWM, and Restricted Pin Explained
Complete ESP32 pinout guide covering all GPIOs, input-only pins, strapping pins, flash-reserved pins, dual ADC channels, PWM via LEDC, I2C, SPI, UART, and deep sleep wake pins.