README.md
June 24, 2026 · View on GitHub
pydisplay
Cross-platform display and event drivers for MicroPython, CircuitPython, and CPython
Documentation • PyScript demo • Wokwi simulator • Screenshots
![]() | ![]() |
|---|---|
| @peterhinch's active.py | @russhughes's tiny_toasters.py |
About
pydisplay provides display drivers, unified input events, drawing primitives, fonts, and palettes with one API across MicroPython, CircuitPython, and CPython. Use it standalone for simple UIs or as a foundation for LVGL, MicroPython-Touch, Nano-GUI, or custom widget libraries.
Alpha quality — APIs and docs are still evolving. Contributing and feedback welcome.
Full documentation: pydisplay.readthedocs.io
Quick start
git clone https://github.com/PyDevices/pydisplay.git
cd pydisplay/src
python3 -i path.py
>>> import hello
On a MicroPython board, use installer.py or see Getting started.
Install packages (MicroPython)
import mip
mip.install("github:PyDevices/pydisplay/installer.py")
import installer # runs default install
Precompiled packages: PyDevices micropython-lib MIP index
Key features
- Develop on desktop, deploy to MCU without changing display code
- Touch, mouse, keyboard, keypad, encoder, and joystick as unified events
framebuf-compatible drawing on every platform- 30+ board configs, 58+ examples, PyScript and Wokwi demos
Roadmap
- EPaperDisplay
- CircuitPython circup packages
- End-user PyPI wheels
- More C bus drivers (STM32H7, MIMXRT)
See GitHub Issues for details.
Contributing
Fork, branch, PR — see Contributing guide.
Thanks
@peterhinch, @russhughes, and the Adafruit CircuitPython team for foundational work in the Python-on-microcontrollers community.

