Arduino ESP32-S3の使い方

Arduino, ESP32-S3-N8R2を購入しました、N8R2は8MByte Flash、2MByte PSRAMを搭載しています。 N16R8もあります。こちらは16MByte Flash、8MByte PSRAMを搭載しています。 N16R8は価格も高いので、N8R2(800円くらいでした)を選びました。

ESP32-S3は他のArduinoとは違って、2つのスイッチと2つのUSB TypeCのコネクタがついています。

Arduino IDEのボードマネージャで、esp32をインストールします。

Boardとして”ESP32S3 Dev Module"を選びます。 IDEを使ってスケッチをESP32に書き込むにはUSBと書かれたType Cコネクタを使います。 ESP32を接続して電源を入れた後、BOOTボタンを押したまま、RST(Reset)ボタンを押します。 これで、Aeduino IDEからESP32がCOMポートとして見えます。



他にも数々の設定項目が表示されます。私は以下の3箇所を変更しました。 特に、USBからスケッチを書き込むためには、"USB CDC On Boot:"Enabled"に設定します。



LinuxでArduino IDEを使っている時、私の場合、スケッチ書き込み時に、Permission denided 'dev/ttyACM0'  とエラーが表示されました。この場合、以下のコマンドでグループを確認します。この場合、dialoutというグループでした。

> ls -l /dev/ttyACM*
crw-rw---- 1 root dialout 166, 0  6月  2 16:01 /dev/ttyACM0

現在、ユーザーが所属しているグループを確認します。dialoutが含まれていませんでした。

> groups
bear adm cdrom sudo dip plugdev lpadmin sambashare

グループにdialoutを加えます。これで書き込めるようになります。

> sudo usermod -aG dialout $USER

USB MIDIをインストールする

ESP32-S3はTinyUSBというライブラリを使って、USB MIDIに対応しています。 Arduino IDEのESP32-S3で使われるTinyUSB は、通常は別途ライブラリとしてインストールするものではなく、 ESP32 Arduino Core に含まれています。

USB MIDIをインストールします。

次のようなスケッチで確認することができます。

#include "USB.h"
#include "USBMIDI.h"

USBMIDI MIDI;

void setup() {
  USB.begin();
}

void loop() {
  MIDI.noteOn(60, 127, 1);
  delay(500);
  MIDI.noteOff(60, 0, 1);
  delay(500);
}