Youtubeでも活動中

チャンネル登録してくれたら喜びます。
リンクはフリーです。共有・拡散は大歓迎!

このボタンで簡単にチャンネル登録!
PR

【ESP32-S3-DevKitC-1-N8R2】でCircuitPythonを使ってみる。

ESP32-S3-DevKitC-1-N8R2-using-circuitpython-eyecatch

hobbyhappyです。

以前からESP32搭載のLolinD32の記事をいくつか挙げています。
ただこのLolinD32ですが、microPythonは導入できても、
CircuitPythonが導入できなかったんです。

CircuitPythonは、機種ごとの設定ファイルが用意されていて、
それにしっかり当てはまらないといけません。

LolinのESP32搭載のマイコンボードはいくつかあり、
その中の、Lolin S2 Miniまたは Pico、S3またはC3 Mini
であればCircuitPythonが使用可能です。

バッテリーの充電も駆動もできるのに、
ちょっと残念…

ESP32でCircuiPythonをやるのが目的だったので、
ここであきらめるわけにはいきません。

ということで新たに、
CircuitPythonで使用できることがわかっている、
ESP32-S3-DevKitC-1-N8R2を購入して試してみました。

この記事を読むことでわかること

自己紹介

サラリーマンしてます。

主に工場(生産現場)で使用する検査装置のアプリケーション開発してます。

ヒトの作業を自動化して簡略化するアプリケーションを日々開発中。

2022年5月に転職。現役バリバリの技術者です。
現在は超大手企業の新規事業分野で装置の研究・開発をしています。

Youtubeチャンネルにさまざまな動画を上げています

↓↓↓こちらからYoutubeチャンネルにアクセス!! ↓↓↓

注意

本ブログはアフィリエイトを用いた広告を掲載しています。

ESP32-S3-DevKitC-1-N8R2とはなんなのか??

ESP32-S3-DevKitC-1-N8R2-view
ESP32-S3-DevKitC-1-N8R2本体。ケースにすっぽり入っている。ピンヘッダは最初からついている。

ESP32-S3-DevKitC-1-N8R2とは、ESP32搭載のワンボードマイコンです。
ESP32をコアとするボードですね。

ESP32とは?特徴は?

ワンボードマイコンと言えば、
Arduinoシリーズ、STM32、RaspberryPiPicoなどがありますが、
このESP32の最大の特徴と言えば、無線通信が標準搭載されているところでしょう。

WiFi通信はもちろん、Bluetooth通信も可能で、
今はやりのBLE(Bluetooth Low Energy)なんかもできます。

BLEを使っているので有名なのは家中をIoT化できるSwitchBotなんかですね。
あれは、単四乾電池2本という省エネでBluetooth通信を可能にしています。

これとか。家にありますが、省エネですよね。

ここまではESP32についてのお話です。

ESP32-S3-DevKitC-1-N8R2の特徴は?

ESP32-S3-DevKitC-1-N8R2
ESP32-S3-DevKitC-1-N8R2

それでは作っているメーカーや、
スペック、ピン配置なんかについてこれから解説していきます。

作っているメーカーは?

さて、今回使用する、ESP32-S3-DevKitC-1-N8R2はESP32をコアとした
マイコンボードですが、どんな特徴があるかお伝えしていきましょう。

まず、このボードを作っているメーカーは、
ESPRESSIFというメーカーです。

実は、このメーカー、ESP32を作っているメーカーなんです。
つまり、コアであるESP32を作っているメーカーが基板の実装までやった。
それがこのマイコンボードなんですね。

STMicroなんかもこんな感じですよね。
NucleoはSTM32というSTMicro社製のマイコンを積んだSTMicro社製のマイコンボードですから。

このマイコンボードのスペックは?

次にスペックです。
スペックとして重要な項目は、基本的にはコアとなるCPUのスペックに依存します。

ESP32-S3-DevKitC-1-N8R2は、ESP32-S3-WROOM-1-N8R2というものが搭載されています。

  • Flashは8MB
  • PSRAMは2MB
  • 動作周波数は240MHz
  • input、outputともにTyp.でDC3.3V

ESP32-S3-WROOM-1-N8R2のピン配置は?

ピン配置はこんな感じです。

ESPRESSIFの情報を転載。

ESP32-S3-DevKitC-1-pin-assignment
ESPRESSIFより。

