🔱
[LOAD] hardware.html OK
HARDWARE · base + 4 hats
02 // HARDWARE

Four Hats. Every Frequency. Now with Wired.

POSEIDON runs on the M5Stack Cardputer-Adv and supports swappable hats — one at a time. Pick the mission's tool. v0.4 adds a W5500 SPI-to-Ethernet hat that unlocks full RaspyJack parity over a wired cable.

[HW] mcu=esp32-s3 hats=4 radios=wifi+ble+lora+cc1101+nrf24+c5 wired=w5500

Cardputer-Adv BASE

MCUESP32-S3 @ 240 MHz
Display1.14" ST7789 240×135
KeyboardTCA8418 I²C QWERTY
RadioWiFi 4 + BLE 5.0
USBNative USB-C (HID + CDC)
StoragemicroSD + 8MB flash
AudioI²S speaker + PDM mic

CAP-LoRa1262 HAT

LoRaSX1262 (433/868/915 MHz)
GNSSATGM336H GPS (NMEA auto-baud)
AntennaRP-SMA external
BusSPI (shared with SD)
UseWardrive, LoRa scan, Meshtastic leaf-node

Hydra RF Cap 424 HAT

Sub-GHzCC1101 (300–928 MHz)
2.4 GHznRF24L01+ (promisc ESB + HID)
VendorPINGEQUA
BusSPI (shared with SD)
UseSignal capture/replay, MouseJack, BLE spam via nRF24

ESP32-C5 Node SATELLITE

WiFi5 GHz + 2.4 GHz dual-band
802.15.4Zigbee / Thread
LinkESP-NOW mesh to Cardputer
Form factorRemote satellite (USB-powered)
Use5G scan/deauth, Zigbee sniff, Thread enum

W5500 SPI ⇄ Ethernet NEW · RJ45

PHYWIZnet W5500 10/100 full-duplex
BusSPI (shared FSPI w/ SD)
StacklwIP via Arduino Ethernet — transport-agnostic netif
UnlocksFull RaspyJack parity on Cardputer — the SaltyJack suite (DHCP starve, rogue DHCP, Responder, WPAD, NTLM harvest) runs over wired lwIP instead of WiFi STA.
Why wiredWired gets you past every PMF / WPA3 / corporate 802.1X defense that kills the wireless path. Plug in, own the broadcast domain.
HAT PIN SHARING

How the hats share GPIO

Only one hat at a time. The keyboard on I²C (TCA8418) frees GPIO 3–7 and 13/15 so hats can claim them without fighting the keyboard scan matrix.

GPIO map

G3LoRa RST · held LOW at boot to keep SX1262 BUSY high-Z during M5GFX hat autodetect
G4LoRa DIO1 · shared with nRF24 CE on Hydra hat
G5LoRa NSS (SPI) · shared with CC1101 GDO0 on Hydra hat
G6LoRa BUSY · shared with nRF24 CS on Hydra hat
G7GPS RX (NMEA input) on LoRa hat
G13GPS TX (LoRa hat) · shared with CC1101 CS on Hydra hat (gps_end() releases before CC1101 begin)
G14SPI MOSI (shared across SD + every hat)
G39/G40SPI MISO / SCK