Skip to content

pacioc193/HomeAIO

Repository files navigation

HomeAIO

PlatformIO LVGL M5Unified Build Status

Compact control UI for Home automation on M5Stack Tab5 (ESP32-P4) using LVGL and PlatformIO.

Features

  • LVGL 9.4 user interface generated by EEZ Studio
  • DMA-accelerated flush via M5Unified display driver
  • UI skeleton and screens included (src/ui/)

Dependencies

  • PlatformIO (CLI) latest stable
  • Platform/board: esp32p4_pioarduino (ESP32-P4)
  • M5Unified library (via PlatformIO libdeps)
  • LVGL 9.4.x

Make sure PlatformIO is installed and the correct environment is selected in platformio.ini.

Official modification (required for ESP32-P4)

To compile successfully for the ESP32-P4 we apply one official, local modification to the LVGL sources installed in the PlatformIO library folder:

  • Disable the ARM Helium assembly file lv_blend_helium.S by renaming it to lv_blend_helium.S.disabled in: .pio/libdeps/esp32p4_pioarduino/lvgl/src/draw/sw/blend/helium/

Reason: the Helium assembly is incompatible with the ESP32-P4 toolchain and causes build errors. The change should be kept local inside .pio/libdeps and not pushed upstream to the LVGL project.

Commands to ensure the file is disabled (run from project root):

PowerShell:

$f = ".pio\\libdeps\\esp32p4_pioarduino\\lvgl\\src\\draw\\sw\\blend\\helium\\lv_blend_helium.S"
if (Test-Path $f) { Rename-Item -Path $f -NewName "$($f).disabled" }

POSIX (bash):

f=.pio/libdeps/esp32p4_pioarduino/lvgl/src/draw/sw/blend/helium/lv_blend_helium.S
[ -f "$f" ] && mv "$f" "$f.disabled"

Note: in this workspace the file already exists with the .disabled suffix inside .pio/libdeps.

Build & Upload

  1. Open a terminal in the project root.
  2. Build:
pio run
  1. Upload (adjust COM port as needed):
pio run --target upload --upload-port COM9

Runtime notes

  • The UI is created in src/ui/ and screens are loaded by ui_init() / ui_tick() in src/main.cpp.
  • LVGL tick configuration: ensure lv_tick_get() or lv_tick_set_cb() is set appropriately for your port.

Contributing

  • Open issues or PRs for bugs and improvements. For fixes inside external libraries prefer upstream PRs.

License

This project is licensed under the MIT License. See the LICENSE file for details.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published