十分すぎるくらいの数が出ていますね。
Analog値とDigital値にしてくれるA/Dコンバーター付きのピンも豊富に備えています。
紫のピンですね。

左下に、4x SPIとか、2x I2C、2xI2Sなんて気になる記述がありますが、
これは、ピン番号に依存せず、こちら側で定義してあげれば使えるようです。
今後SPIやI2C通信が必要になったら記事にする予定です。

ESP32-S3-DevKitC-1-N8R2はどこで手に入る?

ESP32-S3-DevKitC-1は、町の電気屋さんでは売っていません。
Arduinoなどのマイコンボードが売っていないのと一緒ですね…

というわけで、購入はインターネット通販がベストです。
もちろん、秋葉原などが近い場合は現物がチェックできるかもしれませんが、
全員が全員行けるわけではないですからね….

ちなみに今回入手した先はAmazonです。
Amazonでなんでも手に入る時代ですね…思い立ったらすぐ購入できるのはいいところ。

Amazonの商品画像には技適マークが無いですが安心してください。
ちゃんと技適マークが入ったものが届きました。

ESP32-S3-DevKitC-1-N8R2-giteki
中段右側に小さく技適マークが入っている。

ESP32-S3-DevKitC-1-N8R2用のCircuitPythonのファイルを入手する。

モノが入手できたところで、
今度は中身を準備しましょう。

こちらのCircuitPythonのページに飛んでください。

やり方も上記のリンクのページに書いてあるのですが、
ここでは詳しく解説していきます。

ESP32-S3-DevKitC-1-N8R2用のファイルの入手先(注意!!)

では、上記のページから何をダウンロードするのか解説していきます。
注意があります。

それが、しっかりとご自分の入手したボードの型番を確認すること。

え、当たり前じゃん。と思いましたよね?
ただ、このDevKitCシリーズですが、バリエーションが結構あります。

今回紹介しているESP32-S3-DevKitC-1-N8R2をそのまま購入していれば問題ありませんが、
例えば、ESP32-S3-DevKitC-1-N8というものも存在します。

注意なのが、このESP32-S3-DevKitC-1-N8用のファイルを使っても、
ESP32-S3-DevKitC-1-N8R2は動きません。

似ているからと言っても、完全に別モノだと意識してください。
※ちなみに私は型番をしっかり確認していなかったのでとんでもなく時間を浪費しました…..

ダウンロードするもの① BINファイル

まずはBINファイルをダウンロードします。

download-bin-file
まずはこの.BINをダウンロードする。


これは、いったんESP32-S3-DevKitC-1-N8R2をまっさらにしたあと、
新たにCircuitPythonを使えるようにするためのツールです。

ダウンロードするもの② UF2ファイル

次にダウンロードするのは、UF2ファイルです。

download-uf2-file
UF2ファイルも必要なのでダウンロードしておく。


これは、RaspberryPiPicoで遊んだことがある人にはなじみ深いのではないでしょうか?

その時の記事はこちら。↓↓↓

UF2ファイルが出てくる記事

ここまでくればあと少しです!

CircuitPythonをESP32-S3-DevKitC-1-N8R2に適用する手順。

手順としては、こんな感じです。

  • ESP32-S3-DevKitC-1-N8R2をケーブルでPCにつなげる。
  • ブラウザのツールを使用して初期化する。
  • CircuitPython用のBINファイルを書き込む。
  • 新たに出現したフォルダにUF2ファイルを投げ込む。

ESP32-S3-DevKitC-1-N8R2用をケーブルでPCにつなげる。

無線でもできるようですが、
今回は有線で行きます。有線と言えばUSBケーブルですね!

というわけで必要なものはUSBケーブルです。
ESP32-S3-DevKitC-1-N8R2は、MicroB端子搭載です。
TypeCではないので注意です。

みんな大好きArduino Pro MicroやArduino Nano Everyなんかと一緒ですね。

持ってない!という場合は、1本くらい持っておいたほうがいいです。
それから、長さ的に長いの、短いのが欲しい。という場合も買ってしまいましょう。
ケーブルをけちることにあまり意味はありませんからね…

ブラウザのツールを使用して初期化する。

BINファイルやUF2ファイルをダウンロードしたページに
詳しいことは書いてありましたが、まずはESP32-S3-DevKitC-1-N8R2をまっさらにします。

