{"id":24265079,"url":"https://github.com/medmes/go-display-s3","last_synced_at":"2026-05-19T04:04:27.384Z","repository":{"id":271090964,"uuid":"912357523","full_name":"medmes/Go-Display-S3","owner":"medmes","description":"ESP32 S3 board scaffold project for LilyGo T DISPLAY S3 microcontroller.","archived":false,"fork":false,"pushed_at":"2025-01-06T14:50:41.000Z","size":414,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-15T10:38:46.453Z","etag":null,"topics":["esp-idf","esp32","esp32-s3","iot","lilygo-tdisplay-s3","lvgl","lvgl-esp32-port","microcontroller"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/medmes.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}},"created_at":"2025-01-05T10:58:32.000Z","updated_at":"2025-01-06T14:50:45.000Z","dependencies_parsed_at":"2025-01-05T13:18:11.346Z","dependency_job_id":"198e24c0-92d2-495c-941a-4e60a1ca04b9","html_url":"https://github.com/medmes/Go-Display-S3","commit_stats":null,"previous_names":["medmes/go-display-s3"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medmes%2FGo-Display-S3","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medmes%2FGo-Display-S3/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medmes%2FGo-Display-S3/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/medmes%2FGo-Display-S3/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/medmes","download_url":"https://codeload.github.com/medmes/Go-Display-S3/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241944509,"owners_count":20046773,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["esp-idf","esp32","esp32-s3","iot","lilygo-tdisplay-s3","lvgl","lvgl-esp32-port","microcontroller"],"created_at":"2025-01-15T10:00:29.330Z","updated_at":"2026-05-19T04:04:22.335Z","avatar_url":"https://github.com/medmes.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Go-Display-S3\n\n# Overview\nThis is a template ESP-IDF project for LilyGO [T-Display S3](https://github.com/Xinyuan-LilyGO/T-Display-S3).\nT-Display-S3 is an ESP32-S3 board with an integrated LCD display.\nThis code follows a similar structure to the code provided in [esp-bsp](https://github.com/espressif/esp-bsp) repo.\n\n## Tested Hardware \u0026 Software Framework(s)\n* LilyGO T-Display S3 [v1.2] (non-touch)\n  * ESP-IDF Version 5.3.x ([master branch](https://github.com/espressif/esp-idf))\n  * LVGL 8.4.0\n  * Squareline Studio 1.5\n\n## Capabilities\n\nThis project demonstrates the following capabilities:\n\n* Configure the ST7789 display using the I80 Bus\n  * Screen orientation is landscape where the buttons are facing towards the left\n* Showing a simple UI interfce, calendar on the t-display-s3 display\n* Button readout using [espressif/button](https://components.espressif.com/components/espressif/button)\n\n## sdkconfig\n\nThere are some sdkconfig options that needs to be set, I've included these in a [sdkconfig.defaults](./sdkconfig.defaults) file.\n  * I haven't done anything fancy with the partition table, I'm simply using one of the default `PARTITION_TABLE_SINGLE_APP_LARGE`.\n  * You can easily benchmark/stress test the display by setting `CONFIG_LV_USE_DEMO_BENCHMARK` or `CONFIG_LV_USE_DEMO_STRESS` options.\n  * LVGL FPS/CPU Usage overlay can be disabled with `CONFIG_LV_USE_PERF_MONITOR=n`.\n\n## Notes on LVGL and Memory Management\n\nLVGL and display driver parameters have been set to utilize the SPI RAM. Performing a LVGL benchmark, I managed to get over 100 FPS.\nAccording to the [ST7789 datasheet](https://www.rhydolabz.com/documents/33/ST7789.pdf), I think you should aim for 75 FPS.\n\n## Notes on Display Framerate\nDisplay framerate can be affected by many factors. During my testing I found that the `LVGL_BUFFER_SIZE` and `LCD_PIXEL_CLOCK_HZ` plays a key factor.\n\nIn my opinion, `LVGL_BUFFER_SIZE` should remain as is (1/10th of the display size in pixels) while the `LCD_PIXEL_CLOCK_HZ` can be tweaked.\n\nThe [ST7789 datasheet](https://www.rhydolabz.com/documents/33/ST7789.pdf) mentions a maximum pixel clock of 17 MHz `(17 * 1000 * 1000)`\nbut you may/may not experience issues with a high clock speed due to PSRAM banwidth (source: [ESP-FAQ Handbook](https://docs.espressif.com/projects/esp-faq/en/latest/esp-faq-en-master.pdf) [end of page 79]).\n\n## SquareLine Studio\n\n### Create a new SquareLine Project\n\n1. Create a new SquareLine Project using the board created previously\n   * I used the default theme settings\n2. Once the new project is opened, click on _**Export -\u003e Create Template Project**_\n   ![squareline_export_menu.png](docs/img/squareline_export_menu.png)\n3. Export the `ui` files by clicking on  _**Export -\u003e Export UI Files**_.\n   * Make sure to select the previously exported project's `main/ui` directory\n   ![squareline_export_ui.png](docs/img/squareline_export_ui.png)\n4. Save the project\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedmes%2Fgo-display-s3","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmedmes%2Fgo-display-s3","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmedmes%2Fgo-display-s3/lists"}