ESP8266 ESP-01, is a Wi-Fi module that allows microcontrollers access to a Wi-Fi network, we can give a microcontroller internet access like the Wi-Fi shield does to the Arduino, or we can simply program the ESP8266 to not only have access to a Wi-Fi network, but to act as a microcontroller as well.
So what can you load onto it? There’s a few versions of firmware that you can load onto them, like:
- The default AI-Thinker firmware
- ARDUINO. This is a very robust implementation of the Arduino feature set, so you can move Arduino code to a ESP8266!
- NodeMCU – a very popular firmware that gives pretty much full access to the microcontroller and wifi functions. Runs “Lua” scripts.
- MicroPython (stripped down python 3)
- Official Espressif (the manufacturer of the chipset). They provide a nice tool for flashing the firmware.
- ESP8266 BASIC. Turns it into an access point, and lets you run BASIC programs from a web browser.
Specifications ESP8266 ESP-01 :
- 8Mbit external QSPI flash memory (1MByte)
- 32-bit Tensilica Xtensa LX106 CPU running 80MHz
- 3.3V supply (current can spike 300mA+, depending on mode)
- PCB-trace antenna
- 2 x 4 dual-in-line pinout
- 14.3 x 24.8mm
There’s so many ways to bend this SoC (System on a Chip), but the basics are:
- To program, you have to toggle the GPIO 0 “PRGM” pin to ground after a low signal to the “RSET” pin, so both have to have their own momentary button connected to ground.
- Hook it up to a FTDI (or similar UART as shown in the product images), making sure it’s configured for 3.3V.
- Program it through the Arduino IDE. After you click the “Program” button in Arduino, it will start compiling your program. At this time:
- press and HOLD your “PRGM” button,
- tap the “RSET” button
- then RELEASE the “program” button when the Arduino IDE finishes the compile, and start “programming…”Manually wiring it up can be a PAIN. Look into the very-convenient 29248 adaptert hat mates your USB-TTL to it easily.