2016年2月29日月曜日

ESP8266のオートプログラム仕様

最近発売されるESPブレイクアウトボードには、「GPIO0をGNDに落とした状態でRESETを押す」なんて面倒なことをしなくても、Arduino IDEでcmd+Uを押すだけで勝手にコンパイル→アップロードが済むようになってます。Auto Program機能ってやつですね。フリップ&フロップやダイオードを使ったものなど何種類かあるようです。

DTRからの出力を時間差を作ってRESETとGPIO_0につなぐだけなので、組み込むのは造作もないことなのですが、私の設計している基板には搭載していません。

それは、ESP8266/ESP-WROOM-02にはリセット時に内部クロックがGPIO_0(ゼロ)から漏れてくる、というバグがあるからです。ただ漏れるだけなら大したことはないのですが、個体によっては -1 〜 5v まで変動するという計測結果もあり、これは回路によってはFTDIやUSB端子までも壊しかねない電圧です。

私の基板は、開発用ではなく「使い倒す基板」がコンセプトです。そのためにオーバークォリティ気味のレギュレータとOS-CONを搭載し、大きな面積を食うネジ穴を3つも開け、何より開発の時にしか使わないものに電流を食われることを排除しています。

ArduinoみたいにIDEでcmd+Uをタイプするだけでアップロードできるのは確かに便利ですが、ESP以外の基板を破損するようなリスクは極力小さくしたい、と思ってます。なので、GPIO_0にはスイッチとプルアップ抵抗しかつないでいません。

なお、あんまり作例ではみかけないのですが…GPIO_0に取り付けたスイッチは、プログラムをアップロードするときだけでなく普通にスイッチ入力として使えます。スイッチが1つ付いているだけですごく便利なんですよね。ただ、チャタリングを避けつつ長押しとちょい押しを判断するプログラムって以外と面倒くさいので、今度、作ります。

閑話。



写真がないと寂しいので、今日の昼飯(仕出し弁当430円)の写真を貼っておきますw 430円の割には野菜分が多いので愛してます。

なお、今日から「特茶」飲み始めました。

知人がこれで数キロ落とすことに成功したというので、箱買しました。その安易な姿勢が(ry

0 件のコメント:

コメントを投稿