ESP8266 - Some Progress Made

With my new breakout board its much easier to talk to this device now. The only thing is that the module would occasionally randomly reset.

First thought was the signal levels on the TX/RX pins from 5v logic might not be tolerated well by the module so I popped in one of the PCA9306 logic shifter boards from Akizuki (even though its supposed to be for I2C/SPI it works fine for this purpose as well). Suddenly no more random resets so it seems that the ESP is not as 5v-tolerant on the signalling pins as some other 3.3v devices.

On to the firmware. Armed with the supposedly "best" current firmware from the Electrodragon site I proceeded to flash away. This firmware is much nicer than the version I had. Supports baud rate changing, which stays persistent through power cycles. Set the default rate back up to 115,200 so that I can also see the bootup diagnostics, which show up as line noise at the previous 9600bps default.

Notes:

  • CH_PD is the chip enable and needs to be tied high at all times.
  • RST can float but when brought low resets the chip.
  • GPIO0 if tied low at reset-time will bring the chip into firmware update mode but does not have any effect at other times
  • GPIO2 has no particular requirements

What I'm going to do for the next version of the breakout board:

  • Eliminate the shorting block selector for CH_PD, just hard-tie it high
  • Pullup resistor and a momentary switch to ground for RST
  • A 2-pin shorting block to ground for GPIO0 (or general use from the pin connected to the module)
  • Bring GPIO2 out to a header pin for general use