Releases: GalusPeres/HomeTiles
Release list
HomeTiles v0.6.8
v0.6.8 expands hardware coverage and improves ESP32-P4 Camera and
display stability.
Highlights
- Added release and browser-installer coverage for Waveshare 7B/7B-C, Guition
JC1060P470C V2, and Waveshare ESP32-S3-Touch-LCD-4B. - Added two explicit Waveshare 7B/7B-C release and browser-installer entries:
ESP32-P4 before v3.0 (revisions 1–199), and exact ESP32-P4 v3.1. The v3.1
entry is experimental and exact hardware has not been verified. - Fixed Waveshare 7B startup by avoiding the EK79007 display-on/off operation
that its panel driver does not support. - Stabilized Camera presentation across native ESP32-P4 DSI profiles with
protected double buffering and fail-closed handling when PPA or display
refresh completion is missing. - Added a persistent display-pipeline timeout report before a controlled
restart, because that safe restart does not create a normal core dump. - A missing Camera response now reports MQTT or Bridge reachability instead of
incorrectly claiming that HomeTiles Bridge is outdated. - Corrected the hardware-reported default orientation on Waveshare 10.1-inch
and Guition JC1060 V2, added a readable 2% brightness floor on the 10.1-inch,
and corrected the JC1060 V2 LCD-reset/GPIO mapping.
Update Notes
HomeTiles Bridge v0.6.37 remains the recommended companion release. No new
Bridge protocol is required for these changes.
Use the regular .bin for OTA or the browser installer's Update mode. Use
_factory.bin only for a first installation or an intentional factory reset.
For Waveshare 7B/7B-C, select ESP32-P4 before v3.0 (revisions 1–199) or
exact ESP32-P4 v3.1 (experimental) in the browser installer. That selection
determines the asset. The browser installer, Web Admin upload, and on-device OTA
updater enforce the revision contract and reject mismatches. The base filename
is for revisions 1–199; _rev3_1 is only for exact v3.1 (301).
The other current ESP32-P4 profiles use vendor-listed P4NRW32/pre-v3 modules and
are also explicitly guarded to revisions 1–199. ESP32-P4 v3.2 or newer is
unsupported with Arduino-ESP32 3.3.7 / ESP-IDF 5.5.2 and must not be flashed.
Direct esptool flashing of the v3.1 image to v3.2+ is unsafe because the
Arduino v3.00 or newer build's underlying ESP header can span revisions
301–399 and bypass HomeTiles' exact-v3.1 check.
Saved display orientations remain unchanged. The corrected orientation defaults
apply when no orientation has been saved yet.
Hardware Confirmed
A short Camera smoke test passed on M5Stack Tab5, Waveshare 4B, and Waveshare
Touch LCD 8-inch. This was not a long-duration stress test.
Waveshare 10.1-inch display operation, Wi-Fi, MQTT, and OTA were independently
reported working before this release's orientation and brightness-default
corrections. A JC1060 V2 tester reported that everything worked apart from the
previous 180-degree default. The Waveshare ESP32-S3-Touch-LCD-4B implementation
also received an initial real-hardware confirmation.
Pending Hardware Validation
The Camera fix still needs exact-device confirmation on the Guition JC8012 V1
reported in issue #30 and on the other unowned native DSI profiles. The 7B
pre-v3 path and especially the experimental exact-v3.1 path still need physical
startup, display, touch, storage, networking, Camera, and OTA confirmation. The
corrected JC1060 V2 and Waveshare 10.1-inch defaults and the first published
Waveshare ESP32-S3 4B release/OTA path also need confirmation. CI compilation is
not treated as physical validation.
Thanks to @pguns for the Camera crash report,
@mccarron for the Waveshare 7B startup log,
@atliant for the Waveshare 10.1-inch report,
@hromych for JC1060 V2 testing, and
@ehfortin and
@exiom-xyz for Waveshare ESP32-S3 4B support
and hardware feedback.
Full Changelog: v0.6.7...v0.6.8
HomeTiles v0.6.7
v0.6.7 adds local access control for Settings and folders and
improves display and screensaver stability.
Highlights
- Added optional 4-8 digit PIN protection for Settings and individual folders.
- Settings can be parked outside the Home grid and reopened with a configurable
inward edge swipe while preserving the tile title, icon, color, size, and
position. - Added a shared localized PIN keypad with masked input, recovery PIN support,
automatic timeout, and immediate protected-folder navigation. - Improved Guition ESP32-S3 display synchronization while saving configuration
and moving the Settings tile. - Avoided blocking SD-card mount retries when a screensaver starts without a
card and accelerated the black ESP32-P4 fallback frame. - Corrected ESP32-P4 detection and module-cache refreshes in the browser
installer.
Update Notes
HomeTiles Bridge v0.6.37 is the current recommended companion release. The new
PIN controls are local to the display and do not require a new Bridge protocol.
Use the regular .bin for OTA or the browser installer's Update mode. Use
_factory.bin only for a first installation or an intentional factory reset.
The PIN feature is a local child lock, not an authenticated login. Anyone with
Web Admin access can manage and reveal the configured PINs. The documented
Factory PIN can unlock Settings and protected folders.
Hardware Confirmed
The Settings visibility, PIN, folder PIN, and edge-swipe flows were exercised on the M5Stack Tab5,
Waveshare 4B, Waveshare Touch LCD 8-inch, and Guition ESP32-4848S040 ESP32-S3.
Pending Hardware Validation
The same access-control flow still needs exact-device confirmation on the Waveshare 86 Panel,
Waveshare Touch LCD 7-inch and 10.1-inch, Guition JC8012 V1/V2, and Guition JC1060P470C.
CI compile coverage is not treated as physical validation.
Thanks to @ehfortin for independently proposing
configurable Settings visibility and sharing Waveshare 4B findings in
PR #28.
Full Changelog: v0.6.6...v0.6.7
HomeTiles v0.6.6
v0.6.6 adds a guided browser flasher and improves Home Assistant controls, OTA reliability, and ESP32-S3 display stability.
Highlights
- Added the HomeTiles Browser Installer for USB updates and first installations.
- Corrected Climate and Light availability, capabilities, and controls.
- Weather popups now open after either a short or long press.
- Improved ESP32-S3 display recovery.
- Improved ESP32-P4 Web Admin OTA reliability and performance.
- Added practical screensaver JPEG guidance.
Update Notes
Update HomeTiles Bridge to v0.6.36 through HACS and restart Home Assistant before updating the display.
Use the regular .bin for updates and _factory.bin only for a first installation or factory reset.
Hardware Status
JC8012 V2 display, touch, brightness, and OTA were confirmed on real hardware. Its microSD support remains untested.
Thanks to @SeKam68 for the JC8012 V2 hardware and OTA report, and to @projectthirty3, @majki09, and @thewan056 for the screensaver JPEG findings.
Full Changelog: v0.6.5...v0.6.6
HomeTiles v0.6.5
v0.6.5 adds Home Assistant Cover controls and improves display, storage and
interaction stability across all published device profiles.
Upgrade Order
- Update HomeTiles Bridge to v0.6.35 through HACS and restart Home Assistant.
- Update the display to HomeTiles v0.6.5.
Highlights
- New localized Cover tiles and a Light-popup-based Cover popup with
feature-aware position, tilt, open, close and stop controls. - Improved Guition ESP32-S3 touch, RGB display synchronization, OTA,
screenshots, slideshow memory use and rate-limited diagnostics. - Unified normal and screensaver brightness across device UI, MQTT and Home
Assistant without losing the safe device-specific PWM ranges. - Expanded the folder cache to six grids across all ESP32-P4 profiles and moved
cold renderer bookkeeping into PSRAM to reclaim internal RAM. - Added a live downloadable SD diagnostic report without persistent diagnostic
history. - Added a separate image for Guition JC8012P4A1 V2
(SKU:10153002-V2). - Corrected JC1060 SD startup by applying the board's active-low GPIO45 power
reset before mounting the card.
The Guition ESP32-4848S040 ESP32-S3 image is hardware-tested and does not
support Camera tiles.
Hardware-confirmed targets are M5Stack Tab5, Waveshare 4B/86 Panel/8-inch,
Guition JC8012 V1 and Guition ESP32-S3. Waveshare 7/10.1-inch and Guition
JC8012 V2 still need complete physical-device validation. JC1060 SD-card
operation still needs confirmation on the exact _I_W_Y hardware.
Use the regular .bin for OTA and _factory.bin only for the first USB flash
or a complete reset.
Full Changelog: v0.6.4...v0.6.5
HomeTiles v0.6.4
Update HomeTiles Bridge to v0.6.32 first, restart Home Assistant, then update the display.
- Faster folder navigation, Weather popups and Web Admin refreshes
- More reliable light, color and Kelvin slider updates
- Separate screensaver brightness and improved idle handling
- New localized I/O tab for switches, onboard relays and DS18B20 sensors
- Improved long-session responsiveness and ESP-Hosted recovery diagnostics
Camera support on ESP32-P4 and the Guition ESP32-S3 image remain experimental. Use the regular .bin for OTA and _factory.bin only for the first USB flash or a complete reset.
Full Changelog: v0.6.3...v0.6.4
HomeTiles v0.6.3
HomeTiles v0.6.3 adds an experimental camera popup for ESP32-P4 displays,
improves light controls and network stability, adds Cyrillic tile-title glyphs,
and removes unfinished non-Home-Assistant features.
Upgrade Order
- Update HomeTiles Bridge to v0.6.28 through HACS and restart Home Assistant.
- Update the display to HomeTiles v0.6.3.
- For Camera tiles, select the camera under HomeTiles Bridge → Configure →
Entity Configuration.
Other tile types continue to work without the camera protocol, but Camera tiles
explicitly require Bridge v0.6.28 or newer.
Experimental Camera Popup
- Added Camera tiles and a popup that fills the available 16:9 content area.
- Supports Home Assistant cameras with a direct stream source as well as
snapshot-only camera entities. - The Bridge uses FFmpeg to produce display-sized JPEG frames and sends them
through an acknowledged local TCP connection. MQTT remains active for normal
states, commands and camera setup. - The display requests its own popup geometry, so each P4 profile uses the same
camera implementation without hard-coded device names. - Direct streams can reach up to 24 FPS. Actual performance is limited by the
source frame rate, Home Assistant host, network and display. - Added bounded buffering, latest-frame replacement, triple display buffers and
protected presentation paths so camera work cannot consume the MQTT/WiFi
reserve. - Added explicit camera protocol negotiation and a translated Bridge-update
message instead of waiting indefinitely on an incompatible integration. - Camera sessions use the first available local TCP port from
8124to8131.
Camera support is experimental. FFmpeg transcoding consumes CPU on the Home
Assistant host, and every simultaneously open panel creates a separate session.
The ESP32-S3 Guition ESP32-4848S040C_I does not expose Camera tiles.
Lights And CCT
- Reworked brightness, color-wheel and color-temperature interaction so local
feedback follows the finger without flooding Home Assistant with every touch
sample. - Preserved the existing popup design while fixing redraw gaps and rounded
slider endpoints. - CCT-only lights keep brightness, power and Kelvin controls while hiding the
unsupported color palette. - Warm/cold endpoint requests use the exact Kelvin range reported by Home
Assistant. Current Waveshare 4B, Waveshare 8 and the previous Tab5 firmware
were checked with a two-channel CCT test entity.
Text And Interface
- Added modern Cyrillic glyphs to tile-title fonts in the common 14, 16, 20 and
24 px sizes (issue #10). - English and German remain the selectable complete interface languages.
- French stays hidden while its translation pass is unfinished.
Stability And Maintenance
- Moved additional ESP-Hosted receive allocations to PSRAM and retained the
patched TX path used by release builds. - Restored the normal UI draw buffer after closing a camera popup instead of
leaving later popups on the large video buffer. - Kept MQTT and WiFi active during camera streaming and bounded frame transport
with receiver acknowledgements. - Removed the unfinished PC WebSocket server, desktop companion application,
Flight Simulator bridge, Key tiles and Counter tiles.
Hardware-confirmed Release Targets
| Device | Release image |
|---|---|
| M5Stack Tab5 | m5stacks_tab5 |
| Waveshare ESP32-P4-WIFI6-Touch-LCD-4B | waveshare_4b |
| Waveshare ESP32-P4-86-Panel-ETH-2RO | waveshare_4b (native Ethernet supported) |
| Waveshare ESP32-P4-WIFI6-Touch-LCD-8 | waveshare_touch_lcd_8 |
| Guition JC8012P4A1C_I_W_Y | guition_jc8012p4a1 |
Experimental Images Awaiting Hardware Confirmation
The following factory and OTA images are intentionally included on the release
page for community testing. Compilation is verified, but the complete physical
device has not yet passed the display, touch, brightness, storage, networking,
screensaver and OTA checklist.
| Exact device | Release image | Feedback |
|---|---|---|
| Waveshare ESP32-P4-WIFI6-Touch-LCD-7 | waveshare_touch_lcd_7 |
Issue #7 |
| Waveshare ESP32-P4-WIFI6-Touch-LCD-10.1 | waveshare_touch_lcd_10_1 |
Issue #7 |
| Guition JC1060P470C_I_W_Y | guition_jc1060p470c |
_I_W_Y only; issue #8 |
| Guition ESP32-4848S040C_I | guition_esp32_4848s040 |
ESP32-S3, no camera; issue #9 |
Use the regular .bin for OTA and the _factory.bin only for a first USB
flash or complete reset.
Full Changelog:
v0.6.2...v0.6.3
HomeTiles v0.6.2
Guition JC8012P4A1C_I_W_Y support
- Added factory and OTA binaries for the 10.1-inch Guition JC8012P4A1C_I_W_Y.
- Display, brightness control, GSL3680 touch, ESP-Hosted WiFi, microSD and dual-partition OTA are integrated.
- Touch direction, MQTT, Home Assistant Bridge data and automatic discovery were confirmed on real hardware.
Many thanks to @brmo for sharing the original working display code, testing the HomeTiles builds and providing the detailed logs and feedback needed to finish the integration.
Important MQTT / Bridge fix
- Fixed Bridge setup for newly added devices. HomeTiles now sends its MAC-based Bridge announcement after every MQTT connection, allowing the Home Assistant integration to return the selected entity list.
- Prevented a Bridge apply/announce feedback loop when a new configuration is received.
- This was easy to miss because existing test devices already had retained Bridge data and continued to work normally.
Other changes
- Expanded the translation groundwork and moved more UI text into the shared i18n tables. The unfinished French language option remains hidden for now.
Supported devices
- M5Stack Tab5
- Waveshare ESP32-P4-WIFI6-Touch-LCD-4B
- Waveshare ESP32-P4-86-Panel-ETH-2RO with native Ethernet (uses the Waveshare 4B firmware)
- Waveshare ESP32-P4-WIFI6-Touch-LCD-8
- Guition JC8012P4A1C_I_W_Y
Downloads
Use the normal .bin file for OTA updates and the _factory.bin file for the first USB flash.
Full changelog: v0.6.1...v0.6.2
HomeTiles v0.6.1
HomeTiles v0.6.1 improves network safety, Web Admin reliability, and general UI polish.
Highlights
- WiFi and Ethernet now share one DHCP/static-IP configuration.
- Static addressing works consistently with WiFi, native Ethernet, and USB Ethernet.
- Invalid or incomplete static settings safely fall back to DHCP.
- Added an on-device Use DHCP recovery option with Undo DHCP until restart.
- Network and MQTT settings are now saved without full-page reloads.
- Open network popups update immediately after settings are changed.
- Improved network settings layout, IP input styling, and light-popup spacing.
- Updated German and English network labels.
Supported Devices
OTA and factory binaries are included for:
- M5Stack Tab5
- Waveshare ESP32-P4-WIFI6-Touch-LCD-4B
- Waveshare ESP32-P4-WIFI6-Touch-LCD-8
- Waveshare ESP32-P4-86-Panel-ETH-2RO using the Waveshare 4B firmware
Thanks to @onikserj for testing Ethernet support and providing valuable feedback.
Use the regular .bin for OTA updates and _factory.bin only for the initial USB flash. See the Firmware Updates guide for details.
Full Changelog: v0.6.0...v0.6.1
HomeTiles v0.6.0
HomeTiles v0.6.0 introduces a complete Climate tile and popup system, improves
network transport reliability, and polishes the web editor and on-device UI
across every supported display.
Configurable Climate Tiles
- Climate tiles now contain a configurable grid of mini-tiles.
- Mini-tiles can show current temperature, current humidity, target temperature,
separate heating and cooling targets, target humidity, or HVAC mode. - Mini-tiles can be selected, moved, removed, and rearranged directly in the web
preview. - Resizing a Climate tile updates its slot grid and layout live.
- Automatic content uses the capabilities reported by the Home Assistant entity,
so unsupported controls stay hidden. - Empty Climate tiles remain empty until an entity is selected.
- Web previews and the LVGL device renderer use matching geometry, spacing,
alignment, value formatting, and translated labels.
Climate Control Popup
The new touch-first popup adapts to each entity and can expose:
- a single target temperature or a low/high target range
- target humidity
- HVAC modes
- presets
- fan modes
- vertical swing modes
- horizontal swing modes
Only supported controls are shown. Long custom option lists are smoothly
touch-scrollable without a visible scrollbar. Current temperature and humidity,
target markers, labels, and the circular control are aligned for both 720p and
800p layouts. Marker colors also update while a target is being dragged.
Rapid plus/minus input is handled without stale state updates causing the value
to jump backwards.
Web Editor And Localization
- Parent tiles and mini-tiles have distinct selection, hover, and drag feedback.
- Dragging a mini-tile no longer selects or moves its parent.
- Parent resize previews keep mini-tile geometry stable in every direction.
- Climate labels use the shared localization profile instead of language-specific
JavaScript branches. - German and English captions remain consistent between settings, web previews,
and the device UI.
Network And Stability
- Added a shared network transport layer with improved WiFi/Ethernet takeover and
fallback behavior. - Improved UI responsiveness while network transports reconnect.
- Hardened ESP-Hosted SDIO transmit and receive allocation paths used by the
ESP32-P4/ESP32-C6 connection. - Existing crash diagnostics and safe recovery remain available through the web
admin.
Supported Devices
Every release includes OTA and factory binaries for:
- M5Stack Tab5
- Waveshare ESP32-P4-WIFI6-Touch-LCD-4B
- Waveshare ESP32-P4-WIFI6-Touch-LCD-8
Use the plain .bin for an OTA update and the _factory.bin only for the first
USB flash. See Firmware Updates for the complete instructions.
Full Changelog: v0.5.6...v0.6.0
HomeTiles v0.5.6
What's Changed
- Added safe recovery for failed on-device GitHub OTA downloads: the device records diagnostics, restarts safely, and retries from a fresh boot.
- Downloaded firmware is staged in PSRAM using paced 512 KB ranges with retry handling and a resolved GitHub CDN URL.
- OTA transport failures are appended to
/crashlog.txtso they remain available after the safe restart. - Added a German and English System-popup notice that an update may restart the device twice and that the installed version should be checked afterwards.
- Added troubleshooting for the ESP32-P4/ESP32-C6 ESP-Hosted/SDIO HTTPS/TLS path and step-by-step instructions for the manual Web Admin OTA fallback.
The manual fallback requires the user to download the matching plain OTA .bin from this release and upload it in the Web Admin Firmware section. Do not use the _factory.bin for an OTA update.
Full Changelog: v0.5.5...v0.5.6