Display examples using Moddable SDK

This page contains videos showing the Moddable SDK display animations on a variety of different displays. The applications are written in JavaScript using the Piu user interface framework with graphics rendered by Poco. Piu, Poco, and the display drivers work together to deliver high quality, optimized rendering on low-cost microcontrollers.

The drivers for all displays shown are included in the Moddable SDK. The documentation and wiring has been tested on the ESP8266 and ESP32. The examples and drivers are platform independent and will run on any microcontroller the Moddable SDK is ported to.

The displays and controllers shown here may be obtained from ever-changing sources. Links are provided to sources current at the time of this writing.

Note: It is surprisingly difficult to create high quality video recordings of these displays. The color, crispness, and frame rates of these videos are our best recording efforts. To truly see the display quality, these displays should be viewed in person.

QVGA LCD

These unbranded 240 x 320 SPI displays are readily available from eBay and other sources. They come in both 2.4" and 2.8" sizes. The ILI9341 display controller operates at 16 bits per pixel. Intended for use with older mobile phones, they include a resistive touch panel using the XPT2046 touch controller, also operating over SPI. The application running is piu/cards. A wiring guide and driver documentation are available.

2.4" QVGA color LCD - ESP32

This is the same 2.4" QVGA Color LCD shown above, but connected to a faster ESP32 microcontroller instead of the ESP8266. The native orientation of the display is portrait, but this example runs in landscape mode using the zero-performance cost rotation feature of Piu and Poco. The application running is piu/neon-lights. A wiring guide and driver documentation are available.


Square Color OLED

This 1.5", 128 × 128 OLED display uses the SSD1351 display controller which drives 16-bit pixels over SPI. The display and controller are available as a breakout board from Adafruit. The application running is piu/countdown. A wiring guide and driver documentation are available.

Small monochrome OLED

This screen is just 128 x 32 with black and white pixels. It uses the SSD1306 display controller, which supports displays of several different heights. Communication in this example uses SPI, with I2C also supported. The driver supports both dithered and non-dithered output. This example uses a breakout board from Sparkfun. The application running is piu/balls. A wiring guide and driver documentation are available.


Square memory display

This 1.3", 96 x 96 black and white memory display uses the Sharp LS013B4DN04 display controller. The display communicates using SPI. In this example, it is connected to a Thunderboard Sense from Silicon Labs. This example uses a discontinued breakout board from Adafruit, but a similar replacement is available. A wiring guide and driver documentation are available.

2.7" memory display

The 2.7" 400 x 240 memory display is a larger version of 1.3" square memory display. It uses the same Sharp LS013B4DN04 display controller. The application running is piu/balls. A wiring guide and driver documentation are available.


Generic 1.44"

This unbranded 1.44" 128 x 128 square LCD uses the ILI9163C display controller operating at 16-bits per pixel. These displays are readily available from eBay and other sources. The application running is piu/love-js. A wiring guide and driver documentation are available.

Monochrome ePaper

This 2.9" 128 x 296 ePaper display uses a chip-on-glass display controller which communicates over SPI. The display uses a DESTM32S adaptor board. The display and adaptor are available from CrystalFontz. The application running is piu/love-e-ink, which uses incremental drawing to avoid the need for flashing full screen refreshes. A wiring guide and driver documentation are available.


1.8" QQVGA LCD

This 128 × 160 LCD uses the ST7735 video driver at 16-bits per pixel. A breakout board combining the LCD and display controller is available from Adafruit. The application running is piu/balls. A wiring guide and driver documentation are available.

2.8" QVGA color TFT

This 2.8" QVGA display use the same ILI9341 display controller as the 2.4" QVGA display above. The higher quality display includes a capacitive touch panel using the FT6202 touch sensor. The breakout board is available from BuyDisplay. The application running is piu/map-puzzle. A wiring guide and driver documentation are available.


DotStar

The Dotstart technology is not strictly a display, but rather a strand of color LEDs. The Moddable SDK views the Dotstar strand of color LEDs as a single row of pixels, and consequently is able to control Dotstar lights using a video driver. Dotstar lights, adapters, and power supplies are available from Adafruit. The application running here animates through the rows of an image. A wiring guide and driver documentation are available.

Square color reflective LCD

This 1.28", 176 × 176 LCD display has no backlight, and uses the LPM013M126A specification over SPI. The pixels are 3-bits, one bit each of red, green, and blue. The display and controller are available as a breakout board from Switch Science. The application running is piu/balls. A wiring guide and driver documentation are available.