Where it actually was: the Settings screen was eagerly constructing all 9 tabs’ UI content on load — and that construction cost was starving the OTA check/install’s own TLS handshake at exactly the wrong moment. Took live frame-timing diagnostics and a reconnected serial line to actually catch it. Fix was switching Settings to build each tab’s content lazily instead of upfront. Also found and killed a genuine small leak in a setenv() call along the way — different bug, same investigation.
Also picked up one hardware quirk I can’t fix and had to just accept: one of the display layouts (a colour-graded heatmap view) genuinely shifts colour depending on viewing angle — tiles read cyan/magenta dead-on, correct colour off-axis. Confirmed by physically tilting the unit, not a rendering bug. Sometimes the panel just wins.
A couple of things I deliberately held back on: a live news feed and multi-language UI support were both scoped early on, but shelved for now — both would mean sustained background memory pressure competing with everything else already fighting over a genuinely small heap, and after the saga above I wasn’t adding more load to that pool without a good reason to.
Where the project’s at now (v12, stable, still testing):
**•** 7” full-colour capacitive touch, portfolio mode with live P/L, currency converter with flag icons, 10 themes + editor, a colour heatmap layout, crypto Fear & Greed index, world clocks, exchange open/close + pre/after-hours indicators, an actually-animated quiet-hours screensaver (Matrix rain or a starfield, your pick), Heikin-Ashi candles, 7 chart timeframes
**•** Self-updating firmware with dual-slot rollback — a failed update can’t brick it
**•** Multi-source pricing (no single API dependency) with an honest stale-data indicator rather than silently showing old numbers
Case is carbon-fibre front panel over a 3D-printed body, individually built.
[GitHub with schematics/build notes coming — will drop it here once it’s up.]
Not selling yet, but if there’s real interest I’m considering a small first batch — drop a comment or DM if that’s something you’d want, genuinely helps me gauge whether it’s worth doing.
Happy to go deeper on any part of this — the heap/OTA saga, the touch controller hardware mod, the multi-source data-reliability design, whatever’s interesting to this crowd.
Detailed list of current capabilities:
• Unlimited watchlist — stocks, cryptocurrencies, and currency pairs, arranged in pages of 8 with smooth swipe or auto-rotate navigation.
• Three chart styles — sparkline, filled area, or candlestick, set globally or per-symbol.
• Full detail view — tap any symbol for a proper chart with 1-day through 3-month timeframes, a moving-average overlay, and an optional RSI momentum indicator.
• Dedicated currency screen — live FX rates for the pairs you track, with a running 5-day range.
• Price alerts — set a threshold and get a clear on-screen notification the moment it’s crossed, no repeated pinging.
• Self-updating firmware — the device checks for improvements over Wi-Fi and installs them with a single tap, with automatic protection against a failed update ever leaving it unusable.
• Reliable by design — multiple data sources are used behind the scenes so pricing isn’t dependent on a single provider, and the display always tells you honestly if data is running behind rather than silently showing stale numbers.
- Local currency.
- Internet Time sync.
- Time-zone and Daylight saving.
- Up to 5 WiFi networks stored.
- Portfolio.
- World Clocks.
- Display themes.
- Screen savers - digital rain, clock, star field.
- Fear & Greed Indicator (crypto only).
- Market pre-market, open, closed.
- Market Calendar.
I’m not sure but I think this must be the most feature rich ESP 32 based desktop asset tracker? Thoughts?