Additional Displays

Spring 2019

You are not logged in.

If you are a current student, please Log In for full access to the web site.
Note that this link will take you to an external site ( to authenticate, and then you will be redirected back to this page.

1) Overview

The ESP32 can work with a variety of other displays in addition to our standard monochrome OLED. If you need a smaller display, we have extra 0.96" models of the OLED that work very similarly to our current model. If you need a bigger display or if color is an important aspect of your final projec design, there are a large variety of TFT (Thin Film Transistor) based displays which can be had for extremely cheaply in world. A few examples that use the ST7735 chipset are (links below for reference, I get the displays from Ebay dealers):

Larger displays can be had with touch screens and which generally use the ILI9341 chipset:

In terms of controlling these two types of displays they all use SPI (which enables very fast renders at above video rate), but the library makes the difference in terms of functionality. I've found that for the ESP32, the TFT_eSPI library works really well and is very flexible. If you download the entire library, and place into your Documents/Arduino/libraries folder, and then modify the User_Setup.h file to match the appropriate resolution and display driver type (feel free to ask for help on piazza), the boards will work right away. For pinout I've used slightly modified version of pins that we used with our OLED before:

  • MISO: 19
  • MOSI: 23
  • SCLK: 18
  • DC: 2
  • RST: 4
  • CS: 5

Note that depending on your setup and what you're simultaneously using, this might be incompatible with other stuff and you may need to modify your pins, which should not be too bad!

Keep in mind that TFT displays rely on subtractive color generation meaning that they have a large white backlight which is always on and color is generated by blocking out certain wave-lengths. This in itself is more wasteful in terms of energy. In addition the technology behind these screen types is

OLEDs are a more advanced display technology since their color is additive. In our 1.3" Blue OLEDs that we've used in 6.08, the more pixels you use the more energy the device consumes. If you want a "black" pixel, you just don't turn it on, while in a TFT, if you want black you need to block out all wavelengths of backlit white light which is actually a bit hard to do. (This is actually the reason people say you get "deeper blacks" in modern OLED is easier to generate black by not generating any color in the first place rather than generating white and then blocking it) If you'd like to get the benefit of full-color in the more energy efficient package there are full-color OLED displays, though you'll see for a given size they are far more expensive:

There are very solid libraries for both of these as well which we can discuss if you're interested. Hookup for these OLEDs can be near-identical to our current monochromatic OLEDs and the libraries are super easy to use, but somewhat different in syntax since everything now needs a color and brightness specified rather than just the ON/OFF of our SSH1106 OLEDs in class.

This page was last updated on Friday April 12, 2019 at 07:53:07 AM (revision a4e5397).
Course Site powered by CAT-SOOP 14.0.4.dev5.
CAT-SOOP is free/libre software, available under the terms
of the GNU Affero General Public License, version 3.
(Download Source Code)
CSS/stryling from the Outboxcraft library Beauter, licensed under MIT
Copyright 2017