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
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);
}