====== GUI options for embedded design: specifics ====== Specific ideas for interfaces built around the Arduino Uno. Unless otherwise noted, all of the following require one of the following: * tactile switches * likely interfaced with [[https://github.com/RobTillaart/Arduino/tree/master/libraries/PCF8574 | PCF8574]] (about [[https://www.digikey.com/product-detail/en/texas-instruments/PCF8574N/296-13109-5-ND/484957 | $1.59]]) * Digi-Key [[https://www.digikey.com/products/en/switches/tactile-switches/197?k=&pkeyword=&pv545=23&FV=1140050%2Cffe000c5&mnonly=0&ColumnSort=0&page=1&nstock=1&quantity=0&ptm=0&fid=0&pageSize=25 | tact switches]] that take caps. * Digi-Key tact switch [[https://www.digikey.com/products/en/switches/accessories-caps/210?FV=1880003%2C188003f%2C1880042%2C3a8002c%2C8400010%2Cffe000d2&mnonly=0&ColumnSort=0&page=1&stock=0&pbfree=0&rohs=0&cad=0&datasheet=0&nstock=1&photo=0&nonrohs=0&newproducts=0&quantity=0&ptm=0&fid=0&pageSize=25 | caps]] (non-illuminated; some Eswitch options seem to be missing). * [[https://www.digikey.com/product-detail/en/e-switch/TAGCHR/EG1099-ND/101352 | This]] cap and these switches: [[https://www.digikey.com/product-detail/en/e-switch/320.03E11BLK/EG4366-ND/1144791 | 320]], [[https://www.digikey.com/product-detail/en/e-switch/JN2UOANAGX/EG4368-ND/1144793 | JN]] * capacitive switches using an [[https://www.digikey.com/products/en/integrated-circuits-ics/interface-sensor-capacitive-touch/560?k=&pkeyword=&pv16=6548&pv16=6511&pv16=6514&FV=ffe00230&mnonly=0&ColumnSort=0&page=1&nstock=1&quantity=0&ptm=0&fid=0&pageSize=25 | IC]]. * [[http://www.ikea.com/us/en/catalog/products/90338417/#/90338422 | These]] as buttons. ===== Small OLEDs ===== * TODO ===== Small 1.8" or 1.44" TFT ===== * \$5.50 + switches * //Very// small * Based on ST7735 * 1.8" 160x128 * eBay's [[https://www.ebay.com/usr/alice1101983?_trksid=p2047675.l2559 | alice1101983]]: [[https://www.ebay.com/itm/2pcs1-8-inch-TFT-LCD-Display-module-ST7735S-128x160-51-AVR-STM32-ARM-8-16-bit-/201544321527?hash=item2eecfa49f7 | Q=2@$11.35]], [[https://www.ebay.com/itm/1-8-inch-1-8-TFT-LCD-Display-module-ST7735S-128x160-51-AVR-STM32-ARM-8-16-bit-/201502815657?hash=item2eea80f5a9 | Q=1@$6.64]], a [[https://www.ebay.com/itm/1-8-Inch-Mini-Serial-SPI-TFT-LCD-Module-Display-PCB-Adapter-ST7735B-IC-/401010353521?hash=item5d5e146571 | variant@$8.21]] * About \$5 to \$7 from other China on eBay ([[https://www.ebay.com/itm/1-8-inch-TFT-LCD-ST7735S-Display-Module128x160-51-AVR-STM32-AR-M-8-16-bit-M5/252360514212?hash=item3ac1dbdaa4:g:lOYAAOSwAoRXFY7g | 1]], [[https://www.ebay.com/itm/1-8-TFT-LCD-Display-Module-SPI-ST7735S-with-PCB-51-AVR-STM32-ARM-8-16-bit-inm/182946803473?hash=item2a987aaf11:g:lfgAAOSwBRFaJnHe | 2]]). * About $10 from USA on eBay ([[https://www.ebay.com/itm/1-8-inch-1-8-TFT-LCD-Display-module-ST7735S-128x160-QVGA-Arduino-128-160/322573886048?hash=item4b1ae6e260:g:9ZUAAOSw3h1ZQyJJ | 1]]). * [[http://www.buydisplay.com/default/tft-display/1-77-1-8-inch | East Rising]] has ILI9163-based versions around \$6+, possibly with optional touch. * [[https://www.adafruit.com/product/358 | Adafruit's version]] is around \$20!! * 1.44" 128x128 can be had for about $3 from China. * [[arduino:displays_for_classic_arduinos:1.8_and_1.44_tft_displays_and_classic_arduinos|Current tests]] suggest it's too data-intensive for realtime use for the Uno. :-( ===== Character LCD ===== * \$6 to \$12 + switches * Bezel makes things potentially ugly. * Using I2C (PCF8574 or MCP2008) with [[https://github.com/gregington/BigCrystal | Arduino BigCrystal]] or [[https://github.com/gregington/BigCrystalTWI | Arduino BigCrystalTWI]]. * Converter [[https://www.ebay.com/itm/IIC-I2C-TWI-SP-I-Serial-Interface-Board-Module-Arduino-1602-2004-LCD-Display-/310565362720?hash=item484f235c20 | module]] for ~\$1. * Easy s/w design. * alice1101983 [[https://www.ebay.com/itm/2004-204-20x4-Character-LCD-Display-Module-HD44780-Controller-Blue-Blacklight-/401086753914?hash=item5d62a22c7a | blue]]: \$3.92 (\$19.84 for 5), [[https://www.ebay.com/itm/2004-204-20x4-Character-LCD-Display-Module-2004-LCD-Yellow-Green-Blacklight-/201502803064?hash=item2eea80c478 | yellow-green]]: \$4.26; + \$1.85 shipping * East Rising [[http://www.buydisplay.com/default/3-3v-5v-20x4-character-lcd-display-module-black-on-white-high-contrast | ERM2004FS-1]] 20x4 black on white FSTN parallel: $10.30 * East Rising [[http://www.buydisplay.com/default/3-3v-5v-20x4-character-lcd-display-module-white-on-black-high-contrast | ERM2004DNS-1 ]] 20x4 white on black FFSTN parallel: $11.68 ===== LED matrix ===== * \$10 (or ~\$2/character) + switches * Potential s/w complexity. * Limited number of characters and flexibility. * Really begs for capacitive switches. * alice1101983 MAX7219-based [[https://www.ebay.com/itm/MAX7219-Dot-led-matrix-module-MCU-control-LED-Display-module-Arduino-/400373209766?hash=item5d381a5aa6 | single@$3.52]], [[https://www.ebay.com/itm/2PCS-MAX7219-Dot-led-matrix-module-MCU-control-LED-Display-module-Arduino-/401088504029?hash=item5d62bce0dd | Q=2@$5.20]], [[https://www.ebay.com/itm/5PCS-MAX7219-Dot-led-matrix-module-MCU-control-LED-Display-module-Arduino-/401088498175?hash=item5d62bcc9ff | Q=5@$10.07]], [[https://www.ebay.com/itm/10PCS-MAX7219-Dot-led-matrix-module-MCU-control-LED-Display-module-Arduino-/201541900749?hash=item2eecd559cd | Q=10@$18.27]] ===== Graphic LCD ===== ==== Nokia 5110 ==== * Around \$2 to \$3 from China (plus shipping). * About 1.33" diagonal size. * [[https://learn.sparkfun.com/tutorials/graphic-lcd-hookup-guide | SparkFun's page]] has good info. * The actual LCD parts are surplus/pulls from phones. * [[arduino:displays_for_classic_arduinos:nokia_5110_displays_and_classic_arduinos|my experience]] with one of these points to potential reliability issues. :-( ==== 128x64 ==== * \$12 (less in quantity or if you want to slum it with STN from China) + switches * Bezel makes things potentially ugly. * Dated? * Example cheap STN [[https://www.ebay.com/itm/ST7920-128x64-12864-LCD-Display-Blue-Backlight-Parallel-Serial-for-Arduino-5V/222649153116?epid=847138786&hash=item33d6ec765c:g:kgoAAOSwdjNZDZel | from China]], 128x64 ST7920: \$4.90 + \$1.99 * Same but [[https://www.ebay.com/itm/128x64-Graphic-Blue-LCD-Display-Module-12864-B-Backlight-For-Arduino-Compatible/331179879317?epid=1231496812&hash=item4d1bdbeb95:g:964AAOxyUylTUByW | from USA]]: \$10.99 * East Rising FSTN [[http://www.buydisplay.com/default/3-3v-5v-graphic-display-128x64-serial-lcd-display-st7920 | ERM12864FS-6]], 2.9" 128x64 SPI ST7920 black on white: \$8.41 + \$4.05 * East Rising STN [[https://www.ebay.com/itm/12864-128x64-Blue-Graphic-LCD-Module-Display-ST7920-Controller-Serial-Interface/301023894197?hash=item46166c1ab5:g:EewAAOxydB1SjxRQ | ERM12864SBS-6]] 2.9" 128x64 SPI ST7920 white on blue: \$11.56 * East Rising [[http://www.buydisplay.com/default/2-8-inch-128x64-graphic-module-serial-display-spi-lcd-w-optl-touch-screen | ERC12864FS-655]], 2.8" 128x64 SPI ST7920 black on white w/ opt. touchscreen: \$6.26 + \$4.05 * **Lots of 128x64 OLED options** as well, e.g.[[https://www.ebay.com/itm/2-42-inch-White-OLED-Display-SSD1309-128x64-SPI-Serial-Port-Module-Arduino-/311997461565?hash=item48a47f743d | this 2.42" ]] SPI for \$19.77 + \$1.85 or [[https://www.ebay.com/itm/SPI-IIC-2-42-inch-OLED-Display-SSD1309-128x64-Serial-Port-White-For-Arduino-C51/172969915180?hash=item2845cf732c:g:~VoAAOSwfjRaOj33 | this]] for \$19.75 or [[https://www.ebay.com/itm/Blue-128x64-2-4-inch-OLED-Display-Module-w-Breakout-Board-Tutorial-Arduino-/302038886969?hash=item4652ebaa39 | this]] for \$26.95. ===== Nextion ===== * \$16 + shipping and up * Tact switches possibly not required --- but only the enhanced 7" has capacitive touch. * Lots of graphic image generation time needed ("style by image," not "style by text"). * [[https://www.itead.cc/nextion-nx3224t024.html | 2.4" basic]] 320x240: \$16.40 * [[https://www.itead.cc/nextion-nx3224k024.html| 2.4" enhanced]] 320x240: \$20.40 * [[https://www.itead.cc/nextion-nx3224t028-1932.html | 2.8" basic]] 320x240: \$18.40 * [[https://www.itead.cc/nextion-nx3224k028.html | 2.8" enhanced]] 320x240: \$22.40 * [[https://www.itead.cc/nextion-nx4024t032.html | 3.2" basic]] 400x240: \$22.40 * [[https://www.itead.cc/nextion-nx4832t035.html | 3.5" basic]] 480x320: \$27.40 * [[https://www.itead.cc/nextion-nx4827t043.html | 4.3" basic]] 480x272: \$44.90 ===== ePaper ===== * $19 + shipping + switches * [[https://e-ink-reader.ru/eink_degradation_en.php | Lifetime issues]] * Waveshare [[https://www.waveshare.com/2.9inch-e-Paper-Module.htm | 2.9" module]], 296x128 SPI: \$18.99 + shipping ===== Larger color LCD ===== * The UNO is probably too slow for anything larger than 200x200 pixels.