Display Guide: Compare OLED, E-Paper and TFT Screens
A screen turns a project from blinking lights into something that tells you what it's doing: a sensor reading, a message from your phone, a to-do list. Every display here works with an ESP32. Pick from the quick list, or compare them all in the table.
Quick picks
- Your first screen: the yellow and blue 0.96" OLED. Four wires, lots of tutorials, and it's the screen in my ESP32 + OLED Video Kit.
- Readable in sunlight, or running for weeks on a battery: e-paper, the 2.13" or 2.9". The picture stays even when the power is off.
- Colour pictures: the round 1.28" TFT for dials and watch faces, or the 1.8" TFT for menus and images.
- As small as possible: a 0.91" OLED, or the ESP32-C3 with a 0.42" screen built onto the board.
- Bigger black-and-white readouts: the 1.3" OLED.
- Text only, for a class: the LCD1602 shows two lines of 16 characters. It needs 5V.
Compare every display
On a phone, swipe sideways to see every column.
| Display | Type | Size | Resolution | Colours | Connection | Power | Best for | Price |
|---|---|---|---|---|---|---|---|---|
Yellow and blue OLED 0.96" |
OLED | 0.96" | 128 × 64 | Yellow top band, blue below | I2C, 4 wires | 3.3–5V | Your first screen; status at the top, data below | $8.95 |
White OLED 0.96", black PCB |
OLED | 0.96" | 128 × 64 | White | I2C, 4 wires | 3.3–5V | Crisp text and icons | $8.45 |
Blue OLED 0.96", black PCB |
OLED | 0.96" | 128 × 64 | Blue | I2C, 4 wires | 3.3–5V | Crisp text and icons | $8.45 |
Yellow OLED 0.96", black PCB |
OLED | 0.96" | 128 × 64 | Yellow | I2C, 4 wires | 3.3–5V | Crisp text and icons | $8.45 |
White OLED 0.96", blue PCB |
OLED | 0.96" | 128 × 64 | White | I2C, 4 wires | 3.3–5V | Lowest-cost 0.96" screen | $7.99 |
Blue OLED 0.96", blue PCB |
OLED | 0.96" | 128 × 64 | Blue | I2C, 4 wires | 3.3–5V | Lowest-cost 0.96" screen | $7.99 |
Yellow OLED 0.91" |
OLED | 0.91" | 128 × 32 | Yellow | I2C, 4 wires | 3.3–5V | Slim strip of text in a tiny space | $8.95 |
White OLED 0.91" |
OLED | 0.91" | 128 × 32 | White | I2C, 4 wires | 3.3–5V | Slim strip of text in a tiny space | $7.95 |
Blue OLED 0.91" |
OLED | 0.91" | 128 × 32 | Blue | I2C, 4 wires | 3.3–5V | Slim strip of text in a tiny space | $7.95 |
OLED 1.3" SPI |
OLED (SH1106) | 1.3" | 128 × 64 | White or blue | SPI, 7 wires | 3–5V | Bigger readouts, readable from any angle | $9.58 |
Round TFT 1.28" |
Colour IPS LCD (GC9A01) | 1.28" round | 240 × 240 | Full colour | SPI | 3.3V | Watch faces, dials and gauges | $15.99 |
Colour TFT 1.8" with microSD |
Colour TFT (ST7735S) | 1.8" | 128 × 160 | Full colour | SPI, plus microSD slot | 3.3V or 5V | Pictures and colour menus | $14.89 |
E-paper 2.13", black/white/red |
E-paper | 2.13" | 250 × 122 | Black, white and red | SPI, wires included | 3.3V | Badges and labels; the image stays with the power off | $19.95 |
E-paper 2.9", black/white/red |
E-paper | 2.9" | 296 × 128 | Black, white and red | SPI, wires included | 3.3V | To-do lists, calendars, weather | $21.95 |
LCD1602 I2C, 16 × 2 |
Character LCD | 16 characters × 2 lines | Text only | White on blue, backlit | I2C, 4 wires | 5V needed | Simple text readouts and classroom projects | $12.99 |
OLED, e-paper, TFT or LCD?
- OLED: each pixel makes its own light, so blacks are true black and text is sharp. Fast enough for animation and live sensor data. Hard to read in direct sunlight.
- E-paper: reflects light like paper, so it's easy to read outdoors, and it uses no power to keep showing an image. A full refresh takes about two seconds, so it suits information that changes now and then, not animation.
- Colour TFT / IPS: full colour and pictures, with a backlight. Uses more power and more pins than an OLED.
- Character LCD: shows letters and numbers in fixed boxes. Simple, cheap and easy to code.
I2C or SPI?
- I2C uses two signal wires (SDA and SCL) plus power and ground. Easiest to wire, and several I2C parts can share the same two pins.
- SPI uses more wires but sends data faster, which matters for colour screens and e-paper.
Libraries to start with
- 0.96" and 0.91" OLEDs: Adafruit SSD1306 with Adafruit GFX, or U8g2.
- 1.3" OLED (SH1106): U8g2 or Adafruit SH110X.
- E-paper: GxEPD2.
- Colour TFTs: TFT_eSPI or LovyanGFX; the 1.8" also works with Adafruit ST7735.
- LCD1602: LiquidCrystal I2C.
Build along with a video
- ESP32 + OLED Video Kit: wire an OLED, show graphics, then send messages from your phone over WiFi.
- E-Paper To-Do List Video Kit: a to-do list on e-paper you update from your phone.
- Prefer to build it live with me? See the online workshops.
Questions people ask
My OLED listing says address 0x78, but my code uses 0x3C. Which is right?
Both: 0x78 is the same address written as 8 bits. In Arduino code use 0x3C (or 0x3D if you moved the resistor on the back).
Why is my OLED blank?
Check the pin order printed on the board. Some modules have VCC and GND swapped, so copy the labels, not a diagram. Then run an I2C scanner to confirm the address.
3.3V or 5V?
The OLEDs work on either. The round TFT and the e-paper screens are 3.3V parts, which suits an ESP32. The LCD1602 needs 5V to show text reliably.
Which board should I use?
Any ESP32 works; the Microcontroller Guide compares them. For a screen that shows sensor readings, see the Sensor Guide.
Where can I buy OLED and e-paper displays in Canada?
Right here: every order is packed by hand in Nova Scotia and ships across Canada and to the US. See shipping rates, or browse all Displays.
Yellow and blue OLED 0.96"
White OLED 0.96", black PCB
Blue OLED 0.96", black PCB
Yellow OLED 0.96", black PCB
White OLED 0.96", blue PCB
Blue OLED 0.96", blue PCB
Yellow OLED 0.91"
White OLED 0.91"
Blue OLED 0.91"
OLED 1.3" SPI
Round TFT 1.28"
Colour TFT 1.8" with microSD
E-paper 2.13", black/white/red
E-paper 2.9", black/white/red
LCD1602 I2C, 16 × 2