Hallelujah! I was able to finally flash the NodeMCU firmware!
First, I had to install esptool. Download esptool and run:
sudo python setup.py installNext, I grabbed the latest release of NodeMCU (it will be a bin file) from here. I'm not sure if I need the float or integer version so I picked float. We'll see if it works.
Next I had to find the serial address of the board. I plugged it in via USB and typed this into terminal:
ls -l /dev/tty*It was fairly obvious which device it is. Mine was named "tty.wchusbserialfa140"
Next I put the board into bootloader mode by pressing both the reset and flash buttons simultaneously. Let go of the reset button first, then the flash button. I ran the following command to flash the board:
python esptool.py -p /dev/tty.wchusbserialfa140 write_flash 0x00 /path/to/nodemcu_float_0.9.6-dev_20150704.binBe sure to replace with your actual device and path to the nodemcu firmware.