{"id":30791076,"url":"https://github.com/gavinlyonsrepo/gc9a01_ltsm","last_synced_at":"2026-05-30T12:01:03.373Z","repository":{"id":310190971,"uuid":"1036926420","full_name":"gavinlyonsrepo/GC9A01_LTSM","owner":"gavinlyonsrepo","description":"Arduino library for GC9A01 240×240 SPI TFT displays—supports hardware/software SPI, rotation, scroll, bitmaps, fonts, power modes, and advanced graphics.","archived":false,"fork":false,"pushed_at":"2026-02-07T13:44:05.000Z","size":27,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2026-02-07T22:20:12.474Z","etag":null,"topics":["arduino","arduino-display","arduino-library","circle","display-driver","display-library","embedded-systems","font","gc9a01","gc9a01a","graphics","lcd","lcd-display","library","library-project","microcontroller","round","spi","tft-display","tft-lcd"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gavinlyonsrepo.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-08-12T19:41:03.000Z","updated_at":"2026-02-06T12:54:31.000Z","dependencies_parsed_at":"2025-08-16T12:59:54.443Z","dependency_job_id":null,"html_url":"https://github.com/gavinlyonsrepo/GC9A01_LTSM","commit_stats":null,"previous_names":["gavinlyonsrepo/gc9a01_ltsm"],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/gavinlyonsrepo/GC9A01_LTSM","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FGC9A01_LTSM","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FGC9A01_LTSM/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FGC9A01_LTSM/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FGC9A01_LTSM/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gavinlyonsrepo","download_url":"https://codeload.github.com/gavinlyonsrepo/GC9A01_LTSM/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gavinlyonsrepo%2FGC9A01_LTSM/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":33691312,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-05-30T02:00:06.278Z","response_time":92,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["arduino","arduino-display","arduino-library","circle","display-driver","display-library","embedded-systems","font","gc9a01","gc9a01a","graphics","lcd","lcd-display","library","library-project","microcontroller","round","spi","tft-display","tft-lcd"],"created_at":"2025-09-05T15:01:59.606Z","updated_at":"2026-05-30T12:01:03.367Z","avatar_url":"https://github.com/gavinlyonsrepo.png","language":"C++","funding_links":["https://www.paypal.com/paypalme/whitelight976"],"categories":[],"sub_categories":[],"readme":"# GC9A01 Readme\n\n[![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://www.paypal.com/paypalme/whitelight976)\n\n## Table of contents\n\n* [Overview](#overview)\n* [Installation](#installation)\n* [Dependency](#dependency)\n* [Documentation](#documentation)\n* [Software](#software)\n  * [Examples](#examples)\n  * [SPI](#spi)\n* [Hardware](#hardware)\n* [Tested](#tested)\n* [Output](#output)\n\n## Overview\n\n* Name: GC9A01_LTSM\n* Author: Gavin Lyons\n* Description:\n\nC++ Arduino library for a TFT SPI LCD, GC9A01 Driver.\n\nGC9A01 is a 262,144-color single-chip SOC driver for a-TFT liquid crystal display with resolution of\n240RGBx240 dots, comprising a 360-channel source driver, a 32-channel gate driver, 129,600 bytes\nGRAM for graphic display data of 240RGBx240 dots, and power supply circuit.\n\n1. Power modes, Invert, Scroll, Rotate, Bitmaps supported.\n2. Hardware \u0026 software SPI\n3. Tested on 240X240 Round Display\n4. Arduino eco-system library.\n5. 16 ASCII fonts included, fonts can easily be removed or added.\n6. Advanced graphics class included.\n7. Advanced frame buffer mode included.\n8. Bitmaps supported: 1, 8 and 16 bit.\n9. Hardware \u0026 software SPI options\n10. [Project url link](https://github.com/gavinlyonsrepo/GC9A01_LTSM)\n\n* [DataSheet](https://buydisplay.com/download/ic/GC9A01A.pdf)\n\n## Installation\n\nThe library is included in the official Arduino library manger and the optimum way to install it is using the library manager which can be opened by the *manage libraries* option in Arduino IDE.\n\n## Dependency\n\nThis library requires the Arduino library 'display16_LTSM' as a dependency. display16_LTSM library contains\nthe graphics, bitmaps, and font methods as well as font data and bitmap test data. Its also\nwhere the user sets options(debug, advanced graphics and frame buffer mode).\nWhen you install 'GC9A01_LTSM' with Arduino IDE. It should install 'display16_LTSM' as well after\na prompt, if it does not you have to install it same way as 'GC9A01_LTSM'.\nThe 'display16_LTSM' project and readme is at [URL github link.](https://github.com/gavinlyonsrepo/display16_LTSM)\n'display16_LTSM' is also written by author of this library.\n\n## Documentation\n\nCode is commented for the 'doxygen' API generation tool.\nDocuments on fonts, bitmaps and graphics can be found at\nthe dependency 'display16_LTSM' repository, [URL github link](https://github.com/gavinlyonsrepo/display16_LTSM)\n\n## Software\n\n### Examples\n\nThere are 5 example files included.\n\n| Filename .ino | Function | Note |\n| --- | --- | --- |\n| HELLO WORLD | Hello world basic use case | --- |\n| CUSTOM_SPI_PINS | HW for display modules(eg some ESP32) with hardwired SPI pins see github issue 2 | --- |\n| MISC | Text, Graphics \u0026 Functions | dislib16 ADVANCED GRAPHICS ENABLE must be enabled for all tests to work |\n| BITMAP | 1,8 \u0026 16 bit bitmaps tests + bitmap FPS tests | Bitmap test data is stored in arrays |\n| DEMO | A demo showing a gauge | dislib16 ADVANCED GRAPHICS ENABLE must be enabled |\n| DEMO_TWO | A demo showing a Volume knob | dislib16 ADVANCED GRAPHICS ENABLE must be enabled |\n| DEMO_THREE | A demo showing a clock | dislib16 ADVANCED GRAPHICS ENABLE must be enabled |\n| FRAME BUFFER | Testing frame Buffer mode | dislib16 ADVANCED SCREEN BUFFER ENABLE must be enabled user option 2 |\n\n### SPI\n\nIn the example ino files. There are sections in \"setup()\" function\nwhere user can make adjustments.\n\n1. USER OPTION 1 GPIO, SPI_SPEED + TYPE\n2. USER OPTION 2 SCREEN SECTION\n\n#### USER OPTION 1 GPIO SPI SPEED\n\nTwo different constructors which one is called depends on 'bhardwareSPI',\ntrue for hardware spi, false for software SPI.\n\nHardware SPI:\n\nHere the user can pass the SPI Bus freq in Hertz, Currently set to 8 Mhz,\nand the Reset, chip select and data or command line. Any GPIO can be used for these.\nThe MOSI and CLk are tied to default MCU SPI interface GPIO.\n\nSoftware SPI:\n\nThe optional GPIO software uS delay,which by default is zero.\nSetting this higher can be used to slow down Software SPI\nwhich may be beneficial on Fast MCU's.\nThe 5 GPIO pins used. Any GPIO can be used for these.\n\n#### USER OPTION 2 Screen size\n\nUser can adjust screen pixel height, screen pixel width.\n\n## Hardware\n\n[![pic ](https://github.com/gavinlyonsrepo/displaylib_16bit_PICO/blob/main/extra/image/gc1.png)](https://github.com/gavinlyonsrepo/displaylib_16bit_PICO/blob/main/extra/image/gc1.png)\n\nConnections as setup in HELLO_WORLD.ino  test file.\n\n| TFT PinNum | Pindesc | Hardware SPI | Software SPI |\n| --- | --- | --- | --- |\n| 1 | LED | VCC 3.3 | VCC 3.3 |\n| 2 | SCLK | MCU SPI CLK | GPIO12 |\n| 3 | SDA | MCU MOSI | GPIO13 |\n| 4 | A0/DC | GPIO5 | GPIO5 |\n| 5 | RESET | GPIO4 | GPIO4 |\n| 6 | SS/CS | GPIO15 | GPIO15 |\n| 7 | VCC | VCC 3.3 | VCC 3.3 |\n| 8 | GND | GND | GND |\n\n1. This is a 3.3V logic device do NOT connect the I/O logic lines to 5V logic device.\n2. SW SPI pick any GPIO you like , HW SPI SCLK and SDA will be tied to MCU SPI interface.\n3. Backlight on/off control is left to user.\n4. NOTE: Connect LED backlight pin 1 thru a resistor to VCC.\n5. if -1 is passed for reset pin, software reset is used, if LCD module has\nmissing or optional reset pin, untested on hardware, may not work.\n\n## Tested\n\nTested with both software and hardware SPI on:\n\n1. ESP32\n2. Arduino UNO R4 Minima\n\nCompiled only (not fully hardware-tested) on:\n\n1. Arduino UNO\n2. ESP8266\n3. STM32 “Blue Pill”\n\n\u003e Some examples on low-RAM MCUs will fail( insufficient memory ), numerous fonts and bitmap data are included.\n\u003e Frame buffer mode example requires sufficient dynamic memory for the buffer — see the README in display16_LTSM for details.\n\n## Output\n\n[![ Demo pic ](https://github.com/gavinlyonsrepo/displaylib_16bit_PICO/blob/main/extra/image/gc2.jpg)](https://github.com/gavinlyonsrepo/displaylib_16bit_PICO/blob/main/extra/image/gc2.jpg)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlyonsrepo%2Fgc9a01_ltsm","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgavinlyonsrepo%2Fgc9a01_ltsm","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgavinlyonsrepo%2Fgc9a01_ltsm/lists"}