ESPBoy
ESPBoy
公式
https://inline.inajob.tk/img/twitter-5643382/ESPBoy/8ecb390c-a590-11eb-8303-7e7e644b6e42#.png
自作するには
回路が非常に簡単
https://inline.inajob.tk/img/twitter-5643382/ESPBoy/a2d0690e-a590-11eb-8303-7e7e644b6e42#.png
- ESP8266
- MCP23017
- 128x128液晶
- 電源
- ブザー
- 公式回路図
- ESP-WROOM-02のピンアウト
- ESPrの回路図
- ESP8266toCH340Gの回路図
自作する
- ESP-WROOM-02で自作したい
- USB-Serial周りも自分で作る
- CH330Nで速度が足りるか?
- AutoReset回路を作るにはDTRが足りない
- 王道のCH340G
- 水晶が必要
- モジュールを使ってしまうのが楽
- レギュレータが足りないなどの情報あり・・
- 静電気対策とかも試してみたい→ やらないかな・・ - この記事はとても勉強になる・・しかし面倒
- モジュールがあるが、接続が独特
- 自動リセット
- やはりDTRがないと辛い
- 自作で作るか・・
- 充電周り
- これは5Vだが・・
- 巷には3.3v品は少ない
- ESP8266の電源は2.5-3.6Vらしい
- 乾電池なら2本でいける
- レギュレータで下げる?
- なんか回りくどいな・・
- しかし今回はこれかな・・
- 3.7VのLiPoならそのまま繋げられそうだが・・
- 家にあるのはこれ(TP4056)
- ピンが全部出ているのでそのままくっつけるか。
- Type-C端子が無駄になるのは仕方ないか・・
- 部品表
- ESP-WROOM-02 (秋月: 320円)
- ブートモード切替スイッチ?
- 自動プログラムとは別に一応欲しい
- 電源用のスライドスイッチ
- USB端子
- LiPoチャージモジュール(3.3V out)
- 128x128液晶 (Ali: 600円)
- MCP23017 (秋月: 140円)
- タクトスイッチx8
- スピーカー
- 4.7k抵抗x2 pullup抵抗のようだ 1kでも良さそう
- CH340G
- 水晶
課題
- ESP-WROOM-02のArduinoのDigital Pinの番号が他と違う?
- ESP-WROOM-02はIO番号がそのままDigital Pin番号だが、ほかは違う?
- これどうなったんだっけ?
あとやる事
- {x} 20pinの拡張端子の設置
- {x} スイッチの位置と役割がおかしい気がする
- {x} 1117周りのコンデンサ
- {x} TFT液晶のピンと寸法の関係を計る(家にあったはず)
- シルクに液晶の寸法を記載
- {x} 部品名称をシルクに記載
- {x} 部品定数をシルクに記載
- {x} 角を丸める
- {x} 家にある12MHz水晶の寸法を測る
- {x} 自動配線を試す。(KeepOutの裏面が適用されているか?)
- {-} リセットピンなどをジャンパで引き出す?
- (いざという時の端子で代替できそう
- {x} 家に無い部品の確認
- 購入
- {x} 10Ω SMD抵抗
- {x} UMH3N
- {{calc (344+131)/50}}
- {x} AP1117-33
- {x} 10uFのキャパシタ (あるかな?)
- 買わない
- 12.1k SMD抵抗 フルカラーLEDのプルダウン? 別の値でも良さそうだが・・
- 4.7k SMD抵抗 プルアップ抵抗なので10Kで代用できそう
- L字2列ピンソケット(初回は無くても良い
- { } MCP4725 初回は無くても良い
- あるか確認
- {ある} 22pFのキャパシタ(まだある?)
- {ある} MCP23017(あったっけ?)
- {まぁある} WS2812B (実装済みがある
- {x} 家に無い部品の発注
- {x} 基板の発注
実装
- CH340Gの認識 OK
- ESP8266の認識 OK
- ESP8266の書き込みと実行 OK
すごい!!
- 手持ちのTFT液晶とピン配置が違う
- ST7735の128x128品
- {{calc 470+48}}
- 意外と少ない
- 手持ちの別ピン配置のボードであらかじめ実験しておきたい
- 2個注文した 20220615
- ESP-WROOM-02の残りが無くなった
- ブレイクアウトボードは1つある
- ESP-WROOM-02Dというものもある
- 4MBと2MBがある?
- もう少し調べてから買おう
ESPBoyのプロダクトのコンパイルが難しい
ArduinoIDEで過去のライブラリを参照するものばかりで、それ専用にArduinoIDEの環境を整える必要がある
単にライブラリの寄せ集めで作られているだけなので、プラットフォームという感じではない
Platformioに対応していないので依存ライブラリ周りが辛い
自動リセット回路、どこを見たか忘れた
UMH3Nを使った例がこれしか見つからないが、、本当か?
- 回路的にはこれのNodeMCU方式っぽい?
- これだ
- そしてESPBoyの方でも使われている
MCP23017がうまく動いていない
とりあえずI2Cがうまく動くか確認する
> pre
Scanning...
I2C device found at address 0x20 !
done
<<
認識はできているな・・
ディスプレイを搭載しているとI2Cの初期化が失敗する
scanもうまくいかないな・・
公式回路と違うのはBLだけだから・・抵抗を挟んでみるか・・?
他にありそうなのは、RSTくらいか?
BLの線を外したらTFTをつけたままでも動くようになった気がするが・・
FirstTestは動かないまま・・
LEDの処理を消したら動いた。。よくわからんな
追加部品
- SOT-23-6
- 秋月電子で100円
- 秋月電子で50円で2個
うーむ最安が秋月だ・・
ほかに買いたいものは ESP-WROOM-02の予備? 320円
エラッタ
- { } LiPo充電モジュールのフットプリントの大きさがおかしい
- 端がI/Oエキスパンダと干渉する
- 穴の位置がおかしい
- { } 電源とサウンドのスイッチのシルクが逆
- { } 充電中にゲーム機の電源が入ってしまう
- 2回路のスライドスイッチにする?
- 充電からのONとUSBからのONそそれぞれ制御できるようにする?
- 必ず充電回路を使うようにする?
ケースを作る
- 雑にFreeCADで作った
- スピーカーが入らない
- どうするのが良いか?
- 箱を深くして押し込む
- 液晶の裏に仕込む
- もう一回り小さなスピーカーを試す
- これは良さそう
OTAのAppStore試したい
普通に動いた
記事書いた
https://cdn-ak.f.st-hatena.com/images/fotolife/i/inajob/20220813/20220813150506.jpg