https://github.com/ImpulseAdventure/GUIslice
GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
https://github.com/ImpulseAdventure/GUIslice
adafruit-gfx arduino arduino-library c embedded esp32 esp8266 feather gui linux m5stack mcufriend pi platformio raspberry-pi sdl teensy tft tft-espi touchscreen
Last synced: about 2 months ago
JSON representation
GUIslice drag & drop embedded GUI in C for touchscreen TFT on Arduino, Raspberry Pi, ARM, ESP8266 / ESP32 / M5stack using Adafruit-GFX / TFT_eSPI / UTFT / SDL
- Host: GitHub
- URL: https://github.com/ImpulseAdventure/GUIslice
- Owner: ImpulseAdventure
- License: mit
- Created: 2016-09-27T15:55:00.000Z (over 8 years ago)
- Default Branch: master
- Last Pushed: 2025-03-09T00:06:10.000Z (3 months ago)
- Last Synced: 2025-04-07T21:01:40.778Z (about 2 months ago)
- Topics: adafruit-gfx, arduino, arduino-library, c, embedded, esp32, esp8266, feather, gui, linux, m5stack, mcufriend, pi, platformio, raspberry-pi, sdl, teensy, tft, tft-espi, touchscreen
- Language: C
- Homepage: https://www.impulseadventure.com/elec/guislice-gui.html
- Size: 34.8 MB
- Stars: 1,257
- Watchers: 49
- Forks: 219
- Open Issues: 46
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# GUIslice library #
[](https://travis-ci.org/ImpulseAdventure/GUIslice)
[](https://github.com/ImpulseAdventure/GUIslice/issues)

[](https://opensource.org/licenses/MIT)*A lightweight GUI framework for embedded displays*
Design your GUI with a **drag & drop builder**, then apply the same code to a wide range of displays, libraries and controllers with the **cross-platform framework**. Open source **MIT license** grants free commercial usage.


- Extensive [Documentation](https://github.com/ImpulseAdventure/GUIslice/wiki) guides available
- [GUIslice API documentation (online)](https://impulseadventure.github.io/GUIslice/modules.html) & [(PDF)](https://github.com/ImpulseAdventure/GUIslice/raw/master/docs/GUIslice_ref.pdf)
- Active development: see [latest updates & work in progress](https://github.com/ImpulseAdventure/GUIslice/issues/85)
- [Release history](https://github.com/ImpulseAdventure/GUIslice/releases)
- [Website (www.impulseadventure.com)](https://www.impulseadventure.com/elec/guislice-gui.html)
- **Support email**: [email protected]
- GUIslice by Calvin Hass and [GitHub contributors](https://github.com/ImpulseAdventure/GUIslice/graphs/contributors), Builder by Paul Conti## Features ##
- Pure C library, no dynamic memory allocation
- *Widgets*:
- text, images, buttons, checkboxes, radio buttons, sliders, custom keypads, listbox,
radial controls, scrolling textbox / terminal, graphs, etc. plus extensions and multiple pages.
- Cross-platform **GUIslice Builder** application to generate layouts
- *Platform-independent* GUI core currently supports:
- Adafruit-GFX, TFT_eSPI, mcufriend, UTFT, LCDGFX, SDL1.2, SDL2.0
- *Devices*:
- Raspberry Pi, Arduino, ATmega2560, ESP8266 / NodeMCU, ESP32, M5stack, Teensy 3 / T4, WIO Terminal, Feather M0 (Cortex-M0), nRF52 (Cortex-M4F), LINUX, Beaglebone Black, STM32, Due, etc.
- *Typical displays*:
- PiTFT, Adafruit TFT 3.5" / 2.8" / 2.4" / 2.2" / 1.44", FeatherWing TFT, OLED 0.96", mcufriend, BuyDisplay / EastRising 4.3" 5" 7", Waveshare, 4D Cape
- *Display drivers include*:
- ILI9341, ST7735, SSD1306, HX8347D, HX8357, PCD8544, RA8875, RA8876, ILI9225, ILI9341_t3, ILI9341_due
- *Touchscreen control including*:
- STMPE610, FT6206, FT5206, XPT2046, TSC2007, 4-wire, tslib, URTouch, Adafruit Seesaw
- *IDE Support*:
- GUIslice has been tested for use in the *Arduino IDE* and *Platform IO* environments, in addition to LINUX make
- Foreign characters / UTF-8 encoding (in SDL mode), anti-aliased fonts (in TFT_eSPI mode)
- Dynamic display rotation
- GPIO / pin / keyboard / Adafruit Seesaw navigation for non-touchscreen devices## Screenshots ##


## GUIslice Builder ##
- Includes cross-platform (Windows, LINUX and Mac) desktop application to generate GUIslice layouts
- Please refer to [GUIslice Builder wiki](https://github.com/ImpulseAdventure/GUIslice/wiki/GUIslice-Builder) for documentation## Disclaimer ##
The Software is not designed for use in devices or situations where there may be physical injury if the Software has errors.