ESP8266 Development Note

Section 1 - has the binary

Use ESP8266Flasher.exe - Win32 or Win64

ESP8266 Quick Start
如何燒錄 ESP8266 無線模組的韌體

Binary Firmware
NodeMCU - (Precompiled) - Local
AT v0.9.5 - (Precompiled in bin/) - Local

Section 2 - has source

Build sources need the compiler + source + firmware packaging

Down from here. Compile with 'make'. And has binary 'esptool' put in /usr/bin/

Python utility to communicate with the ROM bootloader in Espressif ESP8266. (Can use ESP8266Flasher on Window)

3. Compiler & SDK Source
Espressif SDK way:

Easy way : use esp-open-sdk ; Howto :

On Ubuntu 14.04

  1. # Install needed dependencies
  2. sudo apt-get -y install git autoconf build-essential unzip 
  3. sudo apt-get -y install gperf bison flex texinfo libtool libncurses5-dev wget gawk libc6-dev-amd64 python-serial libexpat-dev dpkg-dev unzip
  4. # Install the esp-open-sdk toolchain
  5. cd /opt
  6. sudo git clone --recursive
  7. sudo chown -R jpenninkhof esp-open-sdk
  8. cd esp-open-sdk
  9. make STANDALONE=y
  10. echo 'PATH=$PATH:/opt/esp-open-sdk/xtensa-lx106-elf/bin' >> ~/.profile
  11. echo 'PATH=$PATH:/opt/esp-open-sdk/esptool' >> ~/.profile
  12. PATH=$PATH:/opt/esp-open-sdk/xtensa-lx106-elf/bin
  13. PATH=$PATH:/opt/esp-open-sdk/esptool
If autoconf > 2.69 ; simply download, make, make install -/usr/local/bin/autoconf <- first in your path
Because of different install location, check the Makefile path, might need to adjust the path as 'sed' below

git clone
cd source-code-examples/blinky
sed -i 's/Espressif/crosstool-NG/builds/xtensa-lx106-elf/bin/esp-open-sdk/xtensa-lx106-elf/bin/g' Makefile
sed -i 's/Espressif/ESP8266_SDK/esp-open-sdk/sdk/g' Makefile
sed -i 's/Espressif/esp-open-sdk/g' Makefile

Update esp-open-sdk

cd /opt/esp-open-sdk
make clean
git pull
git submodule update

Section 3 - connection

See below diagrams:

CH_PD : + GPIO-0 : - GPIO-2 : + GPIO-15 : -



ESP8266 Pin Out

Start from
Start from
SD Card
0 Y N N H L x bootmode : pull up for *normal* boot
1 Y normally UART0 TX
2 Y N N H H x bootmode : pull up for *normal* boot
3 Y normally UART0 RX ; you can use [stdout] to use it as GPIO
4 Y Y sometimes mislabeled as GPIO5 (esp-12)
5 Y Y sometimes mislabeled as GPIO4 (esp-12)
12 Y Y Y x x x
13 Y Y Y x x x
14 Y Y Y x x x
15 Y Y Y L L H bootmode : pull down for *normal* boot
16 Y Y
not implemented yet (no interrupt on this pin)

ESP8266 + Nokia 5110 LCD

RST         |   TXD
ADC         |   RXD
CH_PD       |   -05 LCD-CE
-16         |   -04 LCD-RST
-14 LCD-CLK |   -00 Boot:H, Flash:L
-12 LCD-DC  |   -02 Boot:H
-13 LCD-Din |   -15 Boot:L
VCC         |   GND

More Info

here is my current list of links for the ESP8266:

Labels: my.