heltec_wifi_lora_32_V2 board has oled ( 2 - Sender & Receiver ) 37.52Euro
BN-220 GPS Module $11.11
SUNWALK 6V 4.2W Solar Panel Charger Monocrystalline Solar Cell Phone Charger for DIY Charger Power Bank with USB Output : -7.47Euro
ESP32 ESP32S For Wemos For Raspberry Pi 18650 Battery Charge Shield $1.46
Lora Module X2
Bettery Module
GPS Module
Solar Module
Lora Sender : Download Link
Lora Reciever : Download Link
This project uses two Heltec WiFi LoRa 32 V2 boards to transmit GPS coordinates over LoRa radio. A BN-220 GPS module is connected to the sender board, which reads coordinates and transmits them to a receiver board via LoRa at 868MHz.
ESP32 RECEIVES on GPIO 17 (U2_RXD) — this is the important data line
GPIO 2 is used as TX to GPS (not strictly needed, but keeps Serial2 happy)
Serial config: SERIAL_8N1 (8 data bits, No parity, 1 stop bit) — BN-220 default
DO NOT use GPIO 13 for GPS with LoRa active — SPI.begin() claims this pin internally
Lora ( by Sandeeo Mistry )
Purpose: Drives the SX1276 LoRa radio chip
Install: Arduino Library Manager → search "LoRa"
Why this library: Works without any license key (unlike the official Heltec LoRaWan_APP library which requires Mcu.begin() + license). Provides simple blocking API: LoRa.beginPacket(), LoRa.print(), LoRa.endPacket()
Purpose: Parses NMEA sentences from the GPS module into usable lat/lng/alt/speed/time values
Install: Arduino Library Manager → search "TinyGPSPlus"
How it works: You feed raw bytes from Serial2 into gps.encode(byte), and it parses the NMEA protocol automatically. Query gps.location.lat(), gps.satellites.value(), etc.
Purpose: Drives the on-board 0.96" OLED display
Install: Arduino Library Manager → search "SSD1306Wire" or "ESP8266 and ESP32 OLED"
Why this library: Works standalone without the Heltec library. Provides display.drawString(), display.clear(), display.display()
Purpose: SPI bus communication for the LoRa radio
Install: Included with ESP32 Arduino core — no separate install needed
Usage: SPI.begin(SCK, MISO, MOSI, CS) configures the bus for LoRa
Board Manager URL :
https://github.com/Heltec-Aaron-Lee/WiFi_Kit_series/releases/download/0.0.9/package_heltec_esp32_index.json
Tools → Board → Heltec ESP32 Arduino → WiFi LoRa 32(V2)
Or use ESP32 Dev Module (works fine with Sandeep Mistry library)
Upload Speed: 921600
Serial Monitor Baud: 115200
54.940362,-7.743982,45.0,12,#58
│ │ │ │ └── packet count
│ │ │ └────── satellites
│ │ └─────────── altitude (meters)
│ └───────────────────── longitude
└──────────────────────────────── latitude
NF,ST:0,CH:7182,#13
│ │ │ └── packet count
│ │ └────────── chars received from GPS
│ └─────────────── satellites visible
└─────────────────── No Fix