How to flash espduino firmware on Cactus Micro ESP8266 rev1

Modify Cactus Micro:
http://blog.aprbrother.com/p/283
1) convert default serial port to hardware serial (cut/solder)
2) connect Digital pin 5 to ESP8266’s GPIO0 (so arduino sketch at the bottom of this page can pull ESP8266’s GPIO0 to GND – this puts the ESP8266 in program mode to receive firmware update)

Load Arduino programmer sketch – sends computer COM serial straight to ESP8266 hardware serial
https://github.com/volca/arduino_esp8266_programmer/blob/master/arduino_esp8266_programmer.ino

Flash firmware. Do NOT use esptool.py. I kept getting this error:

Instead, use the GUI for Node MCU
http://randomnerdtutorials.com/flashing-nodemcu-firmware-on-the-esp8266-using-windows/
https://github.com/nodemcu/nodemcu-flasher

Click Config tab
Uncheck the internal Node MCU firmware (selected by default)
Browse for espduino 0x00000 bin
Browse for espduino 0x40000 bin

Enjoy espduino!
https://github.com/tuanpmt/espduino

Important: when using the serial passthrough Arduino sketch, don’t change the default baud rate of espduino – I tried to be smart and set it at 9600 — didn’t work.

Below is the “passthrough” sketch I used to stream the firmware from USB through Arduino serial through ESP8266 hardware serial. It’s ugly and there are many other similar sketches, but I’m saving the one I used here, just in case.

P.S. You’ll probably want this Arduino library next:
ArduinoJSON
https://github.com/bblanchon/ArduinoJson/wiki/Using%20the%20library%20with%20Arduino