Cirkit Designer Logo
Cirkit Designer
Your all-in-one circuit design IDE
Home / 
Component Documentation

How to Use WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico: Examples, Pinouts, and Specs

Image of WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico
Cirkit Designer LogoDesign with WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in Cirkit Designer

Introduction

The WaveShare 2.13inch E-Ink Display (Pico-ePaper-2.13) is a low-power display module that utilizes E-Ink technology to deliver crisp and sharp visual output. This display is specifically designed for the Raspberry Pi Pico, making it an excellent choice for projects requiring static images or text. Its 2.13-inch screen size and energy-efficient design make it ideal for applications such as IoT dashboards, e-readers, and low-power information displays.

Explore Projects Built with WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Battery-Powered Raspberry Pi and ESP32-CAM Smart Display with 7-inch WaveShare Touchscreen
Image of diagram: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
This circuit integrates a Raspberry Pi 4b, a 7-inch WaveShare display, an ESP32-CAM, and a Li-ion battery. The Raspberry Pi is powered by the Li-ion battery and interfaces with the ESP32-CAM via GPIO pins for data communication, while the WaveShare display is also powered by the same battery to provide visual output.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi Pico Controlled ST7735S Display Module
Image of PICO_ST7735_TEST: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
This circuit connects a Raspberry Pi Pico microcontroller to a China ST7735S 160x128 pixel display. The Pico is configured to provide power (VCC and BL), grounding (GND), and control signals (CS, DC, RES) to the display, as well as SPI communication via SCL and SDA pins for data transfer. The purpose of this circuit is to enable the Raspberry Pi Pico to control and display graphics or text on the ST7735S LCD screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Raspberry Pi Pico W UV Monitoring System with OLED Display and RTC
Image of PCB_UV_METER: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
This circuit features a Raspberry Pi Pico W microcontroller interfaced with a 128x64 OLED display, an RTC module, and an ML8511 UV sensor. The microcontroller reads UV sensor data and can display information on the OLED screen while keeping track of time using the RTC module. Power and ground connections are shared among all components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Battery-Powered Raspberry Pi Zero with OLED Display and EmStat Pico for Portable Data Acquisition
Image of RPI Zero Prototype: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
This circuit is a portable system powered by a 3.7V LiPo battery, which is boosted to 5V using an Adafruit PowerBoost 1000C to power a Raspberry Pi Zero and an EmStat Pico. The Raspberry Pi Zero interfaces with an OLED display via I2C and a tactile switch for user input, while the EmStat Pico communicates with the Raspberry Pi over UART for data acquisition or control purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Explore Projects Built with WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico

Use Cirkit Designer to design, explore, and prototype these projects online. Some projects support real-time simulation. Click "Open Project" to start designing instantly!
Image of diagram: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
Battery-Powered Raspberry Pi and ESP32-CAM Smart Display with 7-inch WaveShare Touchscreen
This circuit integrates a Raspberry Pi 4b, a 7-inch WaveShare display, an ESP32-CAM, and a Li-ion battery. The Raspberry Pi is powered by the Li-ion battery and interfaces with the ESP32-CAM via GPIO pins for data communication, while the WaveShare display is also powered by the same battery to provide visual output.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of PICO_ST7735_TEST: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
Raspberry Pi Pico Controlled ST7735S Display Module
This circuit connects a Raspberry Pi Pico microcontroller to a China ST7735S 160x128 pixel display. The Pico is configured to provide power (VCC and BL), grounding (GND), and control signals (CS, DC, RES) to the display, as well as SPI communication via SCL and SDA pins for data transfer. The purpose of this circuit is to enable the Raspberry Pi Pico to control and display graphics or text on the ST7735S LCD screen.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of PCB_UV_METER: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
Raspberry Pi Pico W UV Monitoring System with OLED Display and RTC
This circuit features a Raspberry Pi Pico W microcontroller interfaced with a 128x64 OLED display, an RTC module, and an ML8511 UV sensor. The microcontroller reads UV sensor data and can display information on the OLED screen while keeping track of time using the RTC module. Power and ground connections are shared among all components.
Cirkit Designer LogoOpen Project in Cirkit Designer
Image of RPI Zero Prototype: A project utilizing WaveShare 2.13inch E-Ink Display for Raspberry Pi Pico in a practical application
Battery-Powered Raspberry Pi Zero with OLED Display and EmStat Pico for Portable Data Acquisition
This circuit is a portable system powered by a 3.7V LiPo battery, which is boosted to 5V using an Adafruit PowerBoost 1000C to power a Raspberry Pi Zero and an EmStat Pico. The Raspberry Pi Zero interfaces with an OLED display via I2C and a tactile switch for user input, while the EmStat Pico communicates with the Raspberry Pi over UART for data acquisition or control purposes.
Cirkit Designer LogoOpen Project in Cirkit Designer

Common Applications

  • IoT devices and dashboards
  • Digital price tags
  • E-readers and portable displays
  • Low-power signage
  • Embedded systems requiring static or semi-static content

