Core Implementation Checklist

1. Core Tracking & Hardware

[x] GPS NMEA parse (TinyGPS++ / UART D7-D6)

[x] Battery monitoring (SoC state machine + USB/wireless + learner + NVS/RTC)

[x] Wireless charging power path (hardware); software detect manual/auto

2. Connectivity & Onboarding

[x] BLE GATT onboarding / Wi-Fi credential pass (iCollar service)

[x] Secure HTTPS payloads to backend (configurable URL)

[x] HMAC-SHA256 request signing

[x] Local SoftAP web UI (+ /cloud)

3. Power Management & Anchoring

[x] GPS sleep ($PMTK161) via stealth + trusted Wi-Fi anchor

[x] Trusted home Wi-Fi STA auto-anchor (AP+STA)

4. Offline Redundancy (LittleFS)

[x] Dead-zone HTTPS fail → LittleFS CSV buffer

[x] CSV append + 1MB rotation

[x] is_cached_buffer backlog upload

5. Safety & Stability

[x] Hardware WDT 10s

[x] Thermal watchdog >45C → backend alert

6. OTA Updates

[x] SoftAP web OTA (.bin upload at /update)

[ ] BLE firmware streaming (~512B MTU)

[ ] Pre-flash battery >30% + checksum gate

[~] Dual-partition depends on board partition scheme (Arduino OTA uses OTA slots if configured)

Current SoftAP extras

[x] Geofence map + circle radius + drawable polygon fence

[x] Dog info page + permanent per-chip QR (/qr)

[x] Lost-pet HELP: BLE LOST + SoC-gated SoftAP bursts (/find)

[x] Battery learner + Mark Empty/Full

[x] Probe / CMD diagnostics

[x] Cloud / Wi-Fi / BLE provision page