M5Atom:小型ESP32端末、M5Atom!

M5Stackに新シリーズM5Atomが登場!さっそく買ってみました。

 

5×5のNeoPixel付きM5Atom MatrixとLED1個のM5Atom Lite!充電池は内蔵してないですが、その分小さいです!

(実は、日本発売前にM5Stack本家通販から入手だけはしていたのですが、まだ技適付きではなく、こちらは記念品w)


今回は、スイッチサイエンスさんからの購入なので技適付きです!

あれ?技適付き…のはずだったのですが、M5Atom Matrixには技適シールがない…。

どうやら、手違いがあったらしく、一部技適無しが紛れてしまったようです。連絡すれば交換してくれるとのことなので、M5Atom Matrix については交換待ちです。


ということで、しばらくはM5Atom Liteで遊んでみますー。

このサイズでESP32、Wi-Fi付き…!すごいです。


ArduinoライブラリマネージャからM5Atomライブラリをインストール。M5Atom以外にも、NeoPixel操作のためのFastLEDライブラリの追加が必要でした。

M5Atomでどんなことができるかは、以下のところからドキュメント/ソース参照しつつ。

https://github.com/m5stack/M5Atom

ボードの設定は「M5Stick-C」で行けました。「ESP32 Pico Kit」でもやってみたのですが、こちらは端末への転送時にTimeout Errorが出てうまくいきませんでした。(転送速度設定の問題かも?)


最初はいつものHello,Worldを行いたいのですが、画面がないとなー。…ということで、1.3インチ小型液晶を接続してみました。

以前にM5Stackでやったことあったので、同じ方法でいけました。Arduino-ST7789-Library を(一部修正して)使います。

M5Stack:外付け1.3インチ液晶
http://shikarunochi.matrix.jp/?p=2847

#include <M5Atom.h>
#include <Adafruit_GFX.h>    // Core graphics library by Adafruit

#include <Arduino_ST7789.h> // Hardware-specific library for ST7789 (with or without CS pin)
#define TFT_DC 33
#define TFT_RST 23
#define TFT_MOSI 19 // for hardware SPI data pin (all of available pins)
#define TFT_SCLK 22 // for hardware SPI sclk pin (all of available pins)
Arduino_ST7789 tft = Arduino_ST7789(TFT_DC, TFT_RST, TFT_MOSI, TFT_SCLK); //for display without CS pin

void setup() {
  Serial.begin(115200);
  M5.begin();
  tft.init(240, 240);
  delay(100);
  tft.fillRect(0, 0, 240, 240, BLACK);
  delay(100);
  tft.setTextColor(WHITE); 
  tft.setTextSize(3);
  tft.println("Hello World!");
}
void loop(){
  
}

接続は、3V3 側の列5本とGNDの合計6本。これで。

“Hello,World!”

ちなみに、使用した液晶はこちらです。


いくつか種類選べますが、240×240のタイプです!


あっ!LED付きなのだから、最初はLチカすべきでした…!M5AtomのLEDサンプルを参考にしつつ…。

#include <M5Atom.h>
void setup()
{
     M5.begin(true, false, true);
    delay(50);
    M5.dis.drawpix(0, 0xf00000);
}
void loop()
{
}

Lチカ成功!

beginのパラメータは以下の通り。

begin(bool SerialEnable , bool I2CEnable , bool DisplayEnable )

I2CEnableにすると、以下の設定でI2Cスタートします。

Wire.begin(25,21,10000);

LED表示は内部的にはFastLEDを使用。(なのでライブラリ必要)
M5Atom Matrixが5×5=25個、M5Atom Lite が1個 ですね。M5Atom LiteもNeoPixelでした。