Getting Started with ESP8166 ESP-01

This is a tutorial that gives an introduction to the ESP8266 Wi-Fi module. It demonstrates how to use AT commands to control the module and how to send/receive data. In addition, it shows how to flash NodeMCU as an alternative firmware.

I am concerned that that “tutorial” does not consider the need for level conversion to interface the ESP8266. Now there is - as Mike will no doubt say - a difference between “it works (just now, when I tried it)” and “it will work for years” and you might get away with this, but bad practice should not be held out as a tutorial.

And the suggestion that the ESP8266 will work satisfactorily powered by the 3.3 V line on a UNO is also - shall I say - “interesting”. I suspect it will, but a substantial capacitor across this would seem to be a good idea.

Did you write this “tutorial”?


Your avatar suggests you did.

IMO, you are wasting time with the -01... Few I/O and a pain to program. But, I have used it a few times only because I was stupid and ordered 3.

Order the NodeMCU. It is fully supported with the ArduinoIDE and supported by igrr here.

There is an Arduino section here: Look down to Arduino forum

Ray

The tutorial is about using the ESP-01 with an Uno as a serial controlled WiFi module. For that application you don't need I/O and you don't need to program it so the ESP-01 is a reasonable choice other than the fact that you can't update to the latest AT firmware because it won't fit in the 512KB flash. The NodeMCU boards would not be my first choice for use as a serial module because they are much larger than is necessary for that purpose.

pert: The tutorial is about using the ESP-01 with an Uno as a serial controlled WiFi module. For that application you don't need I/O and you don't need to program it so the ESP-01 is a reasonable choice other than the fact that you can't update to the latest AT firmware because it won't fit in the 512KB flash. The NodeMCU boards would not be my first choice for use as a serial module because they are much larger than is necessary for that purpose.

Do you know what the latest firmware is?

I updated the firmware over-the-air, and I see 1.0.0 whereas the previous version was 0.40.0

ieee488: Do you know what the latest firmware is?

1.1 is the latest AT firmware(released May 20): http://bbs.espressif.com/viewtopic.php?t=2199 I don't know if it's been released to OTA firmware upgrade using AT+CIUPDATE yet:

We will upgrade the latest AT firmware to Espressif Cloud server only after it has been tested and the overall performance is guaranteed.

1.1 will not fit on the 01 and I think 0.40 is the last AT firmware for the 512k modules. ESP12 modules are cheap, they can be had the next day from Digikey, but for more money than eBay. Adafruit Huzzah is a breadboard friendly one with all the necessary components on it. It works quite well and reliably with AT commands and there is a great library on github for it: WiFiEsp.

Looks like the OP just wanted to advertise his tutorial, which applies to many Esp8266 with some adaptations, but is somewhat outdated, as the newer firmwares use _CUR and _DEF suffixes for the AT commands for current and default. Also, putty needs Control+J to send commands to the module. The ESP is advertised as 5V tolerant, so I don't think a level converter is needed, but a diode on the Rx line was used on the Huzzah module.

I guess I must not have the 512K module. What is the next "level" up?

If you mean flash size, they come in 1M, 2 and 4. The ones from Adafruit are 4M. Beware, Espressif advertises megabits for their flash, so divide by 8.

Oh, their firmware flasher will happily attempt to load firmware on a smaller flash and overwrite the next segment. Luckily, they are easy to recover by grounding pin 2.

somedude: If you mean flash size, they come in 1M, 2 and 4. The ones from Adafruit are 4M. Beware, Espressif advertises megabits for their flash, so divide by 8.

Oh, their firmware flasher will happily attempt to load firmware on a smaller flash and overwrite the next segment. Luckily, they are easy to recover by grounding pin 2.

Is there a way to tell which flash size my ESP-01 has?

ieee488: Is there a way to tell which flash size my ESP-01 has?

Since the ESP-01 doesn't have a shield you could probably just look at the markings on the flash chip and then find the datasheet.

The ESP_DOWNLOAD_TOOL(http://bbs.espressif.com/download/file.php?id=856) can detect standard flash chips. You just need to attach a USB to serial adapter, connect GPIO0 to ground, select the port, reset the ESP8266, and click the Start button and it should show up in the DETECTED INFO window.

If you're using the esp8266 Arduino core(instead of with the AT firmware) there is a test sketch at File > Examples > ESP8266 > CheckFlashConfig. You just upload it to the ESP8266 and then it displays the info in the Serial Monitor.

ieee488: Is there a way to tell which flash size my ESP-01 has?

There are many models: https://github.com/esp8266/esp8266-wiki/wiki/Hardware_versions

But all 3x of my -01 are 512, but very early samples sfe described here: link

I did find this 1M flash version: http://www.addicore.com/mobile/product.aspx?ProductCode=130&404;http://www.addicore.com:80/ESP8266-ESP-01-p/130.htm=

pert: The tutorial is about using the ESP-01 with an Uno as a serial controlled WiFi module. For that application you don't need I/O and you don't need to program it so the ESP-01 is a reasonable choice other than the fact that you can't update to the latest AT firmware because it won't fit in the 512KB flash. The NodeMCU boards would not be my first choice for use as a serial module because they are much larger than is necessary for that purpose.

On the other hand the NodeMCU boards have a much more robust layout with on board voltage regulator and proper bypass capacitors minimizing the potential frustration of seemingly random resets that many, myself included, seem to experience when starting with ESP-01 boards.

Though I probably wouldn't have listened anyway, I wish starting with NodeMCU were the consensus advice.