Technical Specifications

Below are the key technical details of the WaveShare 2.13inch E-Ink Display:

Specification Details
Manufacturer WaveShare
Part Number Pico-ePaper-2.13
Display Technology E-Ink (Electronic Paper Display)
Screen Size 2.13 inches
Resolution 250 × 122 pixels
Display Colors Black, White, and Red (Tri-color)
Interface SPI (Serial Peripheral Interface)
Operating Voltage 3.3V (compatible with Raspberry Pi Pico GPIO)
Power Consumption Ultra-low power (only consumes power during updates)
Refresh Time ~2 seconds (full refresh)
Dimensions 65mm × 30.2mm
Weight ~20g

Pin Configuration

The module connects to the Raspberry Pi Pico via GPIO pins. Below is the pin configuration:

Pin Name Description
1 VCC Power supply (3.3V)
2 GND Ground
3 DIN SPI data input (connect to Pico's SPI MOSI)
4 CLK SPI clock input (connect to Pico's SPI SCK)
5 CS Chip select (active low, connect to a GPIO pin)
6 DC Data/Command control pin (connect to a GPIO pin)
7 RST Reset pin (active low, connect to a GPIO pin)
8 BUSY Busy status output (indicates when the display is updating, connect to a GPIO)

Usage Instructions

Connecting the Display to Raspberry Pi Pico

  1. Wiring: Connect the display module to the Raspberry Pi Pico as per the pin configuration table:
    • Use jumper wires or a breadboard for prototyping.
    • Ensure the VCC and GND pins are correctly connected to the Pico's 3.3V and GND pins.
  2. Install Required Libraries:
    • Download and install the WaveShare E-Ink library for MicroPython from the official WaveShare GitHub repository.
    • Copy the library files to the Raspberry Pi Pico using a tool like Thonny IDE.
  3. Write and Upload Code:
    • Use the example code provided below to initialize and display content on the screen.

Example Code

The following MicroPython code demonstrates how to display text and an image on the WaveShare 2.13inch E-Ink Display:


Import necessary libraries for the E-Ink display

from machine import Pin, SPI import framebuf import epd2in13 # Import the WaveShare E-Ink library

Initialize SPI and GPIO pins for the display

spi = SPI(1, baudrate=2000000, polarity=0, phase=0) # SPI configuration cs = Pin(5, Pin.OUT) # Chip select pin dc = Pin(4, Pin.OUT) # Data/Command pin rst = Pin(3, Pin.OUT) # Reset pin busy = Pin(2, Pin.IN) # Busy pin

Initialize the E-Ink display

epd = epd2in13.EPD(spi, cs, dc, rst, busy) epd.init() # Initialize the display

Clear the display

epd.clear()

Create a frame buffer for drawing

buffer = bytearray(epd.width * epd.height // 8) fb = framebuf.FrameBuffer(buffer, epd.width, epd.height, framebuf.MONO_HLSB)

Draw text on the frame buffer

fb.fill(0) # Clear the frame buffer fb.text('Hello, E-Ink!', 10, 10, 1) # Display text at (10, 10)

Display the frame buffer on the E-Ink screen

epd.display_frame(buffer)

Put the display to sleep to save power

epd.sleep()


Important Considerations

  • Power Supply: Ensure the Raspberry Pi Pico is powered via USB or a stable 3.3V source.
  • Refresh Rate: The display has a refresh time of approximately 2 seconds. Avoid frequent updates to preserve the display's lifespan.
  • Static Content: E-Ink displays are best suited for static or semi-static content due to their slow refresh rate.
  • Library Compatibility: Use the official WaveShare library for optimal performance and compatibility.

Troubleshooting and FAQs

Common Issues

  1. Display Not Turning On:

    • Verify the wiring connections, especially the VCC and GND pins.
    • Ensure the Raspberry Pi Pico is powered and running the correct code.
  2. No Output on the Screen:

    • Check the SPI connections (DIN, CLK, CS, DC).
    • Ensure the epd2in13 library is correctly installed and imported.
  3. Busy Pin Stuck High:

    • The display may be in the middle of an update. Wait for the BUSY pin to go low before sending new commands.
  4. Text or Image Not Displaying Properly:

    • Ensure the frame buffer is correctly initialized and updated.
    • Verify the resolution of the image matches the display's resolution (250 × 122 pixels).

FAQs

Q: Can I use this display with other microcontrollers?
A: Yes, the display can be used with other microcontrollers that support SPI communication, but you may need to adapt the library or write your own driver.

Q: How do I display images?
A: Convert the image to a monochrome bitmap (250 × 122 pixels) and load it into the frame buffer. Use the epd.display_frame() function to display it.

Q: Is the display sunlight-readable?
A: Yes, E-Ink displays are highly readable in direct sunlight, making them ideal for outdoor applications.

Q: How do I reduce power consumption?
A: Put the display into sleep mode using the epd.sleep() function when not in use.