ESP8266 page
From Eric
m |
m |
||
Line 1: | Line 1: | ||
- | |||
= The chip= | = The chip= | ||
The ESP8266 is a SoC designed by Espressif. | The ESP8266 is a SoC designed by Espressif. | ||
- | Someone managed to decap the chip (well, a similar one) and show its internal layout (source [https://www.reddit.com/r/electronics/comments/2jq22l/esp8266_wifiserial_chip_decapped_its_actually | + | Someone managed to decap the chip (well, a similar one) and show its internal layout (source [https://www.reddit.com/r/electronics/comments/2jq22l/esp8266_wifiserial_chip_decapped_its_actually here]): |
[[File:esp8266_internals.jpg|400px|thumb|none]] | [[File:esp8266_internals.jpg|400px|thumb|none]] | ||
- | The MCU is a [http://ip.cadence.com/ipportfolio/tensilica-ip | + | The MCU is a [http://ip.cadence.com/ipportfolio/tensilica-ip Tensilica lx106 processor IP]. |
=The board= | =The board= | ||
Line 40: | Line 39: | ||
== Building and installing the cross-compiler and sdk== | == Building and installing the cross-compiler and sdk== | ||
- | I have followed the indications given [https://github.com/pfalcon/esp-open-sdk here]. A lot of information is also provided by Espressif on their [http://bbs.espressif.com/ | + | I have followed the indications given [https://github.com/pfalcon/esp-open-sdk here]. A lot of information is also provided by Espressif on their [http://bbs.espressif.com/ BBS]). In particular, a lot of documents are available on [http://bbs.espressif.com/viewforum.php?f=51 this page]. |
On a fresh MINT installation, here are the commands I had to type to get a complete development environment: | On a fresh MINT installation, here are the commands I had to type to get a complete development environment: |
Revision as of 18:17, 17 April 2016
Contents |
The chip
The ESP8266 is a SoC designed by Espressif.
Someone managed to decap the chip (well, a similar one) and show its internal layout (source here):
The MCU is a Tensilica lx106 processor IP.
The board
I use the following board.
Connecting the ESP8266 board to a PC
The main things to know:
- VCC is 3.3V (NOT 5V).
- Input pins are NOT 5V tolerant.
- The power supply shall deliver at least 500mA.
- Pin CH_PD must be pulled-up to 3.3V
- Pin RST must be pulled-up to 3.3V.
The ESP8266 board pin-out is the following:
Using AT commands
Every command must end with a CR/LF sequence. On minicom, this can be obtained using CTRL-M followed by CTRL-J. The AT commands are fully described in Espressif manual "[|ESP8266 AT Instruction Set]".
Reprogramming the ESP8266
The ESP8266 can be reprogrammed. To do so, you can either go the easy way using Arduino or the hard way installing a cross-compiler, a firmware uploading tool, etc.
Using the Arduino environment
(To be completed.)
Building and installing the cross-compiler and sdk
I have followed the indications given here. A lot of information is also provided by Espressif on their BBS). In particular, a lot of documents are available on this page.
On a fresh MINT installation, here are the commands I had to type to get a complete development environment:
git clone --recursive https://github.com/pfalcon/esp-open-sdk.git cd esp-open-sdk/ sudo apt-get install autoconf sudo apt-get install gperf sudo apt-get install texinfo sudo apt-get install libtool sudo apt-get install automake sudo apt-get install ncurses-dev sudo apt-get install g++ sudo apt-get install expat make STANDALONE=y
A lot of very interesting/important information about programming the ESP8266 are given here.
Uploading the software to the chip
The chip can be placed in the flash programming mode by pulling up GPIO0 during reset (pull down GPIO0, pull down RESET, pull-up RESET).
A flash download tool is provided by Espressif here. Other tools:
Restoaring the AT firmware
The AT firmware can be found [4] at Espressif.
Other sources of information
- ESP8266 community wiki
- Basic
- [5]: LUA on the ESP¨8266. You can build your version of NodeMCU on the net using site: configuration is done on the web site page and they buld the appropriate version of the firmware.