{"id":16240003,"url":"https://github.com/georgik/esp32-sdl3-example","last_synced_at":"2025-03-19T16:31:42.245Z","repository":{"id":254100655,"uuid":"845052251","full_name":"georgik/esp32-sdl3-example","owner":"georgik","description":"Example SDL3 application for ESP32","archived":false,"fork":false,"pushed_at":"2025-02-25T13:31:25.000Z","size":1069,"stargazers_count":11,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-02-25T14:38:10.604Z","etag":null,"topics":["esp32-p4","esp32-s3","lua","sdl-ttf","sdl3"],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/georgik.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"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":"2024-08-20T13:42:29.000Z","updated_at":"2025-02-25T13:31:28.000Z","dependencies_parsed_at":"2024-08-21T12:29:07.991Z","dependency_job_id":"9bb34c35-df78-4c15-8ca9-3b2b90d906d7","html_url":"https://github.com/georgik/esp32-sdl3-example","commit_stats":null,"previous_names":["georgik/esp32-sdl3-test","georgik/esp32-sdl3-example"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-sdl3-example","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-sdl3-example/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-sdl3-example/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/georgik%2Fesp32-sdl3-example/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/georgik","download_url":"https://codeload.github.com/georgik/esp32-sdl3-example/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244006260,"owners_count":20382441,"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":["esp32-p4","esp32-s3","lua","sdl-ttf","sdl3"],"created_at":"2024-10-10T13:45:51.748Z","updated_at":"2025-03-19T16:31:42.240Z","avatar_url":"https://github.com/georgik.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Example of SDL3 for ESP32\n\n![Test Status](https://github.com/georgik/esp32-sdl3-example/actions/workflows/test.yml/badge.svg)\n\nFork of SDL3 to ESP32 ESP-IDF v5.3+\n\n## On-line Demo Simulation\n\n[![ESP32-P4 SDL3 Demo Simulation](docs/img/esp32-p4-sdl3.webp)](https://wokwi.com/experimental/viewer?diagram=https%3A%2F%2Fraw.githubusercontent.com%2Fgeorgik%2Fesp32-sdl3-example%2Fmain%2Fboards%2Fesp32_p4_function_ev_board%2Fdiagram.json\u0026firmware=https%3A%2F%2Fgithub.com%2Fgeorgik%2Fesp32-sdl3-example%2Freleases%2Fdownload%2Fv0.2.0%2Fesp32-sdl3-example-esp32_p4_function_ev_board.bin)\n\n[Run the ESP32-P4 simulation with Wokwi.com](https://wokwi.com/experimental/viewer?diagram=https%3A%2F%2Fraw.githubusercontent.com%2Fgeorgik%2Fesp32-sdl3-example%2Fmain%2Fboards%2Fesp32_p4_function_ev_board%2Fdiagram.json\u0026firmware=https%3A%2F%2Fgithub.com%2Fgeorgik%2Fesp32-sdl3-example%2Freleases%2Fdownload%2Fv0.2.0%2Fesp32-sdl3-example-esp32_p4_function_ev_board.bin)\n\nWorking parts:\n- minimalistic SDL3 build\n- SDL3 - littlefs integration\n- SDL3\\_timer\n- SDL3\\_events\n- SDL\\_image - BMP\n- SDL\\_ttf\n- Lua 5.5\n- touch\n\n## Requirements\n\n`idf_component_manager` 2.x - install manually\n\n## Build\n\n```shell\ngit clone git@github.com:georgik/esp32-sdl3-test.git\ncd esp32-sdl3-test\n\nidf.py @boards/esp-box-3.cfg build\n```\n\n### Other boards\n\n- ESP32-S3-BOX-3\n```shell\nidf.py @boards/esp-box-3.cfg build\n```\n\n- ESP32-S3-BOX (prior Dec. 2023)\n```shell\nidf.py @boards/esp-box.cfg build\n```\n\n- ESP32-P4\n```shell\nidf.py @boards/esp32_p4_function_ev_board.cfg build\n```\n\n- M5Stack-CoreS3\n```shell\nidf.py @boards/m5stack_core_s3.cfg build\n```\n\n### Build for ESP32-C6-DevKit or other custom DevKit\n\nThe configuration of this board is based on [ESP-BSP Generic](https://developer.espressif.com/blog/using-esp-bsp-with-devkits/) which allows configuration using menuconfig.\n\nSPI Display configuration:\n\n```ini\nCONFIG_BSP_DISPLAY_ENABLED=y\nCONFIG_BSP_DISPLAY_SCLK_GPIO=6\nCONFIG_BSP_DISPLAY_MOSI_GPIO=7\nCONFIG_BSP_DISPLAY_MISO_GPIO=-1\nCONFIG_BSP_DISPLAY_CS_GPIO=20\nCONFIG_BSP_DISPLAY_DC_GPIO=21\nCONFIG_BSP_DISPLAY_RST_GPIO=3\nCONFIG_BSP_DISPLAY_DRIVER_ILI9341=y\n```\n\nYou can change the configuration by running:\n\n```shell\nidf.py @boards/esp32_c6_devkit.cfg menuconfig\n```\n\nBuild, flash and monitor the application:\n\n```shell\nidf.py @boards/esp32_c6_devkit.cfg flash monitor\n```\n\n### Run simulation in VS Code\n\n- Build the project, to get binaries for simulation.\n- Install [Wokwi for VS Code](https://docs.wokwi.com/vscode/getting-started/).\n- Open file `boards/esp32_.../diagram.json`.\n- Click Play button to start simulation.\n- Click Pause button to freeze simulation and display states of GPIOs.\n\n## Notes\n\n- screen resolution bigger than 320x100 requires enabled PSRAM\n- SDL surface for ESP-IDF framebuffer is defined for RGB565\n- drawing surface requires `SDL_FRect` as destination, not `SDL_Rect`, in `SDL_Rect` case nothing draws\n\n## Credits\n\n- FreeSans.ttf - https://github.com/opensourcedesign/fonts/blob/master/gnu-freefont_freesans/FreeSans.ttf\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgik%2Fesp32-sdl3-example","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgeorgik%2Fesp32-sdl3-example","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgeorgik%2Fesp32-sdl3-example/lists"}