Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/tobozo/esp32-chimera-core
ESP32-Chimera-Core ๐พ is an arduino library for M5Stack, Odroid-Go, D-Duino-32-XS and other ESP32/TFT/SD bundles
https://github.com/tobozo/esp32-chimera-core
arduino d-duino32 esp32 esp32-chimera-core esp32-wrover-kit ili9341 lovyangfx m5stack m5stack-library odroid-go st7789
Last synced: 13 days ago
JSON representation
ESP32-Chimera-Core ๐พ is an arduino library for M5Stack, Odroid-Go, D-Duino-32-XS and other ESP32/TFT/SD bundles
- Host: GitHub
- URL: https://github.com/tobozo/esp32-chimera-core
- Owner: tobozo
- License: other
- Created: 2019-04-20T10:15:36.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-10-30T21:27:45.000Z (about 1 year ago)
- Last Synced: 2024-10-23T03:31:57.248Z (22 days ago)
- Topics: arduino, d-duino32, esp32, esp32-chimera-core, esp32-wrover-kit, ili9341, lovyangfx, m5stack, m5stack-library, odroid-go, st7789
- Language: C++
- Homepage:
- Size: 6.11 MB
- Stars: 167
- Watchers: 16
- Forks: 13
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ESP32-Chimera-Core Library
[![arduino-library-badge](https://www.ardu-badge.com/badge/ESP32-Chimera-Core.svg?)](https://www.ardu-badge.com/ESP32-Chimera-Core)
[![PlatformIO Registry](https://badges.registry.platformio.org/packages/tobozo/library/ESP32-Chimera-Core.svg)](https://registry.platformio.org/packages/libraries/tobozo/ESP32-Chimera-Core)
![Arduino Build](https://github.com/tobozo/ESP32-Chimera-Core/actions/workflows/ArduinoBuild.yml/badge.svg)
![Platformio Build](https://github.com/tobozo/ESP32-Chimera-Core/actions/workflows/PlatformioBuild.yml/badge.svg)![Illustration By Jacopo Ligozzi](https://user-images.githubusercontent.com/1893754/71980273-ed9bb100-321f-11ea-8982-49702af29c9f.png)
This library is a *substitute* of the original [M5Stack](https://github.com/m5stack/M5Stack/) library, with added support for the following devices:
- [M5Stack Classic](https://m5stack.com/products/basic-core-iot-development-kit)
- [M5Stack Fire](https://m5stack.com/collections/m5-core/products/fire-iot-development-kit)
- [M5Stack Core2](https://m5stack.com/products/m5stack-core2-esp32-iot-development-kit)
- [M5Stack CoreS3](https://m5stack.com/products/m5stack-cores3-esp32s3-lotdevelopment-kit)
- [M5StickC](https://m5stack.com/collections/m5-core/products/stick-c)
- [LilyGo T-Deck](https://www.lilygo.cc/products/t-deck)
- [Odroid-Go](https://www.hardkernel.com/shop/odroid-go/)
- [ESP32-S3-Box](https://github.com/espressif/esp-box)
- [D-Duino-32-XS](https://www.tindie.com/products/lspoplove/dstike-d-duino-32-xs/)
- [LoLin D32-Pro](https://www.aliexpress.com/item/32883116057.html)
- [ESP32-Wrover-Kit (v4.1, v4.2, v4.3)](https://www.sparkfun.com/products/14917)
- [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)
- [Lilygo TTGO-Twatch](http://www.lilygo.cn/prod_view.aspx?TypeId=50053&Id=1290)
- [Lilygo TTGO-LoRa32 v2](https://www.lilygo.cc/products/lora3)It also implements a set of extra features:
- Zero-config automatic device selection based on the Arduino Boards menu selection
- Screenshots (BMP, JPG, PNG, GIF)
- I2C ScannerGFX implementation is a courtesy of @lovyan03 who (in the first days of this library) did a marvelous work of integrating his
[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.[LovyanGFX](https://github.com/lovyan03/LovyanGFX) is an optimized display driver maintained by [@lovyan03](https://github.com/lovyan03/),
it brings an average 30% speed improvement compared to other drivers along with more flexibility towards adding custom boards.This library will forever be beta quality, but the tradeoff is really worth it!
See [LovyanGFX Readme](https://github.com/lovyan03/LovyanGFX/blob/master/README.md) for an overview of those minor changes
along with the new features such as shapes, arcs, polygon drawing and filling, and much more ...# Usage
Choose between managed install:
- Get `ESP32-Chimera-Core` from the Arduino Library Manager
- Let the Arduino Library Manager download the `LovyanGFX` library dependencyor manual install:
- Download the [latest LovyanGFX display driver](https://github.com/lovyan03/LovyanGFX/releases) and unzip it in the `~/Arduino/libraries` folder.
- Download the [latest ESP32-Chimera-Core release](https://github.com/tobozo/ESP32-Chimera-Core/releases) and unzip it in the `~/Arduino/libraries` folder.
- You're done!# Developers
Replace this:
```C
#include
```by this:
```C
#include
```You can use `#if defined(_CHIMERA_CORE_)` macros to isolate ESP32-Chimera-Core specific statements.
```C
#if defined(_CHIMERA_CORE_)
M5.ScreenShot->init( &M5.Lcd, M5STACK_SD );
M5.ScreenShot->begin();
M5.ScreenShot->snap();
#endif```
Automatic board selection is based on the boards.txt definition, so changing the board from the Arduino Tools menu is enough to trigger the detection.
Sketch compilation can eventually be tuned-up to a specific device by using macros.```C
#if defined(_CHIMERA_CORE_)
#if defined( ARDUINO_M5Stack_Core_ESP32 )
#warning M5STACK CLASSIC DETECTED !!
#elif defined( ARDUINO_M5STACK_FIRE )
#warning M5STACK FIRE DETECTED !!
#elif defined( ARDUINO_ODROID_ESP32 )
#warning ODROID DETECTED !!
#elif defined( ARDUINO_TTGO_T1 )
#warning Lilygo TTGO-TS DETECTED !!
#elif defined ( ARDUINO_ESP32_WROVER_KIT )
#warning ESP32 WROVER Kit DETECTED !!
#else
#warning NOTHING DETECTED !!
#endif
#else
#warning M5Stack legacy core detected
#endif
```# Credits & Thanks
- Special thanks to [ใใณใใ (Lovyan03)](https://github.com/lovyan03) for providing strong inspiring support, unconditional kindness and unlimited patience
- 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.
- [็ด ๆจนใใฟใซใช (Takao Akaki)](https://github.com/mongonta0716)
- [Nochi](https://github.com/shikarunochi)
- [ใใฐใใ](https://github.com/wakwak-koba)
- [Illustration By Jacopo Ligozzi](https://commons.wikimedia.org/w/index.php?curid=53514521)
- [M5Widgets By @Kongduino](https://github.com/Kongduino)