Current Lua downloadable firmware will be posted here

User avatar
By bird666
#53103 Hi all,

I've seen a lot of questions regarding the flashing of the ESP8266 ESP-12F with nodemcu firmware. Today I've successfully flashed mine and I like to share it with you.
Here is what I did:

Actually all the information is here:
http://nodemcu.readthedocs.io/en/latest/en/flash/#upgrading-firmware

But let me eloborate it more.
- First put the esp-12f in flash mode. That is, wire it like this image is showing. Image I used an FT232RL http://www.benlo.com/shop/shop.php?shop=e&for=FT232RL+USB+Serial+3.3V and not a separate LM1117 voltage regulator, but you get the idea. JUST BE SURE TO USE 3.3V other wise you're going to blowup the esp.
- Download this patch: http://bbs.espressif.com/download/file.php?id=1572 Inside you'll find a file called esp_init_data_default.bin. You will need this file later so save it.
- Next I used the cloud build service http://nodemcu-build.com/ to create a nodemcu firmware with the modules that I need. You will get an email once it has completed. (Don't forget a donation.) Save it. I saved it next to the esp_init_data_default.bin file.
- Clone the esptool git repo: git clone https://github.com/themadinventor/esptool
- cd to the esptool repo
- Finally I used the following command to flash the esp-12F:
./esptool.py --port /dev/tty<yours> write_flash 0x00000 ../esp-12/nodemcu-master-14-modules-2016-08-15-17-05-44-float.bin 0x3fc000 ../esp-12/esp_init_data_default.bin -fm=dio -fs=32m
(Replace <yours> with the usb port you are using. On my mac it's tty.usbserial-A7004kUk. Also your nodemcu build will have a different name.)
- Disconnect the GPIO0 and GPIO2 and connect the GPIO0 to 3.3v.

That should do the trick. I hope you'll be succesful too.
Last edited by bird666 on Wed Aug 17, 2016 2:47 am, edited 1 time in total.
User avatar
By devsaurus
#53109 Nice how-to, thanks a lot!

Maybe mention that GPIOs should be tied to VCC & GND with 10 kOhm resistors. This avoids that the hardware gets blown-up if they're switched to output unintentionally :cry: And they can still be used as regular GPIOs this way.