Skip to content
EESP32S Wiki
Documentation/MaTouch ESP32-S3 1.28-inch Rotary Display: GC9A01 Arduino Setup
PRODUCT DOCUMENTATION

MaTouch ESP32-S3 1.28-inch Rotary Display: GC9A01 Arduino Setup

Set up the MaTouch 1.28-inch rotary screen, use the correct GC9A01 SPI demo and troubleshoot touch, encoder and microSD.

Updated Oct 21, 2026 · View product ↗
On this pageConfirm the exact rotary displayPrepare a recoverable first setupUse the matching manufacturer demoCheck the hardware mappingTest the four functions separatelyMove to LVGL and a custom interfaceTroubleshootingDownloads, references and validationCompatible product and related tutorials
MaTouch Rotary 1.28-inch — product reference photo
Product reference photo. Check the printed model, hardware revision and pin labels before wiring.

Confirm the exact rotary display

This guide covers the MaTouch ESP32-S3 1.28-inch rotary display. Begin with the printed model, not just “round ESP32 screen.” The 2.1-inch rotary model uses a different display path and firmware configuration. Uploading its example can leave a perfectly powered screen blank.

Item Documented hardware
Panel 240 × 240 GC9A01 over SPI
Memory 16 MB flash / 8 MB PSRAM
Inputs Capacitive touch, rotary encoder and press action
USB Native USB-C; begin with 5 V USB power
Storage MicroSD slot; card capacity/inclusion depends on package

Prepare a recoverable first setup

Use a data-capable USB-C cable and the board alone. Save existing custom firmware/source before replacing it. The screen, encoder and touch panel are connected on the PCB; no external sensor wiring is needed. If the application prevents normal USB detection, use the board’s FLASH/RESET sequence to enter download mode and then select the boot port.

Use the matching manufacturer demo

  1. Download the 1.28-inch GC9A01 manufacturer repository and keep the whole example/fw_test folder, including its local headers.
  2. Use the manufacturer’s documented legacy baseline: ESP32 core 2.0.8/2.0.10, GFX Library for Arduino 1.3.1 and JPEGDEC 1.2.8. SD, FS, SPI and Wire come from the board package. Keep this in a separate environment from newer core projects.
  3. Select ESP32S3 Dev Module, 16 MB flash, OPI PSRAM and the native USB upload port/settings used by the example.
  4. Prepare a compatible FAT-formatted microSD card and copy logo_240240.jpg from the example to the root. Insert it with power removed.
  5. Open fw_test.ino, compile, upload, then reset. The manufacturer test stops at an SD error if it cannot mount the card.

Check the hardware mapping

Signal / resource Check
LCD CS / DC / clock GPIO15 / 21 / 14
LCD MOSI / MISO / reset / backlight GPIO13 / 12 / 11 / 7
Encoder A / B and press GPIO9 / 10 and GPIO6
Touch SDA / SCL GPIO38 / 39

These details belong to the linked manufacturer example, not every round display sold under an ESP32-S3 name. Keep the repository’s touch source with the sketch and check the PCB revision before changing driver settings.

Test the four functions separately

  • Display: verify a full colour/image test without missing areas.
  • Touch: test the centre and edges; note whether coordinates follow screen rotation.
  • Encoder: rotate slowly in each direction and verify the expected count or progress change.
  • Press: press and release once, checking that it produces one intended state change.

Record which functions pass before editing your user interface. A successful upload message only establishes a software transfer; it does not establish that touch and display drivers match the board.

Move to LVGL and a custom interface

Once the SPI factory demo works, choose an LVGL example that explicitly targets the 240 × 240 GC9A01 rotary board. Set the LVGL major version, display rotation and input handlers to match that example. A SquareLine export alone does not supply a correct hardware driver.

The manufacturer demos use older ESP32/GFX APIs. A current 3.x core or a different GFX release may require a port; changing every dependency at once makes errors hard to isolate. Preserve a working legacy environment while testing that migration.

Troubleshooting

Symptom Next check
Blank screen after upload Correct model, panel driver, backlight setup and USB power
SD ERROR FAT card, file path and SD wiring from the example
GFX constructor does not match The example and installed GFX library API versions
Touch/encoder fails independently Matching local headers, PCB version and input configuration

Downloads, references and validation

Use the manufacturer source package linked below; firmware must match the model and PCB revision.

Reviewed 21 October 2026. The setup workflow was checked against manufacturer documentation; the display or radio firmware has not been built or bench-tested for this article.

Browse all product tutorials · Ask ESP32S support

Need help with your board?

Share the product link, hardware revision, software version and any error messages.

Contact ESP32S support →
Shop
Sidebar
Wishlist
0 items Cart
My account
Rates by ExchangeRate-API