ImpulseAdventure/GUIslice
FreeGUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
About ImpulseAdventure/GUIslice
GUIslice is a lightweight GUI framework for embedded displays, written in pure C. It allows developers to design user interfaces using a drag-and-drop builder and then apply the same code across a wide range of displays, libraries, and controllers. The framework is cross-platform, supporting popular display libraries such as Adafruit-GFX, TFT_eSPI, mcufriend, UTFT, LCDGFX, SDL1.2, and SDL2.0. It runs on devices including Raspberry Pi, Arduino (ATmega2560), ESP8266/NodeMCU, ESP32, M5stack, Teensy 3/4, WIO Terminal, Feather M0, nRF52, Linux, Beaglebone Black, STM32, and Due. GUIslice is open source under the MIT license, allowing free commercial use. It includes a variety of widgets (text, images, buttons, checkboxes, radio buttons, sliders, custom keypads, listbox, radial controls, scrolling textbox/terminal, graphs, etc.) and supports multiple pages, touchscreen control, GPIO/keyboard navigation, dynamic display rotation, and foreign character encoding. The project provides extensive documentation and API guides, and is actively developed.
Key Features
Pros & Cons
- Open source (MIT license) allows free commercial usage
- Drag-and-drop builder simplifies GUI layout design and reduces manual coding
- Cross-platform support across many microcontrollers, single-board computers, and display libraries
- Pure C library with no dynamic memory allocation is suitable for resource-constrained embedded systems
- Extensive documentation and API guides available online and in PDF
- Active development with regular releases and community contributions
- Limited to embedded display environments and not intended for general-purpose desktop or mobile GUI
- Requires familiarity with C programming and embedded hardware concepts
- Some advanced widgets may be touchscreen-oriented, limiting non-touch navigation options