Documentation
Onboarding
Getting Started
Power & Battery
Hardware & Components
Build & Assembly
Radio & RF Design
Frequencies & Regulations
Firmware & Software
USB & Connectivity
GPS & Navigation
Morse & Communication
Modes & Operation
Field Operations & Rescue
Building Effectively
Build Variants
Project & Reference
Docs Getting Started System Architecture

System Architecture

Edit on GitHub

How firmware, hardware and the WiFi dashboard fit together into one rescue system

System Architecture

Overview

The Aegis-Beacon system consists of three main layers: Hardware, Firmware, and Software. Each layer is designed for reliability in emergency situations.

Hardware Architecture

CODE
+------------------+     +------------------+     +------------------+
|                  |     |                  |     |                  |
|   ESP32 DevKit   |<--->|  E22-400M30S     |<--->|  433 MHz Antenna |
|   (MCU)          | SPI |  (SX1262 Radio)  |     |                  |
|                  |     |                  |     +------------------+
+--------+---------+     +------------------+
         |
         | Software SPI
         v
+------------------+     +------------------+
|                  |     |                  |
|  SSD1309 OLED    |     |  NEO-6M GPS      |
|  (128x64)        |     |  (UART2)         |
|                  |     |                  |
+------------------+     +------------------+
         |
         | GPIO
         v
+------------------+     +------------------+
|                  |     |                  |
|  4-Button Panel  |     |  Audio Output    |
|  MODE/SEL/UP/DN  |     |  (GPIO 25 DAC1)  |
|                  |     |                  |
+------------------+     +------------------+

Data Flow

BEACON Mode

CODE
GPS Module --> NMEA Parser --> Payload Builder --> Morse Engine --> SX1262 TX
    |                                        |
    +--> RTC RAM Cache <-- Deep Sleep Cycle --+

SEARCH Mode

CODE
SX1262 RX --> RSSI Measurement --> Audio Generator --> DAC1 Output
    |                                |
    +--> OLED Display <-- OLED Driver --+

Power Distribution

ComponentSupplyCurrent
ESP32 MCU3.3V (AMS1117)10 uA - 240 mA
SX1262 Radio3.3V direct5 mA - 120 mA
SSD1309 OLED3.3V direct0.3 mA - 6 mA
NEO-6M GPS3.3V direct25 mA - 30 mA
Voltage DividerBAT+ direct0.021 mA
LEDs3.3V via 330R2 mA each
Audio OutputDAC10 mA - 5 mA

Communication Interfaces

InterfacePinsSpeedPurpose
VSPIGPIO 18/19/23/510 MHzSX1262 Radio
Software SPIGPIO 15/13/4/16/172 MHzSSD1309 OLED
UART2GPIO 22/129600 baudNEO-6M GPS
DAC1GPIO 2540 kHzAudio Output
ADC1GPIO 3612-bitBattery Monitor

Memory Map

RegionSizeUsage
RTC RAM8 KBMode state, cycle counter, GPS fix, scan hits
NVS64 KBConfiguration (frequencies, WPM, power, name)
Flash4 MBFirmware code, fonts, UI assets
SRAM520 KBRuntime data, OLED buffer, radio buffers

Boot Sequence

  1. Hardware Init — GPIO, SPI, UART, ADC
  2. NVS Load — Read configuration from flash
  3. OLED Init — Display boot screen
  4. Radio Init — SX1262 SPI configuration
  5. GPS Init (if enabled) — UART2 start, NMEA parser
  6. Mode Start — Enter BEACON/SEARCH/CONFIG/EMERGENCY
  7. Main Loop — Mode-specific task execution
  8. Deep Sleep (BEACON) — RTC wakeup, state preservation

Note

RTC RAM preserves mode, cycle counters, and GPS fix across deep sleep cycles. NVS stores persistent configuration that survives power cycles.