Arduino IDEのインストール
ここからダウンロードしてインストール
https://www.arduino.cc/en/software
ボードマニフェストのインストール
ボードマネージャーを追加
1. Arduino IDEの「環境設定」で「追加のボードマネージャーのURL」のところ、入力欄の後のIconをクリック
2. 開いたウィンドウに下記のURLを一行ずつ入力
ESP8266 : http://arduino.esp8266.com/stable/package_esp8266com_index.json
ESP32 : https://dl.espressif.com/dl/package_esp32_index.json
環境設定の「OK」を押して終了
3. ボードマネージャーでマニフェストをインストール
「ツール」 => 「ボード: 〇〇」 => 「ボードマネージャー」を開きます
「ボードマネージャー」で esp を検索すると、ESP8266も、ESP32も出るはずです。そこにフォーカスすると、「インストール」のボタンが出てクリックします。

インストール成功すれば「ツール」 => 「ボード: 〇〇」のメニューがこんな風になります

[任意] Pythonライブラリーの追加
macOS Big Sur以上のOSで使用する時、esptool.pyがエラーを吐く現象が見られますので、念のためシステムのPythonに pyserial をインストールします。
$ /usr/local/bin/pip3 install pyserial
ボードと接続
共通
「ツール」 => 「シリアルポート: 〇〇」 を開き、/dev/cu.usbserial-〇〇 の方を選びます

シリアルポートについては、下記のコマンドでも確認できます。
$ ls -l /dev/tty.*
crw-rw-rw- 1 root wheel 9, 0 12 7 20:38 /dev/tty.Bluetooth-Incoming-Port
crw-rw-rw- 1 root wheel 9, 2 12 17 19:54 /dev/tty.usbserial-DN01IPIC
Windowsだと「COM1」のようなものが出ると思いますが、確認していません
ESP8266
ボード設定
ESP-WROOM-02など汎用開発ボードの場合は「ツール」 => 「ボード: 〇〇」 => 「ESP8266 Boards」 => 「Generic ESP8266 Module」を選びます。

細かい設定があるが、適当に合わします。デフォルトも全然書き込めますし、チューニングすれば若干?早くなるが、気のせいかと思います。

[重要] 書き込みについて
ボタンのある基板
「Flash」、「IO0」、「PGM」など書いているボタンを押しっぱなしして、「Reset」、「RST」が書いたボタンを押してリセットを行ってから書き込むこと



ボタンのない基板
IO0 PINをプールダウン(10Kの抵抗でGNDと繋ぐ)して、Reset PINは一瞬だけプールダウンしてから書き込むこと
書き込みが終わったら、IO0 PINのブールダウン状態を解放し、Reset PINをもう一回プールダウンして再起動すること
シリアルレイアウト
デフォルトではボードレート(変調速度)が9600bpsまたは115200bpsになっているが、リセットするたびに、大量な文字化けが出る場合があります。

上記文字化けを直すには、ボードレートを74880bpsに設定すると内容が読めます。
コアの内部情報なので、普段の使い方では別に気にしなくていいと思います。
ESP32
ボード設定
秋月電子などで購入できるESP32-WROOM-32Eのような開発ボードは、「ツール」 => 「ボード: 〇〇」 => 「ESP32 Arduino」 => 「ESP32 Dev Module」を選ぶといいでしょう

細かい設定はデフォルトでいいですが、Flashのサイズはもしわかれば、正確なサイズを選ぶといいでしょう

[重要] 書き込みについて
ボタンのある基板
これもESP8266と同様に、「IO0」、「Boot」が書かれたボタンを押しっぱなしして、「Rst」、「EN」とかが書かれたボタンを押してリセットを行います。


ボタンのない基板
IO0 PINをプールダウン(10Kの抵抗でGNDと繋ぐ)して、EN PIN(Reset PIN)は一瞬だけプールダウンしてから書き込むこと
書き込みが終わったら、IO0 PINのブールダウン状態を解放し、EN PINをもう一回プールダウンして再起動すること
シリアルレイアウト
ESP8266と違い、115200bps でチップ情報を表示しています。







