Skip to content

Release 2.1.beta1

Pre-release
Pre-release
Compare
Choose a tag to compare
@tve tve released this 10 Nov 02:32
· 355 commits to master since this release

This is a beta release

For a stable release please use: https://github.com/jeelabs/esp-link/releases/tag/v2.0.rc1

Warnings

  • If your module has a 512KB version of esp-link V1 flashed you cannot upgrade over-the-air,
    you have to serially flash the larger firmware - sorry.
  • If you are using an Adafruit Huzzah module then you should select the esp-bridge pin-out (default) and add an external 4.7k-10k pull-up directly on the esp module's RX pin, alternatively, recompile esp-link to change https://github.com/jeelabs/esp-link/blob/master/serial/uart.c#L63 to PIN_PULLUP_EN, this will be a UI option in the next release...

Features:

  • port 23 transparent bridge, port 2323 programming bridge
  • AVR, ARM & esp8266 flashing support (port 23 and 2323)
  • built-in programmer for AVRs with optiboot (typical for Arduinos)
  • outbound TCP connections from attached micro-controller to the internet
  • outbound HTTP REST requests from attached microcontroller using espduino library and protocol
  • built-in MQTT client that can be used by attached uC using espduino library and protocol
  • over-the-air (OTA) reflashing of the esp if your module has 1MB or more flash (e.g. esp-12 but not esp-01)
  • console page to see the attached uC's output
  • simple debug log page to view the esp-link's own os_printf output
  • buttons to reset the uC and change the baud rate
  • pin configuration selector to change GPIO function assignments
  • web page to configure MQTT client and built-in status message publishing
  • saving of configuration changes in flash

Changes since v2.0.rc1:

  • single image fits any esp module flash size, no OTA reflashing of esp-link with 512KB modules though
  • built-in optiboot programmer

This version uses the Espressif IOT SDK version 1.4.0.

Install via serial upload

The short version for the serial install is:

  • flash boot_v1.4(b1).bin from the official esp_iot_sdk_v1.4.0 and included in the release tgz to 0x00000
  • flash blank.bin from the official SDK and also included in the tgz to 0x3FE000
  • flash user1.bin to 0x01000
  • be sure to use the commandline flags when flashing the bootloader to set the correct flash size

On Linux using esptool.py this turns into the following for a 32mbit=4MByte flash chip, such as an esp-12 module typically has:

curl -L https://github.com/jeelabs/esp-link/releases/download/v2.1.beta1/esp-link-v2.1.beta1.tgz | tar xzf -
cd esp-link-v2.1.beta1
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 32m -ff 80m 0x00000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x3FE000 blank.bin

I use a high baud rate as shown above because I'm impatient, but that's not required. For a 512KB flash module use `-fs 4m -ff40m' (that says 4Mbits and 40Mhz as opposed to 32Mbits at 80Mhz for the 4MByte flash modules).

Upgrade over-the-air

To upgrade from an earlier version 2.x of esp-link:

curl -L https://github.com/jeelabs/esp-link/releases/download/v2.1.beta1/esp-link-v2.1.beta1.tgz | tar xzf -
cd esp-link-2.1.beta1
./wiflash <esp-hostname> user1.bin user2.bin

Installing esptool.py

On Linux use esptool.py to flash the esp8266.
If you're a little python challenged then the following install instructions might help:

  • Install ez_setup with the following two commands (I believe this will do something
    reasonable if you already have it):

    wget https://bootstrap.pypa.io/ez_setup.py
    python ez_setup.py
    
  • Install esptool.py:

    git clone https://github.com/themadinventor/esptool.git
    cd esptool
    python setup.py install
    cd ..
    esptool.py -h