====== GUI Options for Embedded Design ====== ===== Arduino-based ===== Portability to [[http://espressif.com/ | ESP8266/ESP32]], [[https://www.pjrc.com/teensy/ | Teensy]], and similar devices is a huge plus. ==== Software ==== === Drivers === == Character LCD == * [[https://www.arduino.cc/en/Reference/LiquidCrystal | Arduino Liquid Crystal]] * [[https://github.com/gregington/BigCrystal | Arduino BigCrystal]]: big characters, serial and PFC8574 I2C input * [[https://github.com/gregington/BigCrystalTWI | Arduino BigCrystalTWI]]: big characters, MCP2008 I2C input == Monochrome graphics == * [[https://github.com/olikraus/u8g2/wiki | u8g2 ]]: monochrome graphics library * [[https://github.com/olikraus/u8glib/wiki | u8glib ]]: monochrome graphics library * [[https://bitbucket.org/bperrybap/openglcd/wiki/Home | openGLCD]]: GPL, appears to be monochrome only * [[http://www.rinkydinkelectronics.com/library.php?id=49 | MGLCD]]: character LCDs * [[http://www.rinkydinkelectronics.com/library.php?id=77 | LEDmatrix7219]]: 8x8 LED matrix * [[http://www.rinkydinkelectronics.com/library.php?id=79 | OLED_I2C]]: 128x64 OLED displays based on SSD1306 == Color == * [[https://github.com/adafruit/Adafruit-GFX-Library/ | Adafruit GFX Library]] * [[https://www.arduino.cc/en/Reference/TFTLibrary | Arduino TFT]]: extends the Adafruit GFX, and Adafruit ST7735 libraries * [[https://github.com/Bodmer/TFT_ST7735 | TFT_ST7735]]: Arduino graphics library for ST7735 displays with propotional fonts * [[http://www.rinkydinkelectronics.com/library.php?id=51 | UTFT]] * [[https://github.com/itead/ITEADLIB_Arduino_Nextion/ | Nextion for Arduino]]: Integrated driver uC and touch == Misc == * [[https://github.com/RobTillaart/Arduino/tree/master/libraries/PCF8574 | Arduino PCF8574]] : bidirectional I2C to parallel === Design s/w === * [[http://en.radzio.dxp.pl/bitmap_converter/ | LCD Assistant]] * [[https://xantorohara.github.io/led-matrix-editor/]] === Tutorials === * [[http://howtomechatronics.com/tutorials/arduino/8x8-led-matrix-max7219-tutorial-scrolling-text-android-control-via-bluetooth/]] ==== Hardware ==== === Display only === * Cheap 16x2 and similar character LCD * Cheap graphic LCD * TFT graphic LCD * OLED * ePaper === Display with input === * TFT capacitive touch * eg [[https://www.adafruit.com/product/1947]] * [[https://nextion.itead.cc/ | Nextion]] via iTead ==== Sources ==== * [[http://www.buydisplay.com/ | East Rising]]: Character LCD, graphic LCD, TFT (w and w/o touch), OLED, e-Paper. * [[https://www.waveshare.com/product/modules/oleds-lcds.htm | Waveshare]]: Particularly known for e-Paper, but also character LCD, graphic LCD, TFT (w and w/o touch), OLED. * [[https://www.adafruit.com | Adafruit]] : Comes at a premium, e.g. [[https://www.adafruit.com/product/1047 | 8x8 matrix]]. * [[http://www.luckylight.cn/product1.php?cid=10 | Luckylight]]: Wholesale only? * [[http://www.betlux.com/led-en/ | Betlux]]: Wholesale only? * [[https://www.sainsmart.com | SainSmart]] ===== RPi/BeagleBone-based ===== ==== Software ==== === Kivy === === HTML === * See [[hybrid_apps:alternative_architecture_for_hybrid_applications|An Alternative Architecture for Hybrid Applications]] and [[hybrid_apps:alternative_architecture_notes|Notes for Alternative Architectures for Hybrid Applications]]. * [[https://electronjs.org/|Electronjs]] and similar. === Qt === * Currently deprecated for my use due to licensing hassles. ==== Hardware ==== * For BeagleBone, 4.3" and 7" touchscreen capes are available. * For RPi, 7" is the canonical, 2.8" also appears to be available.