====== General info ====== [[http://espressif.com/en/products/esp8266/|ESP8266]] is a SOC module contains: * CPU: [[https://en.wikipedia.org/wiki/Tensilica|Tensilca]] Xtensa LX3, 32bit, 80MHz * RAM: 32kB, DRAM 80kB, Flash 200kB * WiFi 802.11 b/g/n (soft AP mode available) * and more Additionally on PCB: * External SPI Flash 512kB with firmware Device is 3,3V only and can consume over 200mA. Some FTDI or PL2303 conventers are capable to provide 3,3V VCC but the power is not enough to provide stable supply. {{ :esp8266:pl2303-usb-to-uart-600x570.jpg?200|}} * [[http://www.embeddedinsights.com/epd/tensilica/tensilica-xtensalx3.php|Xtensa overview]] * [[http://0x04.net/~mwk/doc/xtensa.pdf|Xtensa LX3 instruction set]] * [[https://github.com/espressif|Official software on Github]] * [[http://wiki.iteadstudio.com/ESP8266_Serial_WIFI_Module#AT_Commands]] * [[http://www.esp8266.com/wiki/doku.php]] * [[https://github.com/guyz/pyesp8266]] Memory MAP: [[http://www.esp8266.com/wiki/doku.php?id=esp8266_memory_map]] {{:home_automation:esp8266:esp8266_specifications_english.pdf|}}\\ {{:home_automation:esp8266:0a-esp8266_datasheet_en_v4.3.pdf|}} ====== External software ====== * [[https://github.com/igrr/esptool-ck/releases/download/0.4.8/esptool-0.4.8-linux64.tar.gz|esptool 0.4.8]] * [[https://github.com/themadinventor/esptool|https://github.com/themadinventor/esptool]] * [[http://arduino.esp8266.com/linux64-xtensa-lx106-elf-gb404fb9.tar.gz|xtensa-lx106-elf-gcc 1.20.0-26-gb404fb9-2]] * [[https://github.com/igrr/mkspiffs/releases/download/0.1.2/mkspiffs-0.1.2-linux64.tar.gz|mkspiffs 0.1.2]] ===== Pinout ===== {{:esp8266:esp_pinout_01.pdf|}} {{:home_automation:esp8266:esp8266_pinout.jpg?direct&200|}} ^ Pin # ^ GPIO ^ role / description ^^^^ | 15 | GPIO0 | FLSH | SPI_CS2 | | !!! Must be H during bootup. L=boot from UART | | 26 | GPIO1 | UART0_TXD | SPI_CS1 | | UART TX during flash programming 3,3V ! | | 14 | GPIO2 | UART1_TXD | | | UART TX during flash programming | | 25 | GPIO3 | UART0_RXD | | | UART Rx during flash programming 3,3V ! | | 16 | GPIO4 | | | | | | 24 | GPIO5 | | | | | | 21 | GPIO6 | | SPI_CLD | SD_CLK | | | 22 | GPIO7 | | SPI_MISO| SD_D0 | | | 23 | GPIO8 | | SPI_MOSI| SD_D1 | | | 18 | GPIO9 | HSPI_HD | SPI_HD | SD_D2 | | | 19 | GPIO10 | HSPI_WP | SPI_WP | SD_D3 | | | 20 | GPIO11 | | SPI_CS0 | SD_CMD | | | 10 | GPIO12 | HSPI_MISO | MTDI | | | | 12 | GPIO13 | HSPI_MOSI | MTCK | UART0_CTS / UART0_RXD2 | Note: there is UART Swap register, and UART0 can be muxed to GPIO13 and GPIO15 | | 9 | GPIO14 | HSPI CLK | MTMS | | | | 13 | GPIO15 | HSPI CS | MTDO | UART0_RTS / UART0_TXD2 | !!! Must be L durign bootup (H=SDIO mode) | | 8 | GPIO16 | XPD_DCDC | | | Depp sleep Timer output / USER / WAKE. Connect it to reset ping to wakeup from Deep Sleep mode | | | | | | | | | 7 | | CH_PD | CHIP_EN | | Chip power down - to enable chip needs to be pulled up | | 32 | | EXT_RSTB | | | External reset signal (active low) | | 6 | | T_OUT | ADC | | | | | | | | | | | 11 | | VDDPST | | | Digital I/O Power Supply (1.8V~3.3V) | | 17 | | VDDPST | | | Digital I/O Power Supply (1.8V~3.3V) | | 29 | | VDD | | | Analog power 3.0V~3.6V | | 30 | | VDDA | | | Analog power 3.0V~3.6V | | 27 | | XTAL_OUT | | | | | 28 | | XTAL_IN | | | | | 31 | | RES12K | | | Serial connection with a 12kOhm resistor do ground | ====== Firmwares ===== ===== Own firmware in C ===== ===== AT command ===== ===== NodeMCU ===== It is LUA based firmware (command interpreter). [[https://github.com/nodemcu/nodemcu-firmware]] ===== NodeLua ===== [[https://nodelua.org/]] ===== ESP Easy ==== The ESP Easy firmware can be used to turn the ESP module into an easy multifunction sensor device for Home Automation solutions like Domoticz. Configuration of the ESP Easy is entirely web based, so once you've got the firmware loaded, you don't need any other tool besides a common web browser. [[http://www.esp8266.nu]] Wiki page [[espeasy]] ===== Arduino ===== [[https://github.com/esp8266/Arduino]] [[https://github.com/markszabo/IRremoteESP8266]]