Skip to content

A small Circuitpython library to use Waveshare 2.13 inch ePaper display with Raspberry Pico W

License

Notifications You must be signed in to change notification settings

tomduud/CircuitPython_EPD_2in13_B

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Introduction

This is a simple Circuitpython library to use Waveshare 2.13 inch ePaper display with Raspberry Pico W. This uses adafruit_framebuf framebuffer library so you can use any of its drawing methods. This is a just simple conversion from Waveshare Micropython code to work with Circuitpython.

More information about the ePaper module this works with:

Dependencies

This library depends on:

Install

To use with Circuitpython Copy epd_2in13_b.py or epd_2in13_b.mpy into lib folder of CIRCUITPY drive.

Make sure you have also this library on your lib directory:

and

Usage Example

This uses adafruit_framebuf framebuffer library. Please see more information about 'adafruit_framebuf' library drawing methods: https://docs.circuitpython.org/projects/framebuf/en/latest/ and https://github.com/adafruit/Adafruit_CircuitPython_framebuf

from epd_2in13_b import EPD_2in13_B

try:
    #initialise class with rotation:  rotation = 0 portrait, 1= landscape, 
    # 2 portrait upside down, 3= landscape upside down
    epd = EPD_2in13_B(1)
    #clear class
    epd.Clear(0x00, 0x00)
    # Clear black framebuffer
    epd.framebuffer_black.fill(0x00)
    # Clear red framebuffer
    epd.framebuffer_red.fill(0x00)
    # Write text to black framebuffer
    epd.framebuffer_black.text('Black text in 0,0 position.', 0, 0, 0xff)
    # Write text red framebuffer
    epd.framebuffer_red.text('Red text', 20, 20, 0xff)
    # Draw red circle on coordinate 50,50 with 20 radius
    epd.framebuffer_red.circle(45, 50, 20, 0xff)
    # Draw everything to display, this will take around 15 sec per layer
    epd.display()
    # put the display on the sleep mode
    epd.sleep();

except KeyboardInterrupt:
    print ("exception")

Another example with rotated red frame buffer layer

from epd_2in13_b import EPD_2in13_B

try:
    #initialise class with rotation:  rotation = 0 portrait, 1= landscape, 
    # 2 portrait upside down, 3= landscape upside down
    epd = EPD_2in13_B(1)
    #clear class
    epd.Clear(0x00, 0x00)
    # Clear black framebuffer
    epd.framebuffer_black.fill(0x00)
    # Clear red framebuffer
    epd.framebuffer_red.fill(0x00)
    # Write text to black framebuffer
    epd.framebuffer_black.text('Black text in 0,0 position.', 0, 0, 0xff)
    # Write text red framebuffer

    # Change red framebuffer rotation to upside down
    epd.framebuffer_red.rotation = 3
    # draw text now upside down..
    epd.framebuffer_red.text('red text in 0,0 position.', 0, 8, 0xff)

    # Draw everything to display, this will take around 15 sec per layer
    epd.display()
    # put the display on the sleep mode
    epd.sleep();

except KeyboardInterrupt:
    print ("exception")

About

A small Circuitpython library to use Waveshare 2.13 inch ePaper display with Raspberry Pico W

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Contributors 2

  •  
  •  

Languages

pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy