Skip to content

Releases: Ryan4n6/MASS-Trap

v2.6.0-beta: Forensic Lab Manager + Browser OTA

16 Feb 09:10

Choose a tag to compare

🔬 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:

  1. Experiment Setup — Template selection (Mass vs Speed, Car vs Car, Custom)
  2. Vehicle Intake — Car selection, weight entry, garage integration
  3. Evidence Prep — Case number assignment (MASS26-XXXX), test matrix generation
  4. Pre-Flight Check — Device connectivity verification, track ready confirmation
  5. Data Collection — Auto-advance through test matrix with sanity checks
  6. 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

🎨 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 upload

OTA (if device already on network):

pio run -e ota -t upload

Browser 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_LATEST endpoint 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

13 Feb 20:14

Choose a tag to compare

Highlights

  • Thread-safe ISR timingportMUX_TYPE spinlocks 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?kiosk URL parameter or Ctrl+K for 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-status endpoint with RSSI, failure reasons
  • Captive portal fix — OS-specific handlers for iOS, Android, and Windows CNA detection
  • Peer hotlinks — Clickable hostname.local links to paired devices
  • Named constants — 20+ magic numbers extracted to #define constants
  • 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.json is compatible
  • New LittleFS UI files are optional — PROGMEM fallback serves pages without them
  • To use the new modular UI, run pio run -t uploadfs or use push_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)