Skip to content

Releases: hackra76/ESP-MeteoPlaneRadar

v2.0.1: Web Remote Control for DigiCat Companion

Choose a tag to compare

@hackra76 hackra76 released this 18 Sep 19:14

Release v2.0.1: Web Remote Control for DigiCat Companion

This update adds remote control support for DigiCat directly from your browser's Web Dashboard.


What's New in v2.0.1

  • Web Remote Toggle Button: Added a dedicated show/hide button in the Remote Control (Diaľkový ovládač) card on the web dashboard to open or close the DigiCat pet drawer without touching the screen.
  • Realtime Status Sync: The dashboard dynamically indicates whether DigiCat is open (+ 🐾 DigiCat) and updates the button style and label in real time.
  • Full Localization: Complete translations across English, Slovak, and Czech for button actions, tooltips, and status notifications.
  • REST Endpoint: Added /api/pet/toggle for clean, frame-synchronized pet drawer toggling.

📦 Firmware Binaries Included

File Type Description
MeteoPlaneRadar-v2.0.1-factory.bin Full Flash Complete firmware image for clean flashing via esptool / ESP Web Flasher (0x00000)
MeteoPlaneRadar-v2.0.1-ota.bin OTA Update Direct firmware update via Web UI at http://<device-ip>/update or GitHub OTA

