Commit Graph

15 Commits

Author SHA1 Message Date
user
31724df63f docs: Add pentest results and update project docs
Executed non-invasive pentest against amber-maple (v1.12-dev):
- Phase 1: mDNS, port scan, binary analysis, eFuse readout
- Phase 2: HMAC timing, command injection (27 tests), replay (6 tests)
- Phase 3: NVS analysis, CVE check (12 CVEs), binary structure
All network-facing tests PASS. Physical security gaps documented.
2026-02-14 21:55:47 +01:00
user
8445fab1ce docs: Add serial console and provisioning to cheatsheet 2026-02-14 20:49:03 +01:00
user
8fcc90a6db docs: Update cheatsheet for security hardening changes
- HMAC protocol: 16 -> 32 hex chars, document replay window
- Remove AUTH OFF (disabled remotely, use FACTORY reset)
- Split STATUS fields into authed/unauthed columns
- Update LED states for quiet mode (now default)
- Update mDNS discovery note (service ad removed)
2026-02-14 20:15:55 +01:00
user
528e34cb25 feat: Add baseline calibration & presence detection (v1.7)
CALIBRATE command captures per-subcarrier CSI amplitudes over a timed
window and stores the averaged baseline in NVS. PRESENCE command enables
real-time scoring via normalized Euclidean distance against the baseline,
with rolling window averaging and 10s holdoff on state transitions.

New commands: CALIBRATE [3-60|STATUS|CLEAR], PRESENCE [ON|OFF|THRESHOLD]
New NVS keys: bl_amps (blob), bl_nsub, presence, pr_thresh
New STATUS fields: presence=, pr_score=
New events: calibrate=done, presence=0|1
2026-02-04 23:04:19 +01:00
user
2586234473 feat: Add HMAC command auth, deauth flood detection, sign all tools
Firmware:
- HMAC-SHA256 command authentication (AUTH command, NVS persisted)
- Deauth flood detection with ring buffer and aggregate ALERT_DATA
- FLOODTHRESH command (count + window, NVS persisted)
- New STATUS fields: auth=on/off, flood_thresh=5/10
- mbedtls dependency in CMakeLists.txt, rx_buf increased to 192

Tools:
- esp-cmd/esp-fleet/esp-ota import sign_command from esp_ctl.auth
- Commands auto-signed when ESP_CMD_SECRET env var is set

Docs:
- CHEATSHEET: AUTH, FLOODTHRESH, HMAC auth, OUI, watch, osint sections
- TASKS: v1.3 completed section with all new features
2026-02-04 21:07:00 +01:00
user
7ca58fee72 docs: Add STATUS field reference, PROFILE section, update completed items 2026-02-04 20:16:16 +01:00
user
70f37ad6dc docs: Update TASKS and CHEATSHEET for new STATUS fields, SCANRATE/PROBERATE
Add csi_count, uptime_s, WiFi reconnect, SCANRATE, PROBERATE to completed
items. Document ESP32 promiscuous mode limitation (breaks CSI).
2026-02-04 19:58:36 +01:00
user
a69fe8d696 docs: Update TASKS, TODO, CHEATSHEET for probe capture and mDNS discovery 2026-02-04 19:11:36 +01:00
user
73429d1986 docs: Update CHEATSHEET — lower baud rate, new packet formats
Use 460800 baud for USB flash (921600 fails on some boards). Document
new sensor hostname prefix in all data packet formats. Add USB flash
notes section.
2026-02-04 18:36:32 +01:00
user
c922e05266 feat: Add v0.4 adaptive sampling — wander detection, auto rate control
On-device CSI wander calculation (coefficient of variation over 50-packet
window). Rate drops to 10 Hz when idle, jumps to 100 Hz on motion with
3s holdoff. EVENT notifications sent to Pi on rate changes. New commands:
ADAPTIVE ON/OFF, THRESHOLD. RATE command disables adaptive mode.
All settings NVS-persisted.
2026-02-04 16:34:19 +01:00
user
d65ac208b9 feat: Add v0.3 OTA updates — dual partition, esp-ota tool, rollback
Dual OTA partition table (ota_0/ota_1, 1920 KB each) on 4MB flash.
Firmware gains OTA command, LED_OTA double-blink, version in STATUS,
and automatic rollback validation. Pi-side esp-ota tool serves firmware
via HTTP and orchestrates the update flow. esp-fleet gains ota subcommand.
2026-02-04 16:19:09 +01:00
user
44bd549761 feat: Add mDNS, watchdog, human-readable uptime, esp-fleet tool
Firmware:
- mDNS announcement as <hostname>.local (configurable via Kconfig)
- Task watchdog with 30s timeout and auto-reboot on hang
- STATUS now returns human-readable uptime (e.g., 3d2h15m) and hostname

Pi-side tools:
- esp-cmd: mDNS hostname resolution (esp-cmd amber-maple.local STATUS)
- esp-fleet: parallel command to all sensors (esp-fleet status)

Tested on amber-maple — mDNS resolves, watchdog active, fleet tool works.
2026-02-04 15:59:18 +01:00
user
6c4c17d740 docs: Add esp-cmd usage and LED states to cheatsheet 2026-02-04 15:37:44 +01:00
user
2d52ac6026 chore: Downgrade ESP-IDF from v6.1.0 to v5.5.2
Matches the version deployed on ESP32 sensors. Removes v6.1
workaround, updates all docs to reflect v5.5.2, regenerates
sdkconfig for the correct IDF version.
2026-02-04 15:02:54 +01:00
user
628b84f4f3 docs: Complete v0.1 documentation sprint
- Add build & flash workflow (docs/INSTALL.md)
- Add CSI config reference and firmware comparison (docs/USAGE.md)
- Add quick reference cheatsheet (docs/CHEATSHEET.md)
- Add dependencies.lock to .gitignore (env-specific)
- Update TASKS.md with completed items and build notes
- Verified firmware builds on ESP-IDF v6.1.0 / aarch64
2026-02-04 13:25:26 +01:00