Back to Journal
Product DesignMay 16, 20265 min

Fitting a touch UI onto a 2.4" panel with LVGL

The on-device screen is the trust surface. Here's how we built it on a GC9307 IPS panel with a CHSC6540 touch controller.

By Embedded Engineer

The screen is the trust surface

You should be able to walk up to the gateway and understand your system without an app. The 2.4" IPS panel shows node status, the current time, and the Add / Ignore admission dialog.

Hardware realities

The board is a VIEWE ESP32-S3 module with a GC9307 240×320 IPS display over SPI and a CHSC6540 capacitive touch controller over I2C. The published spec assumed different parts, so part of the work was reconciling the vendor init sequence against the real silicon.

Why debug logging is off by default

With native USB-CDC, a full, undrained TX buffer blocks the main loop. Under two-node log volume the UI froze. The fix was disciplined: per-frame serial logging is off by default, and diagnostics go through the CLI on demand instead. Reliability beats observability when they conflict on the hot path.

Join the Engineering Beta

Get technical updates, circuit diagrams, and early access to firmware source code as we build in public.

Strict Privacy Policy · No cloud analytics · No spam