/alchemy_gui

Primary LanguageCMIT LicenseMIT

GUIslice library

Build Status GitHub Issues Contributions welcome License

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.

Example 1 Example 5 GUIslice Builder

Features

  • Pure C library, no dynamic memory allocation
  • Widgets:
    • text, images, buttons, checkboxes, radio buttons, sliders, keypad, 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, SDL1.2, SDL2.0
  • Devices:
    • Raspberry Pi, Arduino, ATmega2560, ESP8266 / NodeMCU, ESP32, M5stack, Teensy 3, 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, ILI9341_t3, ILI9341_due
  • Touchscreen control including:
    • STMPE610, FT6206, FT5206, XPT2046, 4-wire, tslib, URTouch, Adafruit Seesaw
  • 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

Screenshots

Example 3 Example 4 snap07_c

GUIslice Builder

  • Includes cross-platform (Windows, LINUX and Mac) desktop application to generate GUIslice layouts
  • Please refer to GUIslice Builder wiki for documentation