A MicroPython driver for ST7735 TFT LCD displays with text, graphics, and bitmap support.
MicroPython-ST7735 is a driver library that allows MicroPython programs to control ST7735-based TFT LCD displays. It provides functions for drawing graphics, displaying text, and showing bitmap images on small color screens commonly used in microcontroller projects. The library solves the problem of interfacing MicroPython devices with affordable ST7735 displays for embedded UI applications.
MicroPython developers working on embedded projects that require graphical displays, particularly those using ESP32, Raspberry Pi Pico, or similar microcontrollers with ST7735 TFT screens.
Developers choose this library because it offers a familiar Arduino-like API adapted for MicroPython, includes multiple initialization modes for different display variants, and provides practical examples that mirror popular Adafruit Arduino sketches for easier porting.
ST7735 TFT LCD driver for MicroPython
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The library mimics Adafruit's Arduino sketches, such as graphicstest.py, making it easier for developers to port existing ST7735 projects to MicroPython with minimal code changes.
Supports multiple init functions (initr, initg, initb, initb2) and color order adjustments via rgb(True/False), accommodating different ST7735 display variants to handle common hardware compatibility issues.
Integrates with MicroPython's FrameBuffer class for offscreen rendering, as shown in offscreen-buffer.py, reducing direct screen updates and improving performance for dynamic graphics.
Provides sample codes like graphicstest.py and tftbmp.py that mirror popular Adafruit Arduino examples, offering a quick start for tasks like drawing graphics and displaying BMP images.
Text display requires separate font files not included in the library, forcing users to source them from external repositories like GuyCarver's, which adds setup complexity and potential version mismatches.
Pin connections and initialization parameters must be manually configured based on specific microcontrollers and displays, with no auto-detection, leading to error-prone setups as noted in the README for ESP32 and Raspberry Pi Pico.
Focuses on basic drawing primitives and lacks built-in support for animations, touch inputs, or advanced graphics operations, requiring additional coding for more complex embedded user interfaces.