{"id":15633170,"url":"https://github.com/tobozo/esp32-chimera-core","last_synced_at":"2025-05-11T17:52:44.163Z","repository":{"id":36140014,"uuid":"182390853","full_name":"tobozo/ESP32-Chimera-Core","owner":"tobozo","description":"ESP32-Chimera-Core 👾 is an arduino library for M5Stack, Odroid-Go, D-Duino-32-XS and other ESP32/TFT/SD bundles","archived":false,"fork":false,"pushed_at":"2023-10-30T21:27:45.000Z","size":6406,"stargazers_count":172,"open_issues_count":5,"forks_count":14,"subscribers_count":15,"default_branch":"master","last_synced_at":"2025-05-11T11:41:31.996Z","etag":null,"topics":["arduino","d-duino32","esp32","esp32-chimera-core","esp32-wrover-kit","ili9341","lovyangfx","m5stack","m5stack-library","odroid-go","st7789"],"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/tobozo.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":"2019-04-20T10:15:36.000Z","updated_at":"2025-04-16T03:37:31.000Z","dependencies_parsed_at":"2023-10-10T20:45:54.498Z","dependency_job_id":"6f367328-e054-4225-9f02-680cfb7c9d88","html_url":"https://github.com/tobozo/ESP32-Chimera-Core","commit_stats":null,"previous_names":[],"tags_count":30,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-Chimera-Core","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-Chimera-Core/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-Chimera-Core/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tobozo%2FESP32-Chimera-Core/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tobozo","download_url":"https://codeload.github.com/tobozo/ESP32-Chimera-Core/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253561077,"owners_count":21927761,"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":["arduino","d-duino32","esp32","esp32-chimera-core","esp32-wrover-kit","ili9341","lovyangfx","m5stack","m5stack-library","odroid-go","st7789"],"created_at":"2024-10-03T10:47:14.757Z","updated_at":"2025-05-11T17:52:44.140Z","avatar_url":"https://github.com/tobozo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ESP32-Chimera-Core Library\n\n[![arduino-library-badge](https://www.ardu-badge.com/badge/ESP32-Chimera-Core.svg?)](https://www.ardu-badge.com/ESP32-Chimera-Core)\n[![PlatformIO Registry](https://badges.registry.platformio.org/packages/tobozo/library/ESP32-Chimera-Core.svg)](https://registry.platformio.org/packages/libraries/tobozo/ESP32-Chimera-Core)\n![Arduino Build](https://github.com/tobozo/ESP32-Chimera-Core/actions/workflows/ArduinoBuild.yml/badge.svg)\n![Platformio Build](https://github.com/tobozo/ESP32-Chimera-Core/actions/workflows/PlatformioBuild.yml/badge.svg)\n\n![Illustration By Jacopo Ligozzi](https://user-images.githubusercontent.com/1893754/71980273-ed9bb100-321f-11ea-8982-49702af29c9f.png)\n\n\nThis library is a *substitute* of the original [M5Stack](https://github.com/m5stack/M5Stack/) library, with added support for the following devices:\n\n  - [M5Stack Classic](https://m5stack.com/products/basic-core-iot-development-kit)\n  - [M5Stack Fire](https://m5stack.com/collections/m5-core/products/fire-iot-development-kit)\n  - [M5Stack Core2](https://m5stack.com/products/m5stack-core2-esp32-iot-development-kit)\n  - [M5Stack CoreS3](https://m5stack.com/products/m5stack-cores3-esp32s3-lotdevelopment-kit)\n  - [M5StickC](https://m5stack.com/collections/m5-core/products/stick-c)\n  - [LilyGo T-Deck](https://www.lilygo.cc/products/t-deck)\n  - [Odroid-Go](https://www.hardkernel.com/shop/odroid-go/)\n  - [ESP32-S3-Box](https://github.com/espressif/esp-box)\n  - [D-Duino-32-XS](https://www.tindie.com/products/lspoplove/dstike-d-duino-32-xs/)\n  - [LoLin D32-Pro](https://www.aliexpress.com/item/32883116057.html)\n  - [ESP32-Wrover-Kit (v4.1, v4.2, v4.3)](https://www.sparkfun.com/products/14917)\n  - [Lilygo TTGO-TS](https://www.banggood.com/LILYGO-TTGO-TS-ESP32-1_44-Inch-TFT-MicroSD-Card-Slot-Speakers-bluetooth-Wifi-Module-p-1273383.html)\n  - [Lilygo TTGO-Twatch](http://www.lilygo.cn/prod_view.aspx?TypeId=50053\u0026Id=1290)\n  - [Lilygo TTGO-LoRa32 v2](https://www.lilygo.cc/products/lora3)\n\n\n\nIt also implements a set of extra features:\n\n  - Zero-config automatic device selection based on the Arduino Boards menu selection\n  - Screenshots (BMP, JPG, PNG, GIF)\n  - I2C Scanner\n\n\nGFX implementation is a courtesy of @lovyan03 who (in the first days of this library) did a marvelous work of integrating his\n[LovyanGFX](https://github.com/lovyan03/LovyanGFX) library into his own [ESP32-Chimera-Core fork](https://github.com/lovyan03/ESP32-Chimera-Core). Since then, [LovyanGFX](https://github.com/lovyan03/LovyanGFX) has become an external dependency of this library and even given birth to [M5Unified](https://github.com/M5Stack/M5Unified) which has the same spirit as Chimera-Core but focuses on M5 products only.\n\n[LovyanGFX](https://github.com/lovyan03/LovyanGFX) is an optimized display driver maintained by [@lovyan03](https://github.com/lovyan03/),\nit brings an average 30% speed improvement compared to other drivers along with more flexibility towards adding custom boards.\n\nThis library will forever be beta quality, but the tradeoff is really worth it!\n\nSee [LovyanGFX Readme](https://github.com/lovyan03/LovyanGFX/blob/master/README.md) for an overview of those minor changes\nalong with the new features such as shapes, arcs, polygon drawing and filling, and much more ...\n\n\n# Usage\n\nChoose between managed install:\n\n  - Get `ESP32-Chimera-Core` from the Arduino Library Manager\n  - Let the Arduino Library Manager download the `LovyanGFX` library dependency\n\nor manual install:\n\n  - Download the [latest LovyanGFX display driver](https://github.com/lovyan03/LovyanGFX/releases) and unzip it in the `~/Arduino/libraries` folder.\n  - Download the [latest ESP32-Chimera-Core release](https://github.com/tobozo/ESP32-Chimera-Core/releases) and unzip it in the `~/Arduino/libraries` folder.\n  - You're done!\n\n# Developers\n\nReplace this:\n\n  ```C\n    #include \u003cM5Stack.h\u003e\n  ```\n\nby this:\n\n  ```C\n    #include \u003cESP32-Chimera-Core.h\u003e\n  ```\n\nYou can use `#if defined(_CHIMERA_CORE_)` macros to isolate ESP32-Chimera-Core specific statements.\n\n  ```C\n    #if defined(_CHIMERA_CORE_)\n      M5.ScreenShot-\u003einit( \u0026M5.Lcd, M5STACK_SD );\n      M5.ScreenShot-\u003ebegin();\n      M5.ScreenShot-\u003esnap();\n    #endif\n\n  ```\n\nAutomatic board selection is based on the boards.txt definition, so changing the board from the Arduino Tools menu is enough to trigger the detection.\nSketch compilation can eventually be tuned-up to a specific device by using macros.\n\n  ```C\n    #if defined(_CHIMERA_CORE_)\n      #if defined( ARDUINO_M5Stack_Core_ESP32 )\n        #warning M5STACK CLASSIC DETECTED !!\n      #elif defined( ARDUINO_M5STACK_FIRE )\n        #warning M5STACK FIRE DETECTED !!\n      #elif defined( ARDUINO_ODROID_ESP32 )\n        #warning ODROID DETECTED !!\n      #elif defined( ARDUINO_TTGO_T1 )\n        #warning Lilygo TTGO-TS DETECTED !!\n      #elif defined ( ARDUINO_ESP32_WROVER_KIT )\n        #warning ESP32 WROVER Kit DETECTED !!\n      #else\n        #warning NOTHING DETECTED !!\n      #endif\n    #else\n      #warning M5Stack legacy core detected\n    #endif\n  ```\n\n\n# Credits \u0026 Thanks\n\n  - Special thanks to [らびやん (Lovyan03)](https://github.com/lovyan03) for providing strong inspiring support, unconditional kindness and unlimited patience\n  - Kudos to [M5Stack](https://github.com/m5stack) for being the creators of the original M5Stack and its legacy library without which this project would not exist.\n  - [紅樹　タカオ (Takao Akaki)](https://github.com/mongonta0716)\n  - [Nochi](https://github.com/shikarunochi)\n  - [こばさん](https://github.com/wakwak-koba)\n  - [Illustration By Jacopo Ligozzi](https://commons.wikimedia.org/w/index.php?curid=53514521)\n  - [M5Widgets By @Kongduino](https://github.com/Kongduino)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobozo%2Fesp32-chimera-core","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftobozo%2Fesp32-chimera-core","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftobozo%2Fesp32-chimera-core/lists"}