In my last post, I discussed how to acquire the NodeMCU firmware, and then how to flash it using a serial port (or, rather, your USB port). The assumption that I was making was that people already had the ESP8266-12 module in an easy-to-work-with form, like the NodeMCU DevKit or Adafruit Huzzah. But, some of the readers only had the bare module. I was asked what it would take to ready the ESP8266-12 module itself for programming. My response follows:
Here are the pinouts of the -12 module:
VCC needs to be 3.3V. Logic levels for TXD and RXD should be 3.3V also – these are your serial data lines that will connect back to your PC (or Raspberry Pi, etc) for programming. To be safe, you should use something like this device as the interface between your ESP8266 module and a PC’s USB port (available from Banggood, SparkFun, Adafruit, etc):
Starter Schematic for ESP8266-12
The prototyping boards (NodeMCU DevKit and Adafruit Huzzah) use momentary buttons for Reset and Flash. If you hold Flash, press and release Reset, then release Flash, the chip will remain in Flash mode until the next reset. You can also just leave GPIO0 tied to GND with a jumper during flash programming, and then remove that jumper (and perform a reset) to restore normal operation.
A starter schematic that build on this concept, as well as sets up the IO pins for correct reset operation:
Note: 10k pull-up/down resistors are shown here. This is probably the maximum value that you should use, but any value between 2k and 10k will work fine (and actually, the lower the value, the better as far as noise/glitching is concerned).
Latest posts by Falafel Posts (see all)
- Matching Complex Query String Rewrite Rule in IIS - March 22, 2017
- Using Google Services in UWP C# Apps – Part 2 - February 7, 2017
- Using Google Services in UWP C# Apps – Part 1 - February 6, 2017
- Redis Caching in the Google Cloud Platform - February 3, 2017
- Entity Framework with Google Cloud SQL - February 2, 2017