Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. MicroPython
  3. st7789py_mpy

st7789py_mpy

MITPython

A MicroPython driver for ST7789 and compatible LCD displays, supporting multiple resolutions and hardware features.

GitHubGitHub
247 stars69 forks0 contributors

What is st7789py_mpy?

st7789py_mpy is a MicroPython driver library for ST7789 and compatible LCD displays, providing an interface to control small screens on microcontrollers. It solves the problem of displaying graphics and text on embedded systems by offering hardware-accelerated features and support for multiple display resolutions. The driver includes font rendering, bitmap drawing, and display rotation capabilities.

Target Audience

Embedded developers and hobbyists working with MicroPython on ESP32, RP2040, or similar microcontrollers who need to interface with ST7789-based LCD displays. It's particularly useful for those building handheld devices, IoT dashboards, or custom embedded interfaces.

Value Proposition

Developers choose this driver because it's specifically optimized for MicroPython, supports a wide range of display resolutions and hardware platforms, and includes hardware-accelerated scrolling. Unlike generic display libraries, it's tailored for the ST7789 controller and compatible chips with tested examples for popular development boards.

Overview

Driver for 320x240, 240x240, 135x240 and 128x128 ST7789 displays written in MicroPython

Use Cases

Best For

  • Adding display interfaces to ESP32-based IoT projects
  • Building handheld gaming devices with RP2040 microcontrollers
  • Creating embedded dashboards for sensor data visualization
  • Developing custom user interfaces for microcontroller projects
  • Prototyping wearable devices with small LCD screens
  • Educational projects teaching embedded graphics with MicroPython

Not Ideal For

  • Projects using Arduino or CircuitPython where platform-specific display drivers are better integrated
  • Applications requiring a full graphical user interface with pre-built widgets and event handling
  • Teams prioritizing extensive documentation and stable releases over work-in-progress features

Pros & Cons

Pros

Wide Hardware Compatibility

Supports multiple display resolutions and popular boards like ESP32 and RP2040, with tested examples for LilyGo, M5STACK, and Waveshare devices as listed in the README.

Hardware-Accelerated Scrolling

Leverages the ST7789 controller's built-in scrolling for smooth animations, reducing CPU overhead on resource-constrained microcontrollers.

Flexible Font Rendering

Allows text drawing with converted PC BIOS bitmap fonts or TrueType fonts, offering versatility for different typography needs in embedded projects.

Efficient for Embedded Use

Designed as a lightweight driver that leverages display hardware features, making it suitable for memory-constrained environments like IoT devices.

Cons

Incomplete Documentation

The README states it's a work in progress, and documentation may be scattered or lacking, which can hinder setup and troubleshooting for new users.

Limited Display Controller Support

Only compatible with ST7789 and a few similar chips, so it's not suitable for projects using other display technologies like OLED or e-ink screens.

Manual Asset Conversion Required

Fonts and bitmaps must be converted before use, adding an extra step compared to libraries with built-in assets or more streamlined workflows.

Frequently Asked Questions

Quick Stats

Stars247
Forks69
Contributors0
Open Issues13
Last commit1 year ago
CreatedSince 2020

Tags

#embedded-systems#micropython#esp32#driver#hardware-interface#display-driver#lcd-driver#embedded-graphics#rp2040#truetype#st7789#bitmap-fonts

Built With

M
MicroPython

Included in

MicroPython1.8k
Auto-fetched 4 hours ago

Related Projects

st7789_mpyst7789_mpy

Fast MicroPython driver for ST7789 display module written in C

Stars717
Forks136
Last commit3 months ago
micropython-ili9341micropython-ili9341

MicroPython ILI9341Display & XPT2046 Touch Screen Driver

Stars300
Forks58
Last commit1 year ago
MicroPython-ST7735MicroPython-ST7735

ST7735 TFT LCD driver for MicroPython

Stars273
Forks68
Last commit3 years ago
st7789_mpyst7789_mpy

Fast pure-C driver for MicroPython that can handle display modules on ST7789 chip

Stars229
Forks46
Last commit2 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub