Micro-GUI

August 12, 2026 · View on GitHub

micropython-micro-gui by Peter Hinch — callback-style widgets with button / encoder input (asyncio under the hood).

Requirements

ComponentLocationNotes
board_config.pypydevices/board_configs/display + neutral input capabilities
hardware_setup.pylib/utils/Fetches micro-gui; uses app_runtime devices to build Display
fetch_ph_gui.pylib/utils/mip install into utils/gui/ + FrameBuffer patches
displaybuf.pylib/utils/ssd framebuffer
uctypes.pylib/utils/CircuitPython shim for writer.py

Do not install Peter Hinch's drivers/; pydevices-examples supplies the display.

Config

Importing hardware_setup.py calls fetch_ph_gui("micropython-micro-gui") then creates ssd and display. Desktop navigation defaults:

KeyAction
Tab / Rightnext control
Leftprevious control
Enter / Spaceselect
Up / Downincrease / decrease

Install

import mip
mip.install("github:PyDevices/pydevices-examples/packages/micropython-micro-gui.json", target="./utils")

Or rely on import hardware_setup (needs mip on the target when gui/ is missing).

Example

lib/examples/micro_gui_simpletest.py — framebuffer smoke test. Full demos: import hardware_setup then import gui.demos.simple.

Browser: fetch_ph_gui via hardware_setupgallery loader.

See also