手順としては単純です。
こちらのページに行きます。
Adafruitのツールです。

Adafruit-ESP-tool
Adafruit のESPToolを起動した状態。

すると、こんな感じの画面になりますので、
まずはConnectの隣の、ボーレートの設定です。

画像のように、460800に設定してください。

次が結構大事なのですが、
基板についている、BOOTボタンを押しながら、RESETボタンを押す。
その後、RESET⇒BOOTボタンの順で離す。

これをして下さい。

次に、Connectボタンを押しましょう。

Adafuit-esp-tool-connect
Connectボタンを押すとCOMポートが表示されます。

すると、このように、COMポートが表示されますので、
選択して、接続ボタンを押します。

接続完了したら、下のほうまで項目が出てきますが、
押すのは、Eraseボタンです。

adafruit-esp-tool-erase
まずはこのボタンを押して基板の中に書いてあるものを消去します。

文字通り、基板内に書き込まれている内容を消します。
消しちゃっていいの?と思うかもしれませんが、
全く問題ありません。

ArduinoIDEで書き込みをするときなんかも、
とくに気にせず書き込めます。逆にいうと、
ArduinoIDEで書き込む場合は、こんなに面倒なことは必要ないですので安心して下さい。

Eraseボタンを押すと、結構処理に時間がかかります。
最初フリーズしたか?と思いますが、安心して下さい。
20秒くらいかかったりします。

adafruit-esp-tool-erase-completed
基板に書き込んであったものを消去したところ。20秒以上かかっている。

↑これは実際にわたしのものが消去にかかった時間です。
20986msかかっているので、20秒以上ですね。

CircuitPython用のBINファイルを書き込む。

基板内の情報がいったんまっさらにできた状態で、
今度はCircuitPythonを書き込んでいきましょう。

adafruit-esp-tool-chose-file
eraseが終了したら、今度はBINファイルを選択する。

この画面から、Choose a fileというボタンを押して下さい。

このボタンを押してBINファイルを選択する。

すると、書き込むファイルを選択するためにエクスプローラが開きます。
そうしたら、ダウンロードしたBINフォルダ内の、combined.binを選択して下さい。

BINfile-choose-combinedbin
解凍したBINフォルダ内から、combine.binを選ぶ。

選択すると、こんな感じで表示されます。
そうしたら、Programボタンを押してください。

chosen-combined.bin
combined.binが選択された状態。次にProgramボタンを押す。

Programボタンを押すと、処理が始まります。
完了すると、このようなメッセージが表示されます。

completed-program
combined.binが書き込み終わったら、resetしろと指示が出る。

ということで、USBケーブルを抜き差しするか、
基板上のRESETボタンを押してください。

新たに出現したフォルダにUF2ファイルを投げ込む。

最後に、RESETボタンを押すと、
ハードリセットがかかって、エクスプローラが起動して、
このようなフォルダが開きます。

show-window-S3DKSC1BOOT
programが書き込み終わると出てくる画面。

RaspberryPiPicoで見覚えがありませんか?
あとは何をするか何となくわかりますよね?

そうです。用意しておいたUF2ファイルをこの中に投げ込みます。

insert-uf2file-into-ESP32-S3-DevKitC-1-N8R2
仕上げにUF2ファイルをこの中に投げ込む。

これでESP32-S3-DevKitC-1-N8R2でCircuitPythonで使えます。

ここからはCircuitPythonの扱いになるので、
Thonnyの出番ですね。

これでCircuitPythonが使えるようになっていますので、
いろいろ遊べますね!!

今回のまとめ

今回は、ESP32-S3-DevKitC-1-N8R2でCircuitPythonを使う方法についてご紹介しました。

LolinD32でCircuitPythonできれば特に不満はなかったんですが、
まあ、仕方ないですね~
結構このESP32-S3-DevKitC-1-N8R2ですが、最近の機種のようで
高性能なんですね。Bluetoothも5が入っているとか。

このボートを使って無線マウスとか、
無線キーボードも作れそうですね。

ただバッテリーが入れられないのがなあ。
あ、でもM5Stickとかだとバッテリーありで無線使えるし、CircuitPythonだって使えちゃうな…

んー悩ましいですね。

コメント

タイトルとURLをコピーしました