ESP-201を使ってみる


ESP8266EXチップを使ったESP-201という開発ボードが有ります。
あまり紹介されていないので紹介します。
このボードのピン配置はちょっと変わっていて、コの字型になっているので、ブレットボードには絶対に刺さりません。
また、外部アンテナがデフォルトになっています。
使われているFlashチップはBergMicroのBG25Q80(1M Byte)です。





下の写真のように裏返しにして、直接配線するか、専用の基盤を作るしかありません。



ESP-201のピン配置はこ ちらに綺麗なイラストがあります。
Arduino IDEを使ったスケッチの書き込みと実行はESP-12やESP-13と全く同 じです。

こ のイラストを見ると沢山のIOピンが使えそうに見えますが、実際に使えるのは(Tx/Rxを除いて)以下の8本です。
・GPIO_2
・GPIO_4
・GPIO_5
・GPIO_10
・GPIO_12
・GPIO_13
・GPIO_14
・GPIO_16

以下のスケッチで、これらのピンが使える事を確認しました。
GPIO_9を使うとリセットがかかります。
GPIO_10が使えてGPIO_9が使えない理由ですが、
GPIO 09 is connected to the flash and can't be used for normal I/O, even if it's available on a pin on modules like 201 and ESP-12E.
だそうです。
/*
 * Blink LED with ESP-201
 */

int pins[] = { 2, 4, 5, 10, 12, 13, 14, 16 };
int numpins;

void setup() {
  delay(1000);
  Serial.begin(115200);
  numpins=sizeof(pins)/4;
  Serial.print("Start numpins=");
  Serial.println(numpins);
  for (int i=0;i<numpins;i++) {
    pinMode(pins[i], OUTPUT);     // initialize onboard LED as output
    digitalWrite(pins[i], LOW);   // turn off LED with voltage LOW
  }
}

void loop() {
  static int pin=0;

  Serial.print("pin=");
  Serial.println(pins[pin]);
  for (int i=0;i<numpins;i++) {
    digitalWrite(pins[i], LOW);   // turn off LED with voltage LOW
  }
  digitalWrite(pins[pin], HIGH);  // turn on LED with voltage HIGH
  pin++;
  if (pin == numpins) pin=0;
  delay(1000);                    // wait one second
}

このボードはデフォルトが外部アンテナを使う設定になっています。
ボード上のジャンパーピンを変更することで、PCBアンテナを使うことができます。
ジャンパーピンの変更方法はこ ちらで紹介されていますが、ちょっと面倒です。
デフォルト設定&外部アンテナなしで使っていますが、APと近いからなのか、問題なくAPにつながります。

でも、ブレッドボードで使えないのは致命的です。
たぶん、もう買わないです。

ESP-01からESP-13までは、ShenZhen AI-thinker CO.,LTDがパッケージングしていますが、
この会社のプロダクトページを見ても、この製品は出てきません。
一体、どこがパッケージングしているのでしょうか??

ちょっと整理すると以下のようになります。
ESP8266EXは上海のEspressif Incが作った Wifiチップ
ESP-01からESP-13は深圳のShenZhen AI-thinker CO.,LTDがESP8266EXと他のパーツを組み合わせてパッケージした製品
ESP-201はどこかの会社がESP8266EXと他のパーツを組み合わせてパッケージした製品