Tiny, Embedded Graphical User Interface (GUI) Potentially Offered by ZPUI
The joy and frustration of tinkering with a freshly-powered single board computer (SBC) comes down to one thing - getting to a shell. Despite the multitude of ways to access your SBC, the journey is never smooth. You'll need a keyboard, monitor, and an Ethernet cable, or maybe a UART connection, but good luck if it's broken or misconfigured. Formatting WiFi credentials in a text file is another challenge, as you'll struggle to find the IP address or fix any formatting errors.
ENOUGH OF THE HASSLE, MATE!
That's why for years, I've been working on a solution - an affordable and accessible embedded UI called ZPUI (Zippy UI). A small I2C screen and a few buttons is all it takes to stay on top of your Pi or any other Linux device. Sure, separate lightweight control interfaces aren't a new concept, but I wanted something more. I wanted to easily power off my boards to avoid SD card corruption, figure out my boards' IP addresses without scanning the network, and connect to WiFi networks without SD card manipulations. And so, I built pyLCI (Linux Control Interface) - a simple, flexible software with app loading support, command parsing for WiFi connection management, HDMI monitor debugging, and more. It only requires 5 buttons and works with character LCDs from 16x2 to 20x4.
pyLCI became a lifesaver in my SBC adventures, and I've used it across my portable devices, from pocket-sized Pi boards to homemade hardware hacking workbenches. When teaching workshops, I even used it to determine IP addresses for student-issued Pi boards without having to drag a monitor around or use USB-UART interventions.
When I developed ZeroPhone, an open-source Raspberry Pi Zero numpad phone, I ported pyLCI into a base for the UI, called it ZPUI (for ZeroPhone UI), and targeted the super common 128x64 screens. Initially, I made the color screen imitate a character screen - it worked okay as a stopgap but resulted in tiny text. I spent quite some time making the screen readable, ensuring apps worked passably well, and writing new, improved ones. I even added numpad input to complement the arrow key input.
Recently, I've reignited my ambitions for portable platforms and joined a hacker collective working on a Beepy derivative device - a QWERTY PDA-like Pi Zero-based pocket Linux terminal. The community is crying out for a low-frills graphical UI, and ZPUI could be the solution. My goal with ZPUI is making your Linux devices accessible and user-friendly, no matter if you're building a home automation panel, an OpenWRT-powered pocket router, or a powerful Meshtastic node.
You'll only need a small 128x64 OLED screen and a few buttons to get started. I've even designed a businesscard form-factor Pi shield that fits on any Pi and even works over QWIIC if you prefer. Install ZPUI, plug in the board, and enjoy a new level of control over your Linux projects.
ZPUI handles most basic tasks for you - from displaying network info and connecting to WiFi networks to unmounting partitions and listing USB devices. It will even let you input console commands through arrow keys in a pinch. With an eye on the future, I'm developing mechanisms to make third-party app designs easier. Help me bring ZPUI up to speed with modern software realities and join me in making your projects more manageable!
With ZPUI (Zippy UI), a small and affordable embedded UI for Linux devices, you can bypass the hassle of accessing a Raspberry Pi or other SBCs through traditional methods. The interface, called pyLCI (Linux Control Interface), requires minimal hardware – just a small I2C screen and a few buttons. This solution helps you manage your boards directly, eliminating the need for a keyboard, monitor, or UART connection. No more frustrations with formatting WiFi credentials or finding IP addresses – ZPUI lets you see and manage this information with ease. Whether you're tinkering with smart-home devices, gadgets, or even building a home automation panel, ZPUI is designed to make your technology projects more accessible and user-friendly.