arcade kit/Build it/10. Add a screen
Build it · 10 of 11

Add a screen

The ribbon socket at the top of the mainboard takes an SPI screen. Nine of its fifteen contacts are wired, three of the four adapters carry them through, and the kit's own display code is written for one controller, the ILI9488.

Nine contacts of fifteen

The socket is a 15-way ribbon connector at 1.0 mm pitch. Contact 1 is ground and contact 2 is V(MCU), so the screen runs on the development board's own 3.3 V. Contacts 3 to 9 are the screen's signals, each joined to one header position from 20 to 26. Contacts 10 to 15 are named on the schematic and go nowhere.

The screen connector, followed through
ESP32-S3
Adapter
Every line lands, and on the pins Lonely Binary's display library already uses on an ESP32-S3: CS 10, DC 2, RST 42, backlight 41, MOSI 11, clock 12. MISO on 13 is the one the library does not need.

On the Nano adapter the signal positions stop at the header, so a Nano cannot drive a screen on this socket at all.

Which screen

The kit's display examples are written for an ILI9488, 480 by 320: an ESP32-S3 sketch, a Pico driver and a Zero 2 W driver, each drawing three colour bars and a line of text. They drive that controller and no other.

Lonely Binary's six-screen SPI kit ends every panel in a 15-way ribbon too, and its library's default pins on an ESP32-S3 are exactly where the ESP32-S3 adapter puts the screen lines. But its panels use ST7735, ST7789 and ST7796 controllers, so they need that library, not the kit's ILI9488 examples. Check the controller printed on your panel before you choose code; screen size alone does not tell you.

Fit the ribbon

With every cable unplugged, lift the socket's latch, slide the ribbon in straight with its bare contacts facing the socket's contacts, and press the latch closed. Ribbons come with the contacts on the same side at both ends or on opposite sides, and the wrong kind reaches every contact on the wrong face. Do not fold it sharply.

Then run the colour test for your board from the repository's examples folder. Three distinct colour bars and readable text is a pass. A program that says it sent the picture proves only that it sent it: SPI does not report whether anything was listening.

When it does not work

The screen stays white

The backlight has power and the controller has not been set up. Check the chip named on the panel or its listing: the kit's examples drive an ILI9488, and an ST7735, ST7789 or ST7796 panel stays white under them.

The screen is blank on the Nano

The Nano adapter does not connect the screen lines. The panel gets power and no signals, so nothing can appear. Use the ESP32-S3, Pico or Zero 2 W adapter for a screen.

Red and blue are swapped

The panel wants its colour bytes in the other order. It is one setting in the driver, the colour-order bit, not a wiring fault.

The picture is garbled or flickers

Lower the SPI clock first: the examples start at 8 MHz on the ESP32-S3 and Zero 2 W and 1 MHz on the Pico. Then reseat the ribbon, which is the usual cause when only some lines are wrong.

/dev/spidev0.0 is missing on the Zero 2 W

SPI is off. Turn it on in raspi-config under Interface Options, then reboot.

Where this goes next

Start from what you can see, and check the cheapest thing first.

When it does not work

Edit this page — content/books/arcade/add-a-screen.mdx

Community

Questions about this product

See what other owners have asked, and read their solutions.

Ask a question ↗

HotSwap Arcade Kit: Buttons, Joystick and Coin Acceptor for ESP32-S3, Nano, Pico and Zero 2 W

Loading discussions…

Discuss this article

Ask about this page. The answer stays here, on the page it belongs to, for whoever hits the same wall next.

Browse Modules and blocks on the forum