2016-03-29

First Steps with ESP-01 on OS X El Capitan

Environment: MacBook Pro Mid 2010, OS X El Capitan 10.11.4
ESP-01 Module + Simple DIY Dev Board (based on this)

  1. Install esptool to backup/change/update ESP8266 firmware
    1. Clone git repository https://github.com/themadinventor/esptool
      $ git clone https://github.com/themadinventor/esptool.git
      Cloning into 'esptool'...
      ...
      
    2. cd esptool
    3. run install routine
      $ sudo python setup.py install
      Password:
      running install
      ...
      Installing esptool.py script to /usr/local/bin
      
  2. Connect ESP8266 ESP-01 Board via CH340G Converter to MBP
    1. Install CH340G driver (WCH provides a signed driver)
    2. Identify the tty port
      $ ls /dev/tty.w*
      /dev/tty.wchusbserial410
    3. activate ESP boot loader (needs to be repeat before each esptool command) by reset ESP and pull GPIO 0 to GND meanwhile.
    4. Check communication
      $ esptool.py --port /dev/tty.wchusbserial410 --baud 115200 flash_id
      Connecting...
      Manufacturer: c8
      Device: 4013
      
      $ esptool.py --port /dev/tty.wchusbserial410 --baud 115200 chip_id
      Connecting...
      Chip ID: 0x009b82bc
      
      
  3. (optional) make a backup of the original firmware - takes about 48sec
    $ time esptool.py --port /dev/tty.wchusbserial410 --baud 115200 
    read_flash 0x000 524288 fw_backup.bin
    Connecting...
    Please wait...
    
    real 0m47.721s
    user 0m0.762s
    sys 0m0.344s
    
    (Note: ESP12-E has a bigger flash - 4MB = 4194304)
  4. Flash alternative firmware - I want to give NodeMCU firmware a try
    1. Use standard NodeMCU firmware (download from github) or
    2. Config your own customized NodeMCU firmware 
    3. Get the download links (integer and float version) about 2min later (you can also use the preconfigured
    4. Flash it to the ESP-01 (I start with the integer version)
      $ time esptool.py --port /dev/tty.wchusbserial410 --baud 115200 
      write_flash 0x00000 nodemcu-master-9-modules-2016-03-29-19-22-38-integer.bin
      Connecting...
      Erasing flash...
      Took 1.22s to erase flash block
      Wrote 403456 bytes at 0x00000000 in 48.2 seconds (66.9 kbit/s)...
      
      Leaving...
      
      real 0m50.195s
      user 0m0.383s
      sys 0m0.126s
      
  5. Connect to ESP. I use SerialTools (AppStore Link) - Note: Baud Rate is 76800

2016-03-10