Skip to content

Adarsh-Pandey28/AirBytes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

4 Commits
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ“‘ Air Bytes

Offline, encrypted, GPS-tagged peer-to-peer messaging over LoRa β€” no internet required.

Built for the Heltec WiFi LoRa 32 V3 (ESP32-S3) using RadioLib and the onboard SSD1306 OLED.


Features

  • πŸ”’ XOR-encrypted text messages
  • πŸ“ GPS coordinates attached to every message
  • πŸ“Ÿ Live OLED display with inbox + compose UI
  • πŸ“Ά LoRa @ 865 MHz, SF9 (India ISM band)
  • πŸ”‹ Two-button operation β€” no touchscreen needed

Hardware Required

Component Details
Heltec WiFi LoRa 32 V3 Γ— 2 (one per node)
GPS Module NEO-6M or NEO-8M
Tactile Button External SPACE button

Wiring

GPS Module Heltec V3 Pin
TX GPIO 4
VCC 3.3V
GND GND
SPACE Button Heltec V3 Pin
Leg 1 GPIO 45
Leg 2 GND

Everything else (OLED, LoRa, PRG button) is already onboard.


Button Controls

Button Action
PRG short press Backspace
PRG long press Send message
SPACE press Add a space

Setup (Arduino IDE)

1. Add ESP32 board support

File β†’ Preferences β†’ paste this URL: https://raw.githubusercontent.com/espressif/arduino-esp32/gh-pages/package_esp32_index.json Then: Tools β†’ Boards Manager β†’ install esp32 by Espressif Systems

2. Install libraries via Tools β†’ Manage Libraries:

  • RadioLib β€” Jan GromeΕ‘
  • Adafruit SSD1306 β€” Adafruit
  • Adafruit GFX Library β€” Adafruit
  • TinyGPS++ β€” Mikal Hart

3. Select board

Tools β†’ Board β†’ Heltec WiFi LoRa 32(V3)

4. Set Node ID in the sketch before uploading:

#define NODE_ID  0x01   // Node A
#define NODE_ID  0x02   // Node B

5. Upload β€” hold BOOT button if it fails to connect.


How It Works

[Node A] β†’ type message β†’ PRG long press
        β†’ XOR encrypt β†’ pack with GPS coords
        β†’ transmit over LoRa @ 865 MHz

[Node B] β†’ receives packet β†’ decrypt β†’ show on OLED
        β†’ displays sender, RSSI, GPS, message text

Inbox holds the last 3 messages. Older messages are overwritten in a circular buffer.


Configuration

Setting Location Default
Node ID #define NODE_ID 0x01
Encryption key #define XOR_KEY "SECRETKEY123"
LoRa frequency radio.begin(...) 865.0 MHz
Spreading factor radio.begin(...) SF9

Both nodes must use the same XOR_KEY to communicate.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages