ESP-01Sを使ってみる


ESPシリーズの元祖であるESP-01に、ESP-01Sが登場しまし た。
左がESP-01S 右が無印のESP-01




写真を撮って初めて気が付いたんですが、無印の方のロゴのInsideの文字がInsid8に見えます。
FlashチップがGigaDeviceのGD25Q80B[1MByte]から、WinbondのW25Q80[1MByte]に変わって います。



今まで気が付きませんでしたが、ESP-01SにはFlashチップとチップ抵抗の配置パターン違いの物があります。
左と真ん中の物はチップ抵抗の配置パターンは同じですが、Flashチップが違います。
真ん中と右の物はFlashチップは同じPUYA製品ですが、Flashチップの上下が逆でチップ抵抗の配置パターンが明らかに違います。
alibabaにあるAI-Thinkerの公式 ストアの写真では、左の製品がAi-Thinker製品の物で、他はクローンみたいです。


見た目でFlashチップの違いは分かりますが、Flash情報を読み出してみました。

こ ちらにESP-01/07/12シリーズのマニュアルがあります。
Figure 4.2 Typical Applications of ESP-01Sの絵を見ると、ESP-01には有るENとRSTのPullUp抵抗が、ESP-01Sではありません。
これらはESP-01S内部でPullUpされているようですが、実際に試してみると、ENはPullUpしないと起動できませんでした。

ファームの書き込みは、他のESP8266と同様に、GPIO0=PullDown、GPIO2=PullUpで書き込 むことができます。
ファームを書き込んだら、GPIO0=PullUp、GPIO2=PullUpで起動します。
ESP8266ではGPIO15もブートモードを決定するStripPinですが、ESP-01SではGPIO15はGNDに固定されています。

ESP-01S(AI-Cloudマーク付き)
WinbondのW25Q80が SPI接続されています。



ESP-01S(AI-Cloudマークなし)
Puya SemiconductorのP25Q80Hが QPIで接続されています。


Puyaが実装されているESP-01SはSPIFFSを使うときに問題があるようです。
「ESP-01 PUYA」でググるといろいろ出てきます。
ESPシリーズのFlashチップ一覧はこちらで紹介していま す。



Arduino環境を使ってファームをアップロードするときに、Flash Modeを指定しますが、
QIOモード/DIOモードのどちらで書き込んでも正しく動作するものと、
DIOモードで書き込まないと正しく動作しないものが有るようです。




ESP8266とESP32-C3の値段がほとんど変わらなくなったので、ESP-12やESP-WROOM-02を使う機会は激減しました。
ただ、リレーの制御など、2本のGPIOで十分な場合は、基板面積が小さくて済むESP-01Sを使う場合が有ります。
ESP-01Sのピン配置は独特なので、ブレッドボードでは使えないです。
そこで、このようなアダプターを使っています。
AliExpressやeBayで$1程度で入手することができます。


ESP-01Sを刺すとこの様になります。
基盤に小さなパスコンが実装されていますが、ESP-01Sは電源のふらつきに弱いようです。
GND-VCC間に220μ程度のパスコンを挟んで使っています。


ESP-12やESP-WROOM-02が淘汰されても、ESP-01Sだけは、基板面積が小さくて済むので、残るような気がします。