# Tessera: Touch Panels for Home Assistant Without YAML or MQTT

> Tessera is an AGPL-3.0 licensed project that turns affordable ESP32 panels into Home Assistant touch screens, with a drag-and-drop editor inside Home Assistant, a flash over USB and updates over Wi-Fi. It suits a home automation user who wants a wall panel and refuses to hand-write configuration for it.

**MaxGramser/homeassistant_espscreen** — Tessera: beautiful, easy touch screens for Home Assistant on affordable ESP32 panels, 2.8 to 10.1 inch (CYD, Guition, Waveshare). Drag-and-drop editor, no YAML, no MQTT.

- Repository: https://github.com/MaxGramser/homeassistant_espscreen
- Website: https://tessera-maxgramser.on-forge.com
- Stars: 830 · Forks: 108
- Language: Python
- License: AGPL-3.0
- Published: 2026-10-21 · Updated: 2026-10-21 · Language: en
- Canonical page: https://hysenlabs.com/projects/maxgramser-homeassistant-espscreen

## The problem it solves: a phone in another room and an expensive tablet

The stated reason is a small one that turns out to be the whole product. Your phone is in the other room and a tablet on the wall is expensive. A small ESP32 touch panel costs a fraction of that, sits on a table or in a wall box, and is always at hand for the lights, the heating or the vacuum. The framing matters because it sets the bar for the software too. This is not a dashboard project for a browser, it is a control surface, which is why the tiles are big and why a tile can be one big switch you push without looking. The panels supported are five today, from the 2.8-inch CYD up to the 10.1-inch Guition, and the topic tags name the specific hardware families: CYD, ESP32-2432S028R, ESP32-P4, ESP32-S3, Guition and Waveshare.

## What a screen can show

The screen contents are described in terms of what a person actually wants from a wall panel. Tiles cover lights, climate, humidifiers, blinds and curtains, the vacuum, media, the weather, history graphs, the energy of the house live, clocks and timers, your alarm with its keypad, and your cameras and a map of where everyone is on every screen with room for pictures. A tile can take the whole page, one big switch you push without looking, and a tile can go to another page. There are up to eight pages on the smaller panels, or more on the boards with the memory for them, and as many tiles per page as the glass holds. An automation can put an alert on every screen when someone rings the bell, and a screen with room for pictures shows who is there using the doorbell camera's picture. Dark mode suits a screen beside the bed.

## How the screen is configured: pick, drag, save and send

The configuration story is the reason this project exists, and it is deliberately dull. Tessera Screen Manager is an app inside Home Assistant. It flashes a new screen over USB, updates it over Wi-Fi and sends it your tiles. Changing a screen is pick, drag and Save and send. The list of what you do not need is as important as the list of what you do: no reflash, no YAML to write, no blueprint, no MQTT and no token. Brightness, night hours and Dark mode can also be changed on the screen itself or by an automation, and your own YAML for one screen survives every update. That last point is the escape hatch that makes the rest of the design tolerable, because a project that insists on no YAML can still be extended by someone who is willing to write it.

## Installing it as a Home Assistant add-on

Tessera is not in the standard App store, and the readme is explicit about the route. A button adds its repository to your Home Assistant, and after that Tessera Screen Manager appears in the store like any other app. There is also a link for people who have already installed a screen and want to share that it works. The naming has a wrinkle worth knowing before you search for anything. Tessera is the new name for ESP Screens, and in Home Assistant the app is called Tessera Screen Manager and its panel Tessera, with the repository, the add-on and your screens staying exactly as they are. So the old name still appears in your configuration and in existing topics, and the new name appears in the store.

## The repository layout and the release train

The top level shows a project with a lot of moving parts. There are board definition files in boards.yaml and repository.yaml, a calibration.example.yaml and a secrets.yaml.example, then directories for the catalogue of screens, checkout, components, diagnostics, docker, docs, fonts, installers, packages, screen_manager, tests, tools and web. The components directory is the interesting one, because it is where the individual tile types live, and the catalogue is where the supported hardware and its layouts are described. The releases show how the project ships: screens-v0.4.89 with firmware 0.57.0, screens-v0.4.88 with firmware 0.56.0 and screens-v0.4.87 with firmware 0.55.0, each on its own date in October 2026. The app and the firmware are versioned separately, which makes sense once you know that a screen runs its own firmware and the Home Assistant app is what sends it tiles.

## The requirements, and a deliberate pin on the toolchain

