openHASP firmware
Control your home-automation devices from a customizable touchscreen UI connected via MQTT.
This project is a re-implementation of the popular HASwitchPlate sketch created by aderusha. The HASPone project uses a Wemos D1 mini and requires a Nextion/TJC HMI display. This rewrite removes the Nextion/TJC hardware requirement by using the Light and Versatile Graphics Library on the MCU to drive a commodity display.
openHASP also adds ESP32 and STM32F4 support to take advantage of the additional hardware capabilities.
Demo Screens
Features
| Feature | ESP8266 | ESP32 | STM32F4 |
|---|---|---|---|
| SPI display | ✅ yes | ✅ yes | ✅ yes |
| Parallel display | ❌ no | ✅ yes | ✅ yes |
| PWM Screen dimming | ✅ yes | ✅ yes | ✅ yes |
| Maximum Page Count | 4 | 12 | 12 |
| Object Types / Widgets | 14 | 15 | 15 |
| Dynamic Objects | ✅ yes | ✅ yes | ✅ yes |
| Lvgl Theme Support | basic only | all themes | tbd |
| Custom .zi V5 font | ✅ yes (latin1) | ✅ yes (latin1) | no |
| FontAwesome Icons | ✅ 1300+ | ✅ 1300+ | no |
| PNG images | ❌ no | ❔ tbd | ❔ tbd |
| Network | ✅ Wifi | ✅ Wifi | ✅ Ethernet |
Cloning
Make sure to add the --recursive parameter when cloning the project. Otherwise git will not download the required submodules in the /lib subdirectory.
git clone --recursive https://github.com/HASwitchPlate/openHASP
If you already cloned openHASP without the submodules, you can fetch the submodules seperately using:
git submodule update --init --recursive
To build a defierent branch use:
git clone --recursive https://github.com/HASwitchPlate/openHASP
cd openHASP
git checkout 0.4.0
git submodule update --init --recursive
Getting Started
Check out the documentation for how-to's, information and frequently asked questions.
Support
For support using openHASP, please join the #openHASP channel on Discord.


