THVisi0n

Embedded Thermal Intelligence — Anywhere, Anytime

Compact, reliable, and ready for your next project. Real‑time thermal imaging, adaptive processing, and seamless streaming — powered by ESP32‑S3 + MLX90640.

Flash directly from your browser with WebSerial (Chrome & Edge supported).

↓ Scroll down to WebUI Showcase

WebUI Showcase

Live config sync applies without reboot, and custom pipelines can be created directly from the WebUI and persisted. Profiles are stored in FFat and survive OTA updates.

Stay Connected

Configure Wi‑Fi, OTA updates, and stream live video feeds directly from the device.

Connection preview

Measure with Precision

Fine‑tune raw output, refresh rates, and advanced filters for accurate thermal data.

Measurement preview

Visualize in Style

Customize gradients, overlays, and GPU‑accelerated smoothing for stunning visuals.

Visualization preview

Smart Filters

Apply smoothing, denoising, and adaptive scaling directly in the WebUI for crystal‑clear thermal imaging.

Filters preview

Core Hardware

ESP32‑S3

  • Dual‑core LX7 @ 240 MHz: parallel FreeRTOS tasks pinned to cores for sensor acquisition, streaming, watchdog, OTA.
  • Memory: PSRAM (8 MB) + Flash (16 MB) for DRAM‑first allocation with PSRAM fallback on large buffers.
  • I/O: robust I²C handling with recovery watchdog for sensor comm resilience.
ESP32-S3 preview

Melexis MLX90640

  • 32 × 24 IR array (768 px): dependable thermal grid, ideal for embedded thermal mapping.
  • Frame rates: up to ~32 Hz with pipeline‑safe buffering and scaling.
  • Precision: supports emissivity tuning, adaptive scaling, and scene‑lock for stable color mapping.
MLX90640 preview

Raw vs Processed Visualization

View the sensor’s direct output or apply firmware/JS filters for enhanced visualization. Each layer is independent and can be toggled.

Raw feed

Direct sensor output with no processing. Best for baseline measurements and debugging.

Raw feed preview

Processed feed

Enhanced with firmware or JS filters. Supports LUTs for palette mapping and contrast control.

Processed feed preview

Streaming & Endpoints

Full Stream

Endpoint: /video1 — Full Upscaled Stream with Advanced Filters, Brightness, Contrast, LUTs ...

Full Stream preview

Lightweight Stream

Endpoint: /video2 — Optimized Stream with FPS, Hotspot toggle, LUTs ...

Lightweight Stream preview

Integration & Telemetry

Endpoints: /s.json, /perf, /config — JSON for Home Assistant integration, performance telemetry, and config snapshot.

Integration & Telemetry preview

Interactive Viewer

Endpoint: /viewer — Live thermal grid with overlays. Consumes WebSocket or /s.json.

Interactive Viewer preview

High‑Performance Pipeline

Smart Filters

Exponential smoothing, Median, Gaussian, and Bilateral (edge‑preserving denoise) applied selectively for clarity without distorting readings.

Adaptive Scaling

Percentile‑based histogram scaling with scene‑lock stabilizes color maps; supports U8/U16/F32 quantization for diverse outputs.

Reliability & Safety

Interleaved & Chess Acquisition

Supports both MLX90640 acquisition types: Interleaved for smoother temporal response, Chess for reduced fixed‑pattern noise. Switchable live via config.

I²C Auto‑Recovery

Detects repeated communication errors and resets the bus inline within the sensor loop; recovery is immediate and streaming resumes seamlessly.