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 Build & Assembly Circuit Description

Circuit Description

Edit on GitHub

How every bus and rail is wired: SPI, UART, DAC audio, battery divider, LEDs and buttons

Circuit Description

Overview

The Aegis-Beacon circuit is designed for simplicity and reliability. All connections use standard 0.1” pitch headers for easy assembly and debugging.

SPI Bus Configuration

VSPI (Hardware SPI) — SX1262 Radio

SignalESP32 GPIOSX1262 PinNotes
SCKGPIO 18SCKSPI clock
MISOGPIO 19MISOData from radio
MOSIGPIO 23MOSIData to radio
CSGPIO 5NSSChip select (active LOW)
RESETGPIO 14RESETActive LOW reset
BUSYGPIO 21BUSYMANDATORY — RadioLib polls

Warning

The BUSY pin is not optional. If GPIO 21 is not wired to BUSY, the firmware will hang on the first radio call.

Software SPI — SSD1309 OLED

SignalESP32 GPIOOLED PinNotes
SCKGPIO 15D0SPI clock
SDAGPIO 13D1SPI data
RESETGPIO 4RESHardware reset
DCGPIO 16A0Data/Command select
CSGPIO 17CSChip select (active LOW)

Note

Software SPI is used to avoid bus conflicts with the radio. Both devices can operate simultaneously.

UART Configuration

UART2 — NEO-6M GPS

SignalESP32 GPIOGPS PinNotes
RXGPIO 22TXGPS TX to ESP32 RX (input-only)
TXN/CRXunconnected - firmware never sends to the GPS

Baud rate: 9600 (NEO-6M default)

Audio Output

DAC1 Path

CODE
GPIO 25 (DAC1) --> 100 Ohm --> 10uF cap --> 3.5mm jack TIP

Components:

  • R2: 100 Ohm series resistor (current limiting)
  • C3: 10uF electrolytic (AC coupling, blocks DC)
  • J1: 3.5mm TRRS jack (Tip=audio, Sleeve=GND)

Tip

The ESP32 DevKit V1 has a native 8-bit DAC on GPIO 25. Audio is generated via LEDC PWM for precise frequency control.

Battery Monitor

Voltage Divider

CODE
TP4056 BAT+ --> R3a (100k) --> GPIO 36 --> R3b (100k) --> GND
                                |
                            ADC reading
                           (VBAT / 2)

Calculation:

  • Full charge (4.2V): ADC sees 2.1V
  • Empty (3.0V): ADC sees 1.5V
  • Quiescent current: ~21uA (negligible)

Note

GPIO 36 is input-only (ADC1_CH0, SVP). No external pullup needed.

LED Indicators

Red LED (BEACON Mode)

CODE
GPIO 27 --> 330 Ohm --> Red LED anode --> LED cathode --> GND

Blue LED (SEARCH Mode)

CODE
GPIO 26 --> 330 Ohm --> Blue LED anode --> LED cathode --> GND

Button Connections

MODE Button (GPIO 33)

CODE
GPIO 33 <-- [SW_MODE] --> GND

Internal pullup enabled in firmware.

SEL Button (GPIO 32)

CODE
GPIO 32 <-- [SW_SEL] --> GND

Internal pullup enabled in firmware.

UP Button (GPIO 35)

CODE
GPIO 35 <-- [SW_UP] --> GND
         |
         +--> 10k --> 3.3V (external pullup required)

DN Button (GPIO 34)

CODE
GPIO 34 <-- [SW_DN] --> GND
         |
         +--> 10k --> 3.3V (external pullup required)

Warning

GPIO 34 and 35 are input-only pins with no internal pullup. External 10k pullup resistors are required.

Power Supply

Main Power Path

CODE
USB 5V --> AMS1117-3.3V --> 3.3V Rail
                             |
Battery 3.7V --> TP4056 --> BAT+ --> 3.3V Rail

Decoupling

  • C1: 100uF electrolytic on 3.3V rail (bulk storage)
  • C2: 100nF ceramic on 3.3V rail (high-frequency decoupling)

Tip

For cold weather operation (< -10C), replace C1 electrolytic with a 47uF X7R ceramic capacitor.