網路上較少ESP-201當Arduino的中文文章, 所以每次要接線都要翻閱資料許久. 英文資源雖不少, 但每次重看都需要稍微消化一下才懂.
這張全pin引出, 且可安裝在麵包版的ESP-201(雖然需要
小小改造一下), 是很適合拿來開發的板子. 我把開發ESP-201的基本設置筆記如下, 方便記性不太好的我可以翻閱.
ESP-201 header改造
ESP-201這張模組雖然拉出所有pin-out很方便, 但犯傻做錯了兩件事情:
- RX/TX的header方向讓ESP-201無法安裝在麵包板上
- 把pin的名字印在電路板的背面, 這樣裝上麵包板誰看的到
或許一開始設計就不打算讓大家裝在麵包板上.......
首先要解決第一個問題, 根據[2], 把RX/TX的header焊到另外一端即可, 或者你要更搞剛把兩個11-pin header焊到另外一邊, 這樣上述兩個問題就一次解決.......否則就照下圖的方式修改[2]:
before
after
ESP-201接線
但是
ESP8266 Arduino官網卻沒提到如何燒錄/連結ESP-201的資訊, 這讓我有點頭痛.
另外ESP-201上面標示的pin-out也跟一般ESP8266不一樣, 必須了解一下對應關係....
幸好已經有心人整理出下面這些圖
[1]:
但是這個方法需要USB-Serial可以拉出RTS, 以便控制ESP8266 Reset. 我手邊的USB-Serial都沒有拉出RTS, 像這種:
全部pin-out都有拉出的模組是比較適合搭配ESP-201的:
若你的USB-Serial也沒有RTS, 可以手工焊上鍍銀線把RTS拉出來, 但是沒地方可固定感覺不是很穩固, 只好作罷. 後來找到這張表:
模式
| GPIO | |
15 | 2 | 0 | |
1 | SDIO | 1 | x | x | 系統工作在 SDIO 模式, 可以用外部 MCU 驅動内部WIFI |
2 | 工作模式 | 0 | 1 | 1 | 系统從外部FLASH 啟動 |
3 | 燒錄模式 | 0 | 1 | 0 | 系统自動進入升級狀態,等待Serial-port下達命令 |
照表操課, 如果要燒錄的話, 要這樣接[2]:
GPIO0和GPIO15有接地即可燒錄. GPIO2可能內部有上拉電阻(?), 所以沒接也ok.
但每次上電後只能燒錄一次, 若要再燒錄必須斷電, 或者讓 RST接地讓ESP-201Reset.
我是直接拉出RST到微動開關,微動開關接地, 再加一個上拉電阻10k確保不會沒事Reset, 這樣每次要重新燒錄前, 按一下微動開關就好了.
還有人將ESP8266所有pin-out整理成一張非常棒的表[4], 開發時接線很方便:
我試著將上述幾張表整合成一張, 方便查詢:
Arduino IDE環境設置
ESP-201燒錄
從node.info()讀出來的訊息[2]:
flash size(byte) | flash mode (SPI mode) | flash speed(Hz) |
512 | 0 | 40000000 |
但我後來發現, 每一片ESP-201的flash不一定一樣, 同樣從node.info()讀出來, 我手上的ESP-201 flash參數如下:
flash size(byte) | flash mode (SPI mode) | flash speed(Hz) |
512 | 2 | 20000000 |
其中flash mode的部分不太確定數字對應的意義, 若參照[5]的說明:spi mode(0=QIO, 1=QOUT, 2=DIO, 3=DOUT)
註: 後來發現node.info()讀出來的值, 跟當初燒錄韌體時的設定是連動的, 也就是說這裡的值是設定好的, 未必直接關連到板子上的flash.
若你是用NodeMCU的燒錄工具, node.info()的值則直接關連到下圖的設定值:
Arduino IDE燒錄時的設定應該如下:
Flash Frequency的地方, 預設只有40和80MHz, 額外的頻率需要自行設定, 在 AppData\Roaming\Arduino15\packages\esp8266\hardware\esp8266\1.6.5-947-g39819f0 的目錄下(可能因為esp8266-arduino版本不同而目錄名稱略有不同), 編輯 boards.txt:
找到FlashFreq的欄位, 新增20/26.7兩種頻率即可.
[參考]
- ESP8266 ESP-201 module - first impressions
- ESP8266: ESP-201 breakout board review
- Generic ESP8266 modules
- ESP8266之GPIO功能、資源探索
- MOD-WIFI-ESP8266 Reflashing question
http://www.barissanli.com/electronics/nodemcu.php
http://www.areresearch.net/2015/05/flashing-running-esp-201-module.html
ESP8266 ESP-201 module - antenna troubleshooting