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 guides available
- GUIslice API documentation (online) & (PDF)
- Active development: see latest updates & work in progress
- Release history
- Website (www.impulseadventure.com)
- Support email: [email protected]
- GUIslice by Calvin Hass and GitHub contributors, Builder by Paul Conti
- 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, 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, 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 control for non-touchscreen devices
- Includes cross-platform (Windows, LINUX and Mac) desktop application to generate GUIslice layouts
- Please refer to GUIslice Builder wiki for documentation
The Software is not designed for use in devices or situations where there may be physical injury if the Software has errors.