ESP32-Chimera-Core 👾 is an arduino library for M5Stack, Odroid-Go, D-Duino-32-XS and other ESP32/TFT/SD bundles
Find a file
2021-07-01 14:28:10 +02:00
.github quotes, quotes 2021-06-01 03:09:42 +02:00
boards Arduino IDE layout compliance 2020-09-21 12:54:56 +02:00
examples/Basics/Display Removed examples 2020-12-05 15:28:37 +01:00
src I2C Util tweaks 2021-07-01 14:28:10 +02:00
tools formatting check: trailing EOL 2020-01-10 15:15:33 +01:00
.gitignore formatting check: trailing EOL 2020-01-10 15:15:33 +01:00
.travis.yml ignoring arduino 1.8.14 for the meantime 2021-05-12 15:18:55 +02:00
CMakeLists.txt formatting check: trailing EOL 2020-01-10 15:15:33 +01:00
component.mk Initial import 2019-04-20 12:18:08 +02:00
Kconfig formatting check: trailing EOL 2020-01-10 15:10:26 +01:00
keywords.txt formatting check: tabs 2020-01-10 15:00:37 +01:00
library.json raising version 2021-06-01 03:46:20 +02:00
library.properties raising version 2021-06-01 03:46:20 +02:00
LICENSE suppress some warnings 2020-01-26 16:51:02 +01:00
README.md Update espressif sdk path in Travis CI 2021-05-03 18:57:48 +02:00

ESP32-Chimera-Core Library

arduino-library-badge Build Status

Illustration By Jacopo Ligozzi

This library is a substitute of the original M5Stack library, with added support for the following devices:

Support coming soon:

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 Scanner

GFX implementation is a courtesy of @lovyan03 who did a marvelous work of integrating his LovyanGFX library into his own ESP32-Chimera-Core fork.

LovyanGFX is an optimized display driver maintained by @lovyan03, it brings an average 30% speed improvement along with more flexibility towards adding custom boards.

This is still beta quality, most examples will fail due to the minor syntax changes, but the tradeoff is really worth it!

See LovyanGFX Readme for an overview of those minor changes along with the new features such as shapes, arcs, polygon drawing and filling, and much more ...

Usage

- Delete the ~/Arduino/M5Stack folder to prevent any confusion at compilation (you can still restore it later using the Library Manager)

Choose between managed install:

  • Get ESP32-Chimera-Core from the Arduino Library Manager
  • Let the Arduino Library Manager download the LovyanGFX library dependency

or manual install:

Developers

Replace this:

  #include <M5Stack.h>

by this:

  #include <ESP32-Chimera-Core.h>

You can use #if defined(_CHIMERA_CORE_) macros to isolate ESP32-Chimera-Core specific statements.

  #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.

  #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