Releases: Ryan4n6/MASS-Trap
Releases · Ryan4n6/MASS-Trap
v2.6.0-beta: Forensic Lab Manager + Browser OTA
🔬 M.A.S.S. Trap v2.6.0-beta — Pre-Release
⚠️ Beta — The 6-phase forensic lab manager workflow has not been field-tested yet. Dashboard-only updates; firmware binary recompiled to activate OTA update endpoints.
What's New
🧪 6-Phase Forensic Lab Manager
Replaces the 3-phase playlist with a full science fair testing workflow:
- Experiment Setup — Template selection (Mass vs Speed, Car vs Car, Custom)
- Vehicle Intake — Car selection, weight entry, garage integration
- Evidence Prep — Case number assignment (MASS26-XXXX), test matrix generation
- Pre-Flight Check — Device connectivity verification, track ready confirmation
- Data Collection — Auto-advance through test matrix with sanity checks
- Results & Report — Summary statistics, CSV export, science fair report generation
📋 Science Fair Report Generator
- Standalone HTML page (
/science_fair_report.html) — 2,008 lines - Auto-populates from experiment data (localStorage + ESP32)
- Print-optimized layout matching science fair rubric requirements
- Sections: Title, Abstract, Hypothesis, Variables, Materials, Procedure, Data, Analysis, Conclusion
🔄 Browser Firmware Update
- GitHub-direct download with URL allowlist (github.com + objects.githubusercontent.com only)
- 3-layer security: URL allowlist → MD5 verification → dual OTA partition safety
- Embedded TLS root certificates (Sectigo/USERTrust)
- Version check badge with 24hr cache
- Manual upload fallback
🏷️ Evidence System + NFC Integration
- Sequential case numbers:
MASS26-XXXX - NFC NTAG213 sticker support (iPhone tap → auto-select car + arm track)
- Printable evidence tags with QR codes
- Evidence log viewer
🌐 GitHub Pages
- Project landing page: https://ryan4n6.github.io/MASS-Trap/
- Parts store with 3 budget tiers and real Amazon links
🎨 5 CSS Themes with 3D Depth
- Classic, Midnight, Neon, Forensic, Stealth — all with enhanced depth effects
Firmware Details
| Binary | MASS-Trap-v2.6.0-beta.bin |
| Size | 1,744,448 bytes (55.4% of 3MB partition) |
| MD5 | aa6c2837422c82c820474282f596170a |
| Board | ESP32-S3-WROOM-1 N16R8 (16MB Flash / 8MB PSRAM) |
| RAM Usage | 19.6% (64,136 / 327,680 bytes) |
Flash Instructions
USB:
pio run -t uploadOTA (if device already on network):
pio run -e ota -t uploadBrowser Update (from device dashboard):
Navigate to Settings → System → Firmware Update → Check for Updates
⚠️ Known Limitations
- 6-phase workflow is untested in the field — this is the first compile with these dashboard changes
GITHUB_API_LATESTendpoint returns the latest non-prerelease — devices on v2.5.0 won't see this update via auto-check until promoted to full release- Speed trap device (192.168.1.55) still on v2.4.0
Built with PlatformIO + Arduino ESP32 framework
Co-engineered by Ryan Massfeller & Claude
v2.5.0: Thread-safe timing, theme engine, modular web UI, kiosk mode
Highlights
- Thread-safe ISR timing —
portMUX_TYPEspinlocks on all 64-bit timing variables across dual-core ESP32-S3 - Theme engine — 5 selectable CSS themes (Interceptor, Classic, Daytona, Case File, Cyber)
- Modular web UI — LittleFS-first HTML/CSS/JS with PROGMEM fallback
- Kiosk mode —
?kioskURL parameter orCtrl+Kfor display-only presentation - Dual-layout navigation — Desktop sticky tabs + mobile bottom thumb bar
- NTP timestamps — Wall-clock time in serial log ring buffer with timezone support
- Regional settings — Imperial/metric units, configurable POSIX timezone
- WiFi diagnostics —
/api/wifi-statusendpoint with RSSI, failure reasons - Captive portal fix — OS-specific handlers for iOS, Android, and Windows CNA detection
- Peer hotlinks — Clickable
hostname.locallinks to paired devices - Named constants — 20+ magic numbers extracted to
#defineconstants - Dead code cleanup — Removed unused functions from lidar, WLED, and ESP-NOW modules
push_ui.sh— Remote LittleFS UI update script over HTTP
Upgrade Notes
- No breaking config changes — existing
config.jsonis compatible - New LittleFS UI files are optional — PROGMEM fallback serves pages without them
- To use the new modular UI, run
pio run -t uploadfsor usepush_ui.sh
See CHANGELOG.md for full details.
Firmware Binary
MD5: 6cf3af27f4d91519b2c5ed13521ce778
Size: 1,744,448 bytes (1.66 MB)
Board: ESP32-S3-WROOM-1 (N16R8)