This guide walks you through setting up screenILI on real hardware, from wiring to running your first example.
- ILI9488-based TFT display (480×320)
- Microcontroller board running:
- MicroPython (recommended), or
- CircuitPython
- SPI wiring:
SCKMOSI- (optional)
MISO CS(Chip Select)DC(Data / Command)RST(Reset)
Typical SPI wiring (example, adjust to your board):
| Display Pin | MCU Pin |
|---|---|
| SCK | GPIO 10 |
| MOSI | GPIO 11 |
| MISO | Not used / optional |
| CS | GPIO 13 |
| DC | GPIO 14 |
| RST | GPIO 15 |
| VCC | 3.3V or 5V (check your display) |
| GND | GND |
⚠ Always verify your display’s voltage requirements.
At minimum, copy the following files to your board’s filesystem
(root or /lib, depending on your setup):
screenILI.py
ili9488.py
xglcd_font.py
assets/
Resulting layout on the board:
/
├─ screenILI.py
├─ ili9488.py
├─ xglcd_font.py
└─ assets/
├─ fonts/
│ └─ ArcadePix9x11.c
└─ images/
├─ bg_480x320.raw
├─ logo_120x80.raw
└─ sprite_player_32x32.raw
Open and run:
examples/01_minimal/main.py
What you should see:
- Screen clears
- Screen fills blue, then black
- White text:
screenILI OK - A red rectangle border around the screen
If this works, your wiring and SPI configuration are correct.
- Check
CS,DC, andRSTwiring - Lower
baudrate(e.g.40_000_000) - Ensure correct SPI bus (
spi_id)
- Ensure RGB565 is used everywhere
- Verify byte order is big-endian
- Check
rotationargument - Remember that
width/heightchange with rotation
Proceed through the examples in order:
- Text & fonts
->
examples/02_text_and_fonts/main.py - Images & sprites
->
examples/03_images_and_sprites/main.py - Drawing primitives
->
examples/04_shapes_and_primitives/main.py - Scrolling & rotation
->
examples/05_scrolling_and_rotation/main.py - Power & lifecycle
->
examples/06_power_and_selftest/main.py
After that, explore the other documentation sections.