How to Update

  1. GitHub OTA (One-Click): Open your device dashboard (http://meteoplaneradar.local/), navigate to Shared Settings (Spoločné nastavenia) -> Firmware Update, click Check for updates, and then Update from GitHub.
  2. Manual Web OTA: Navigate to http://<device-ip>/update and upload MeteoPlaneRadar-v2.0.1-ota.bin.

v2.0.0: Animated Pixel Art DigiCat & Autonomous AI Companion

Choose a tag to compare

@hackra76 hackra76 released this 18 Sep 12:44

Welcome to v2.0.0 of ESP-MeteoPlaneRadar! This major milestone introduces a complete visual and behavioral overhaul of your radar flight companion: DigiCat. Procedural geometry has been replaced with 32 handcrafted pixel art frames, high-speed span blitting, full multi-directional walking and jumping physics, an autonomous feline AI brain with free will, and full trilingual localization (EN / SK / CZ).


What's New in v2.0.0

🐱 Handcrafted 32-Frame Pixel Art Companion

  • High-Performance 16-Color Retro Palette: 32 bespoke 64×64 pixel art frames scaled 2× to 128×128 px on display, rendered via run-length span blitter (<0.5 ms per frame).
  • Rich Animation Cycles:
    • Walk Cycle (4 frames): Dual-direction walking (flipX) with paw movement, ear sway, and tail motion.
    • Sitting Idle (4 frames): Natural breathing, ear twitches, and blinking.
    • Happy Purring (4 frames): Blissful closed eyes, blushing cheeks, floating hearts, and acoustic purr.
    • Sky Watching (2 frames): Real-time aircraft tracking overhead.
    • Eating Treats (4 frames): Fish crackers, crumbs, and satisfied licking.
    • Sleeping Loaf (4 frames): Curled warm loaf with rhythmic breathing and floating Zzz.
    • Jumping & Pouncing (4 frames): Pre-jump crouch, parabolic flight arc (-32 px), and springy landing.
    • Grooming Routine (4 frames): Paw lifting, pad licking, cheek wash, and ear grooming.
    • Yoga Stretch (2 frames): Downward cat stretch and high rainbow arched back.

🧠 Autonomous AI Brain with Free Will

  • Multi-Directional Entrance: DigiCat randomly trots in from the left or right when opening the Pet Drawer.
  • Dynamic Deck Exploration: Wanders autonomously across the flight radar deck, leaps after invisible moths, stretches, and grooms itself.
  • Airfield Excursions: DigiCat can choose to step out off-screen to inspect the airfield or chase butterflies.
  • Instant Return on Call: Tapping the screen or pet action buttons summons DigiCat back immediately at a sprint with a cheerful meow.
  • Non-blocking Flight Tracking: Watching nearby flights (within 45 km) is now a dynamic 3.5s action rather than a freeze, allowing DigiCat to stay lively and animated at all times.

🌐 Dedicated Pet Web Configuration & Trilingual Support

  • Dedicated Web UI Tab: Clean, separate configuration tab for DigiCat with API key setup guide and touch gesture reference.
  • Full Trilingual Localization: English, Slovak, and Czech thought bubbles, rank titles, and interface text.

📦 Firmware Binaries Included

File Type Description
MeteoPlaneRadar-v2.0.0-factory.bin Full Flash Complete firmware image for clean flashing via esptool / ESP Web Flasher (0x00000)
MeteoPlaneRadar-v2.0.0-ota.bin OTA Update Direct firmware update via Web UI at http://<device-ip>/update

Flash Commands:

  • Web UI: Upload MeteoPlaneRadar-v2.0.0-ota.bin directly on the firmware update page.
  • esptool (Full Factory Flash):
    esptool.py --chip esp32s3 --baud 921600 write_flash 0x00000 MeteoPlaneRadar-v2.0.0-factory.bin

v1.9.9 - Interactive Pet Drawer with DigiCat, Virtual Pet Mechanics & Gemini AI

Choose a tag to compare

@hackra76 hackra76 released this 17 Sep 13:45

MeteoPlaneRadar v1.9.9

🐾 Interactive Pet Companion Drawer & DigiCat

  • Full-Screen Interactive Drawer: Pull up from any screen via Swipe Up from the bottom edge or the Quick Control Center paw button.
  • Authentic DigiCat Integration: Authentic replica of the beloved open-source virtual cat from aquascape123/digicat (under the MIT License):
    • Vibrant orange tabby coat (�xFD20) with warm dark stripes (�x9260).
    • Forehead "M" marking, cheek stripes, white bib, and soft pink nose (�xFBEF).
    • Expressive emerald green eyes (�x07E0) with vertical pupils tracking aircraft azimuth bearing in real-time.
    • Front paws with pink paw pads and animated swaying tail.
    • Cozy sleeping ball pose with floating animated "Z z z" letters in Night Mode.
  • 4 Selectable Characters:
    • �: 🤖 Cyber Eyes (Sci-fi AI scanner with glowing heart pupils and telemetry).
    • 1: 🐱 Aero Cat (Aviator tabby cat with leather pilot goggles and animated tail).
    • 2: 🐶 Radar Shiba (Loyal radar dog with rotating radar antenna cap).
    • 3: 🐱 DigiCat (Open-source virtual cat).
  • Virtual Pet Mechanics:
    • Live HUD tracking of Happiness (0–100%), Hunger (0–100%), and Aviation XP.
    • Affection & Petting: Tap the pet for zero-latency affectionate dialogues, happy bounce animation, blushing cheeks, and audio chirps.
    • Treat Feeding: Double-tap or feed treats to toss golden fish cracker snacks, restoring hunger and boosting happiness.
    • Aviation Rank Progression: Tracking aircraft grants XP (Kitten Cadet / Flight CadetRadar NavigatorAirspace Ace).
  • Dynamic Gemini Live AI: Auto-model discovery and fallback for Google Gemini Flash API (gemini-2.5-flash, gemini-3-flash-preview) for humorous context-aware thoughts reacting to overhead flights and weather.
  • Full Legal Attribution: Credited �quascape123/digicat under the MIT License across README files and source code headers.

📦 Binaries & Flashing:

  • MeteoPlaneRadar-v1.9.9-factory.bin: Complete single-binary flashable directly at address �x00000000 via ESP Web Flasher or �sptool.py.
  • MeteoPlaneRadar-v1.9.9-ota.bin: OTA binary for wireless web updates (http://meteoplaneradar.local/).

Release v1.9.8: ST7701 Display Drift Fix, YouTube Analytics & SSL Stability

Choose a tag to compare

@hackra76 hackra76 released this 16 Sep 10:56

What's Changed in v1.9.8

Fixes & Improvements

  • ST7701 RGB Hardware Display Drift Fix:
    • Permanently eliminated SPI Flash writes during carousel auto-screen rotation which previously caused PSRAM cache stalls (15–30 ms) and GDMA FIFO underruns resulting in display vertical shifting.
    • Restored factory ST7701 timing porches (VBP 8, HBP 10, HFP 50, VPW 8) and register 0xC1 (PORCTRL 0x0B, 0x02), completely centering the 480x480 screen with zero edge clipping.
    • Implemented safe hardware resynchronization in LCD_Restart using display off (0x28), VSYNC boundary synchronization, and display on (0x29).
    • Added a new REST endpoint /api/display/resync for instant manual display alignment without restarting.
  • Web UI YouTube Screen Toggle Serialization:
    • Fixed missing serialization of the youtube field in the screens object in WebPage.h, ensuring enable/disable states are reliably stored in NVS (ytScrInit).
    • Navigation core and web server now correctly reject jumps to disabled screens with HTTP 409 Conflict.
  • SSL / HTTPS Handshake Stability (mbedTLS):
    • Optimized DMA bounce buffer size to 30 lines (30 x 480 px), freeing 97+ KB continuous internal SRAM heap required for mbedTLS SSL handshake buffers during encrypted calls (ADSB, Weather forecasts, NTP).

Slovensky / Slovak

  • Oprava hardvérového posunu a plávania obrazu ST7701:
    • Trvalo odstránené periodické zápisy do SPI Flash pamäte pri automatickom striedaní obrazoviek (carousel), ktoré spôsobovali zvislý posun obrazu.
    • Obnovené továrenské parametre časovania ST7701 a register 0xC1, čím sa obraz dokonale vycentroval.
    • Implementovaná bezpečná hardvérová resynchronizácia v LCD_Restart a pridaný REST endpoint /api/display/resync.
  • Serializácia prepínača YouTube obrazovky vo Web Konfigurácii:
    • Opravená chýbajúca serializácia poľa youtube vo WebPage.h.
  • Optimalizácia pamäte pre HTTPS / TLS handshake (mbedTLS):
    • Bounce buffer nastavený na 30 riadkov, uvoľnených 97+ KB interného SRAM pre stabilné SSL spojenía.

Firmware Binaries

  • MeteoPlaneRadar-v1.9.8-factory.bin — Complete flash package for initial USB flashing (offset 0x0000)
  • MeteoPlaneRadar-v1.9.8-ota.bin — Web OTA update binary

Release v1.9.7: YouTube Channel Analytics Screen & Solar Arc Sun Rays

Choose a tag to compare

@hackra76 hackra76 released this 15 Sep 12:42

What's Changed in v1.9.7

▶️ YouTube Channel Analytics Screen (SCREEN_YOUTUBE_I)

  • Live Channel Metrics: Real-time subscribers count, total channel views, and latest video upload stats powered by official YouTube Data API v3.
  • High-Impact Typography: Prominent subscriber number rendered with custom bold vector font (FONT_HERO, 32 px).
  • Dual Telemetry Cards: Symmetrically balanced split cards displaying Total Views (cyan) with video count badge, and Latest Video (gold) with NEW indicator and word-wrapped video title.
  • On-Demand & Background Polling: Instant refresh on screen tap with acoustic feedback; background polling respects quota limits (3 min active, 15 min background).
  • Web Portal Settings: Dedicated YouTube tab with fields for API key and Channel ID / @handle.

☀️ Solar Arc Sun Symbol with Rays

  • Updated the 24-hour solar twilight arc on the Clock screens to represent the Sun with a central glowing core and 8 radial rays on a contrast halo.

🕒 Clock Faces Refinement

  • Completely removed Fighter HUD watchface from the clock engine, web portal, and Quick Control Center (total selectable watchfaces updated to 6).

🛠️ Stability & Performance

  • Periodic Loop Optimization: Fixed Core 0 fetch triggers in AsyncCore to strictly respect period timers and eliminate repetitive API polling.
  • OTA Protection: Removed harmful LCD_Restart() calls during flash write cycles to permanently protect ST7701 RGB DMA bounce buffer parity.

Full Changelog: v1.9.6...v1.9.7

Release v1.9.6: Zero-Reset Multi-Scope Flight Statistics

Choose a tag to compare

@hackra76 hackra76 released this 14 Sep 14:28

What's Changed in v1.9.6

✈️ Zero-Reset Multi-Scope Flight Statistics

  • Parallel Multi-Range Tracking: Incoming ADS-B messages are continuously and concurrently tracked across all zoom scopes (ALL, <= 10 km, <= 25 km, <= 50 km, <= 100 km, <= 200 km) in dedicated PSRAM buffers.
  • Zero Data Loss on Scope Switch: Tapping the statistics header on the device or selecting a range in the Web UI instantly cycles/switches views without resetting or clearing accumulated counts, speeds, altitudes, and sightings.
  • Midnight & Manual Reset: Statistics persist cleanly throughout the 24-hour day and only reset at midnight (or via explicit user tap on the Reset button).
  • Web UI & REST API: Updated /api/stats?scope=X and dashboard dropdown selector to query individual range scopes.

Full Changelog: v1.9.5...v1.9.6

Release v1.9.5: Localized Nowcasting & Ground Clutter Filtering

Choose a tag to compare

@hackra76 hackra76 released this 14 Sep 13:23

What's Changed in v1.9.5

🌧️ Localized Precipitation Nowcasting & Clutter Suppression

  • Strict 3 km Physical Radius: Replaced the zoom-dependent grid check with a fixed 3.0 km physical ground radius around the user's GPS coordinates, preventing false 'Raining now' alerts from showers 20–40 km away at wide zoom levels.
  • Elevated Reflectivity Floor: Increased detection floor to moderate ground-reaching precipitation (>= 25 dBZ), filtering out boundary layer moisture, mountain clutter, and dry virga.
  • Imminent Impact Corridor: Narrowed cross-track impact corridor from 15 km to 6 km and restricted approach alerts to <= 35 min ETA for truly imminent storm events.

Full Changelog: v1.9.4...v1.9.5

Release v1.9.4: Markets On-Device Asset Picker & Candlestick Charts

Choose a tag to compare

@hackra76 hackra76 released this 14 Sep 12:56

What's Changed in v1.9.4

📈 Markets Screen: On-Device Asset Picker & QuickControl Integration

  • Added 4 interactive asset selection slots directly into the pull-down Quick Control drawer on the Markets screen (SCREEN_FINANCE_I).
  • Full-screen asset selection modal categorized into 6 categories: ETF Funds (Amundi, Vanguard, iShares), Cryptocurrencies, Indices, Commodities, Equities, and Forex.
  • 34 curated presets with one-touch direct slot selection, clear slot, and cancel actions without needing to open the web dashboard.

🕯️ Candlestick & Line Chart Style Selection

  • Introduced full candlestick chart rendering mode (FIN_GRAPH_CANDLESTICK) alongside the existing continuous sparkline.
  • Authentic trading app aesthetic: vibrant emerald bodies for bullish bars, vibrant coral bodies for bearish bars, thin wicks for High/Low extremes, and dashed previous-close baseline.
  • Quick graph style toggle button in the QuickControl pull-down menu with acoustic click feedback.
  • Web Dashboard setting in the Markets tab (financeGraph / finGraphType) with immediate display redraw and permanent NVS storage (finGr).

Full Changelog: v1.9.3...v1.9.4

Release v1.9.3: On-Device GitHub OTA HTTP -1 Fix

Choose a tag to compare

@hackra76 hackra76 released this 14 Sep 11:45

What's Changed in v1.9.3

🔄 On-Device GitHub OTA Update HTTP -1 Permanent Fix

  • Clean TLS Re-Handshake on Redirection: Reconstructed fresh WiFiClientSecure and HTTPClient instances upon following HTTP 302 redirects from github.com to release-assets.githubusercontent.com. Previously, reusing the dirty client instance across different domains caused mbedTLS to retain the original SNI hostname and fail the TLS handshake with HTTP -1.
  • Proactive Memory Reclamation: Freeing of all large radar, weather, flight route, and aircraft photo caches is now triggered prior to opening TLS network sockets, ensuring abundant free internal SRAM (> 50 kB) and large contiguous heap blocks for mbedTLS record buffers.
  • Optimized Task Stack: Reduced downloadAndFlashTask stack from 20 kB to 14 kB, returning an extra 6 kB of contiguous internal SRAM.

Full Changelog: v1.9.2...v1.9.3

Release v1.9.2: ST7701 Display Fix, OTA Memory Protection, Swipe Watchface & Stats Filter

Choose a tag to compare

@hackra76 hackra76 released this 14 Sep 11:27

What's Changed in v1.9.2

🖥️ ST7701 Display Shift & Wrap Permanent Fix

  • Calibrated the ESP32-S3 RGB peripheral pixel clock to 8 MHz with widened porches (HBP 50, HFP 10, VPW 8, VBP 20, VFP 10) and reduced SPI initialization frequency to 4 MHz with a 120 ms power-on reset.
  • Explicit CS line gating and deferred display enablement (command 0x29) until live RGB clock trains are actively driving the ST7701 panel permanently eliminates hardware vertical image wrap and row counter desynchronization during boot and screen transitions.

💾 OTA PSRAM Cache Reclamation & Direct-Flash Fallback

  • Added proactive PSRAM cache clearing (otaClearPsramCaches()) triggered when visiting /update and upon upload start. Reclaims memory allocated to radar animations (RainViewer, ČHMÚ, SHMÚ), weather cache, tactical radar framebuffer, aircraft photos, and flight routes to guarantee > 6 MB of free contiguous PSRAM.
  • Added automatic direct-to-flash streaming fallback (Update.write without PSRAM buffering) in both Web Dashboard OTA and online GitHub OTA, guaranteeing updates never fail with Out of PSRAM memory even when flashing large or older firmware binaries.

⌚ Vertical Swipe Watchface Switching

  • Replaced double-tap watchface switching on the Clock screen with intentional vertical swipe gestures (Swipe Up / Down). Eliminates accidental style changes during handling.

📊 Aircraft Count Statistics Filter

  • Added a configurable counting mode for flight statistics on the Info screen (All received ADS-B aircraft vs. planes within the active radar zoom radius), togglable directly via tap on the screen and through the Web Dashboard.

🔄 Manual Orientation Control

  • Replaced sensor-based auto-rotation with reliable user-selectable screen orientation in Settings and Web UI (0°, 90°, 180°, 270°).

📦 Firmware Assets

  • MeteoPlaneRadar-v1.9.2-ota.bin: Standard firmware update via the web interface or online GitHub OTA.
  • MeteoPlaneRadar-v1.9.2-factory.bin: Complete flash image (includes bootloader, partition table, and firmware).