The requirements file is a single line with a comment above it that says the tested toolchain should not be silently upgraded during commissioning. The pinned dependency is esphome at 2026.9.0. That comment is the most informative line in the repository for anyone about to build firmware, because it explains why the version is exact rather than a range. ESPHome is what compiles the firmware for the ESP32, and the version affects the generated binary, so an unpinned upgrade during a commissioning session could change what ends up on the panel without anyone intending it. The topic tags also name LVGL, which is the graphics library the firmware draws with, and esphome and hass-addon, which place the project in the Home Assistant add-on ecosystem.

## Where requests and questions actually go

The project has a strict routing policy and states it up front. GitHub Issues are for bugs only, and feature requests, improvements and new board requests posted there will not be reviewed. Those go to the Tessera wishlist, where you search for an existing wish and upvote it or add your own. New ESP boards and displays have their own category, and the guidance there is specific about what to include: the exact model, a product link and whether you can test it. The reasoning is given too, since votes show how many people would use it and help set priorities, but they do not guarantee support. Questions and general discussions are handled in the Community area rather than on GitHub Discussions, and the readme notes the project is led by its author with contributions from the community, funded by monthly contributions or one-off donations.

## The limits, and the e-ink project it points at instead

Two constraints are stated clearly enough to plan around. The first is hardware. The supported set is five panels today, and the range runs from 2.8 inches to 10.1 inches, with page counts and tile counts varying by panel memory, which means a screen you like the look of but that is not on the list will not simply work. The second is display type. Tessera is for colour LCD touch screens, and for calm dashboards on e-ink panels the project points at Tesserae, a separate open-source project at tesserae.ink with a similar name, and it is careful to distinguish the two so nobody buys the wrong panel. The practical check before you commit is therefore short: confirm your exact model is in the supported list, confirm it is an LCD rather than an e-ink panel, and then decide whether the Home Assistant app and the screen firmware moving in step is a process you are comfortable with.

## Conclusion

Tessera fits a Home Assistant user with an ESP32 panel on the table or in a wall box who wants a usable interface without learning the add-on's configuration format or wiring MQTT by hand. It is the wrong choice for e-ink, since the project is for colour LCD panels and points at a separate project for e-ink dashboards, and the wrong choice if you need a screen type it does not list, because the supported set is five panels today. Before you buy a panel, check the supported screens page and confirm your exact model is there.

## FAQ

### What hardware does Tessera support?

Five affordable ESP32 panels today, from the 2.8-inch CYD to the 10.1-inch Guition, with the topic tags naming CYD, ESP32-2432S028R, ESP32-P4, ESP32-S3, Guition and Waveshare. New board requests go through the project's wishlist with the exact model, a product link and whether you can test it.

### Do I need to write YAML or set up MQTT to use Tessera?

No. Changing a screen is pick, drag and Save and send, with no reflash, no YAML to write, no blueprint, no MQTT and no token. Your own YAML for one screen does survive every update, if you want to go further.

### How do I install Tessera in Home Assistant?

Tessera is not in the standard App store. A button in the repository adds its repository to your Home Assistant, and after that the Tessera Screen Manager appears in the store like any other app.

### What can a Tessera screen display?

Tiles for lights, climate, humidifiers, blinds and curtains, the vacuum, media, the weather, history graphs, live house energy, clocks and timers, an alarm with its keypad, and cameras and a map of who is present, with up to eight pages on smaller panels and more on boards with the memory for them.

### Is Tessera suitable for e-ink displays?

No. Tessera is for colour LCD touch screens, and for calm dashboards on e-ink panels the project points at Tesserae, a separate open-source project with a similar name. The rest of the requirements include a pinned ESPHome toolchain at 2026.9.0, which should not be silently upgraded during commissioning.

## Sources

- [License: AGPL-3.0](https://github.com/MaxGramser/homeassistant_espscreen/blob/main/LICENSE)
- [MaxGramser/homeassistant_espscreen on GitHub](https://github.com/MaxGramser/homeassistant_espscreen)
- [Project website](https://tessera-maxgramser.on-forge.com)
- [README](https://github.com/MaxGramser/homeassistant_espscreen/blob/main/README.md)
- [Releases](https://github.com/MaxGramser/homeassistant_espscreen/releases)

---

Hysen Labs editorial analysis, written from the project's own repository and release notes. Cite the canonical page: https://hysenlabs.com/projects/maxgramser-homeassistant-espscreen
