Releases: jeelabs/esp-link
Release 3.2.47 alpha
Warning: some users have trouble getting this release to work. After flashing nothing happens. Please use 3.0.14 instead for now.
I have been unable to reproduce the problem so far, all my modules work fine. The symptoms are that after flashing the esp8266 doesn't boot into the firmware and only one line is printed on the uart. I'm trying to find a solution but without being able to reproduce the problem it's a bit difficult.
Warning: this is an Alpha release
For a stable release, please use Release 3.0.14
Version v3.2 includes some improvements and bug fixes over v3.0.14, notably support for programming Arduino Mega with an ATmega2560 chip. The first alpha for v3.2 was released June 17th 2017 as v3.1.85. (v3.1 was never released further because I messed-up the numbering, so I moved on to v3.2.x.)
Download: http://s3.voneicken.com/esp-link/esp-link-v3.2.47-g9c6530d.tgz
For flashing and upgrade instructions see FLASHING.md
New in 3.2 over 2.x
- support to program ATmega2560
- support for rs485 serial protocol
- split up large TCP responses before forwarding to attached uC
- custom web pages
- rudimentary support for outgoing UDP and TCP connections initiated by the attached uC
- Telnet protocol controls for baud rate, parity, data size, break
- switch to Espressif SDK v2.1.0
Features:
- port 23 transparent bridge, port 2323 programming bridge
- AVR, ATmega & ARM flashing support (using port 23 and 2323)
- built-in programmer for AVRs & ATmega2560, auto-switches baud rate to 9600/57600/115200
- 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
- upload web pages to esp-link and let esp-link make callbacks to the attached uC to fill in values dynamically or handle button clicks and form submissions
- over-the-air (OTA) reflashing of the esp if your module has 1MB or more flash (e.g. esp-12 but not esp-01), now using either commandlin push model or web-browser upload model
- 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
- mDNS, syslog, and SNTP support
- saving of configuration changes in flash
- v3.2 must be built with the Espressif "NONOS" SDK 2.1.0
Release 3.0.14
Version v3.0 includes many bug fixes and several improvements over v2.2.3. v3.0.14 was released as an alpha Dec 16, 2016 and promoted to stable Jun 17, 2017.
Download: http://s3.voneicken.com/esp-link/esp-link-v3.0.14-g963ffbb.tgz
For flashing and upgrade instructions see
FLASHING.md
New in 3.0 over 2.x
- custom web pages
- rudimentary support for outgoing UDP and TCP connections initiated by the attached uC
- Telnet protocol controls for baud rate, parity, data size
Features:
- port 23 transparent bridge, port 2323 programming bridge
- AVR & ARM flashing support (using port 23 and 2323)
- built-in programmer for AVRs, auto-switches baud rate to 9600/57600/115200
- 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
- upload web pages to esp-link and let esp-link make callbacks to the attached uC to fill in values dynamically or handle button clicks and form submissions
- over-the-air (OTA) reflashing of the esp if your module has 1MB or more flash (e.g. esp-12 but not esp-01), now using either commandlin push model or web-browser upload model
- 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
- mDNS, syslog, and SNTP support
- saving of configuration changes in flash
- v3.0 must be built with the Espressif "NONOS" SDK 2.0.0 plus the 20160809 patch
Known issues:
- Setting the baud rate via telnet escapes has issues, see #239. This is fixed in later versions.
Release 3.0.alpha0
This is an alpha release
For a stable release, please use https://github.com/jeelabs/esp-link/releases/tag/v2.2.3
Version 3.0 includes many bug fixes and minor improvements over 2.2.3 and in addition, it includes a custom web pages features and rudimentary support for outgoing UDP and TCP connections initiated by the attached uC.
Download: http://s3.voneicken.com/esp-link/esp-link-v3.0.alpha0-d0377bd.tgz
For flashing and upgrade instructions see
FLASHING.md
Features:
- port 23 transparent bridge, port 2323 programming bridge
- AVR & ARM flashing support (using port 23 and 2323)
- built-in programmer for AVRs, auto-switches baud rate to 9600/57600/115200
- 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
- upload web pages to esp-link and let esp-link make callbacks to the attached uC to fill in values dynamically or handle button clicks and form submissions
- over-the-air (OTA) reflashing of the esp if your module has 1MB or more flash (e.g. esp-12 but not esp-01), now using either commandlin push model or web-browser upload model
- 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
- mDNS, syslog, and SNTP support
- saving of configuration changes in flash
- v3.0.alpha0 must be built with the Espressif "NONOS" SDK 2.0.0 plus the 20160809 patch
Release 2.2.3
Version 2.2.3 is close to 2.2.beta2, which has been stable, but includes a number of bug fixes. If you have trouble with 2.2.3 please try 2.2.beta2.
Features:
- port 23 transparent bridge, port 2323 programming bridge
- AVR, ARM & esp8266 flashing support (using port 23 and 2323)
- built-in programmer for AVRs, auto-switches baud rate to 9600/57600/115200
- 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
- mDNS, syslog, and SNTP support
- saving of configuration changes in flash
Warnings
- The 2.2 series breaks SLIP (mqtt & rest) compatibility with 2.1.7: the standard slip control characters are used and all the REST and MQTT commands have been overhauled. Please also use the new el-client library on the arduino side.
- Over-the-air upgrades of esp-link are no longer supported on esp8266 modules with 512KB of flash. You need
a module with more flash (such as an esp-12) for this to be possible. On the bright side: all the other features of
esp-link work great on the older modules.
Changes since v2.2.beta2:
- Fix AP-only mode and some AP password stuff
- Reduce memory usage when syslog is off
- Switch to SDK 1.5.4
- Misc other fixes
Install via serial upload
The short version for the serial install is:
- flash
boot_v1.5.bin
from the officialesp_iot_sdk_v1.5.1
and included in the release tgz to0x00000
- flash
blank.bin
from the official SDK and also included in the tgz to0x3FE000
- flash
user1.bin
to0x01000
- be sure to use the commandline flags when flashing the bootloader to set the correct flash size
32Mbit / 4Mbyte module
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.2.3/esp-link-v2.2.3.tgz | \
tar xzf -
cd esp-link-v2.2.3
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 32m -ff 80m \
0x00000 boot_v1.5.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.
4Mbit / 512Kbyte module
curl -L https://github.com/jeelabs/esp-link/releases/download/v2.2.3/esp-link-v2.2.3.tgz | \
tar xzf -
cd esp-link-v2.2.3
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 4m -ff 40m \
0x00000 boot_v1.5.bin 0x1000 user1.bin 0x7E000 blank.bin
The `-fs 4m -ff40m' options say 4Mbits and 40Mhz as opposed to 32Mbits at 80Mhz for the 4MByte flash modules. Note the different address for blank.bin (the SDK stores its wifi settings near the end of flash, so it changes with flash size).
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.2.3/esp-link-v2.2.3.tgz | \
tar xzf -
cd esp-link-2.2.3
./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
Release 2.2.beta2
This is a beta release
For a stable release, please use https://github.com/jeelabs/esp-link/releases/tag/v2.1.7
Features:
- port 23 transparent bridge, port 2323 programming bridge
- AVR, ARM & esp8266 flashing support (using port 23 and 2323)
- built-in programmer for AVRs, auto-switches baud rate to 9600/57600/115200
- 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
- mDNS, syslog, and SNTP support
- saving of configuration changes in flash
Warnings
- The 2.2 series breaks SLIP (mqtt & rest) compatibility with 2.1.7: the standard slip control characters are used and all the REST and MQTT commands have been overhauled. Please also use the new el-client library on the arduino side.
- Over-the-air upgrades of esp-link are no longer supported on esp8266 modules with 512KB of flash. You need
a module with more flash (such as an esp-12) for this to be possible. On the bright side: all the other features of
esp-link work great on the older modules.
Changes since v2.2.beta1:
- Fix serialization issue with SLIP protocol (caused all kinds of problems)
- Fix issue sync-ing SLIP dues to incorrect integer promotion
- Handle malloc failure in syslog compose
- new REST and MQTT library: el-client
Additional changes since v2.2.beta0:
- new flashing algorithm for AVRs that supports arduino bootloader and optiboot
- support for configuring the Wifi AP parameters and keeping the AP always on
- fix issue causing RX pullup to always be on
- fix UI issues with description field
- compiled with SDK 1.5.1 (uses the new boot_v1.5.bin bootloader, but the 1.4 one works as well)
Additional changes since v2.1.7:
- mDNS support (multicast DNS announcement of esp-link's hostname)
- SNTP support (simple network time protocol) so esp-link has the correct time
- Syslog support
Install via serial upload
The short version for the serial install is:
- flash
boot_v1.5.bin
from the officialesp_iot_sdk_v1.5.1
and included in the release tgz to0x00000
- flash
blank.bin
from the official SDK and also included in the tgz to0x3FE000
- flash
user1.bin
to0x01000
- be sure to use the commandline flags when flashing the bootloader to set the correct flash size
32Mbit / 4Mbyte module
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.2.beta2/esp-link-v2.2.beta2.tgz | \
tar xzf -
cd esp-link-v2.2.beta2
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 32m -ff 80m \
0x00000 boot_v1.5.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.
4Mbit / 512Kbyte module
curl -L https://github.com/jeelabs/esp-link/releases/download/v2.2.beta2/esp-link-v2.2.beta2.tgz | \
tar xzf -
cd esp-link-v2.2.beta2
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 4m -ff 40m \
0x00000 boot_v1.5.bin 0x1000 user1.bin 0x7E000 blank.bin
The `-fs 4m -ff40m' options say 4Mbits and 40Mhz as opposed to 32Mbits at 80Mhz for the 4MByte flash modules. Note the different address for blank.bin (the SDK stores its wifi settings near the end of flash, so it changes with flash size).
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.2.beta2/esp-link-v2.2.beta2.tgz | \
tar xzf -
cd esp-link-2.2.beta2
./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
Release 2.2.beta1
This is a beta release
For a stable release, please use https://github.com/jeelabs/esp-link/releases/tag/v2.1.7
Features:
- port 23 transparent bridge, port 2323 programming bridge
- AVR, ARM & esp8266 flashing support (using port 23 and 2323)
- built-in programmer for AVRs, auto-switches baud rate to 9600/57600/115200
- 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
- mDNS, syslog, and SNTP support
- saving of configuration changes in flash
Warnings
- The 2.2 series breaks SLIP (mqtt & rest) compatibility with 2.1.7: the standard slip control characters are used and all the REST and MQTT commands have been overhauled. Please also use the new el-client library on the arduino side.
- Over-the-air upgrades of esp-link are no longer supported on esp8266 modules with 512KB of flash. You need
a module with more flash (such as an esp-12) for this to be possible. On the bright side: all the other features of
esp-link work great on the older modules.
Changes since v2.2.beta0:
- new REST and MQTT library: el-client
- new flashing algorithm for AVRs that supports arduino bootloader and optiboot
- support for configuring the Wifi AP parameters and keeping the AP always on
- fix issue causing RX pullup to always be on
- fix UI issues with description field
- compiled with SDK 1.5.1 (uses the new boot_v1.5.bin bootloader, but the 1.4 one works as well)
Additional changes since v2.1.7:
- mDNS support (multicast DNS announcement of esp-link's hostname)
- SNTP support (simple network time protocol) so esp-link has the correct time
- Syslog support
Install via serial upload
The short version for the serial install is:
- flash
boot_v1.5.bin
from the officialesp_iot_sdk_v1.5.1
and included in the release tgz to0x00000
- flash
blank.bin
from the official SDK and also included in the tgz to0x3FE000
- flash
user1.bin
to0x01000
- be sure to use the commandline flags when flashing the bootloader to set the correct flash size
32Mbit / 4Mbyte module
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.2.beta1/esp-link-v2.2.beta1.tgz | \
tar xzf -
cd esp-link-v2.2.beta1
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 32m -ff 80m \
0x00000 boot_v1.5.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.
4Mbit / 512Kbyte module
curl -L https://github.com/jeelabs/esp-link/releases/download/v2.2.beta1/esp-link-v2.2.beta1.tgz | \
tar xzf -
cd esp-link-v2.2.beta1
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 4m -ff 40m \
0x00000 boot_v1.5.bin 0x1000 user1.bin 0x7E000 blank.bin
The `-fs 4m -ff40m' options say 4Mbits and 40Mhz as opposed to 32Mbits at 80Mhz for the 4MByte flash modules. Note the different address for blank.bin (the SDK stores its wifi settings near the end of flash, so it changes with flash size).
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.2.beta1/esp-link-v2.2.beta1.tgz | \
tar xzf -
cd esp-link-2.2.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
Release 2.2.beta0
This is a beta release
For a stable release, please use https://github.com/jeelabs/esp-link/releases/tag/v2.1.7
Features:
- port 23 transparent bridge, port 2323 programming bridge
- AVR, ARM & esp8266 flashing support (using port 23 and 2323)
- built-in programmer for AVRs with optiboot (typical for Arduinos), auto-switches baud rate to 9600/57600/115200
- 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
- mDNS, syslog, and SNTP support
- saving of configuration changes in flash
Warnings
- The 2.2 series breaks SLIP (mqtt & rest) compatibility with 2.1.7: the standard slip control characters are used instead of the weird ones inherited from espduino.
- Over-the-air upgrades of esp-link are no longer supported on esp8266 modules with 512KB of flash. You need
a module with more flash (such as an esp-12) for this to be possible. On the bright side: all the other features of
esp-link work great on the older modules.
Changes since v2.1.7:
- compiled with SDK 1.5.0
- mDNS support (multicast DNS announcement of esp-link's hostname)
- SNTP support (simple network time protocol) so esp-link has the correct time
- Syslog support
- Improved AVR/optiboot programmer
Install via serial upload
The short version for the serial install is:
- flash
boot_v1.4(b1).bin
from the officialesp_iot_sdk_v1.5.0
and included in the release tgz to0x00000
- flash
blank.bin
from the official SDK and also included in the tgz to0x3FE000
- flash
user1.bin
to0x01000
- be sure to use the commandline flags when flashing the bootloader to set the correct flash size
32Mbit / 4Mbyte module
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.2.beta0/esp-link-v2.2.beta0.tgz | \
tar xzf -
cd esp-link-v2.2.beta0
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.
4Mbit / 512Kbyte module
curl -L https://github.com/jeelabs/esp-link/releases/download/v2.2.beta0/esp-link-v2.2.beta0.tgz | \
tar xzf -
cd esp-link-v2.2.beta0
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 4m -ff 40m \
0x00000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x7E000 blank.bin
The `-fs 4m -ff40m' options say 4Mbits and 40Mhz as opposed to 32Mbits at 80Mhz for the 4MByte flash modules. Note the different address for blank.bin (the SDK stores its wifi settings near the end of flash, so it changes with flash size).
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.2.beta0/esp-link-v2.2.beta0.tgz | \
tar xzf -
cd esp-link-2.2.beta0
./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
Release 2.1.7
Version 2.1.7 is identical to 2.1.beta6. The latter has worked well for a while and a 2.2 series with new features is about to start, so this is a good time to promote the code in 2.1.beta6 to release status.
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), auto-switches baud rate to 9600/57600/115200
- 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
Warnings
- Over-the-air upgrades of esp-link are no longer supported on esp8266 modules with 512KB of flash. You need
a module with more flash (such as an esp-12) for this to be possible. On the bright side: all the other features of
esp-link work great on the older modules.
Changes since v2.0.rc1:
- built-in optiboot programmer
- added automatic switching to 9600/57600/115200 baud when using built-in AVR programmer (it will try the baud rate set on the uC Console page first)
- changed pin config to allow control over individual pin assignments
- added option for internal pull-up on RX pin
- fix switching between dhcp and static IP
- extend reset pulse so programming an esp8266 works
- merged "system name" shown in menu bar and "hostname" used for DHCP (and mDNS someday)
- changed home page around
- compiled with SDK v1.4.1_pre7
- added option to select uart1 for debug log
- added drop-down for baud rates, warning pgm baud rate selection is non-functional
- fixed style of uC console page, now 100% height
- uC console text input courtesy https://github.com/katyo
- first cut at supporting hidden SSIDs
- improved click-to-edit name/description fields
- extended AP+STA time before switching to STA-only
- new esp-link summary card on home page with, among other things, info on the flash chip and configured size
- new editable 12-character "name" displayed on home page and in left menu bar so you know which esp-link module you're looking at
- new editable 128 character "description" displayed on home page so you can leave yourself a memo about this module
- single image fits any esp module flash size, no OTA reflashing of esp-link with 512KB modules though
- attempt to fix crash when scanning and there are too many access points around (I have not been able to really test the fix yet)
This version uses the Espressif IOT SDK version v1.4.1_pre7.
Install via serial upload
The short version for the serial install is:
- flash
boot_v1.4(b1).bin
from the officialesp_iot_sdk_v1.4.0
and included in the release tgz to0x00000
- flash
blank.bin
from the official SDK and also included in the tgz to0x3FE000
- flash
user1.bin
to0x01000
- be sure to use the commandline flags when flashing the bootloader to set the correct flash size
32Mbit / 4Mbyte module
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.7/esp-link-v2.1.7.tgz | \
tar xzf -
cd esp-link-v2.1.7
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.
4Mbit / 512Kbyte module
curl -L https://github.com/jeelabs/esp-link/releases/download/v2.1.7/esp-link-v2.1.7.tgz | \
tar xzf -
cd esp-link-v2.1.7
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash -fs 4m -ff 40m \
0x00000 boot_v1.4\(b1\).bin 0x1000 user1.bin 0x7E000 blank.bin
The `-fs 4m -ff40m' options say 4Mbits and 40Mhz as opposed to 32Mbits at 80Mhz for the 4MByte flash modules. Note the different address for blank.bin (the SDK stores its wifi settings near the end of flash, so it changes with flash size).
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.7/esp-link-v2.1.7.tgz | \
tar xzf -
cd esp-link-2.1.7
./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
Release 2.1.beta6
Please use release 2.1.7 instead of this one, they're identical, but somehow github sorts them in an unfortunate order
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.
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), auto-switches baud rate to 9600/57600/115200
- 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.1.beta5:
- fix switching between dhcp and static IP
- extend reset pulse so programming an esp8266 works
Changes since v2.1.beta4:
- added automatic switching to 9600/57600/115200 baud when using built-in AVR programmer (it will try the baud rate set on the uC Console page first)
- changed pin config to allow control over individual pin assignments
- added option for internal pull-up on RX pin
- merged "system name" shown in menu bar and "hostname" used for DHCP (and mDNS someday)
- changed home page around
- compiled with SDK v1.4.1_pre7
Changes since v2.1.beta3:
- disabled mDNS 'cause free complains about memory already freed: I think the SDK's mDNS is buggy...
- added option to select uart1 for debug log
- added drop-down for baud rates, warning pgm baud rate selection is non-functional
- fixed style of uC console page, now 100% height
Changes since v2.1.beta2:
- uC console text input courtesy https://github.com/katyo
- first cut at mDNS support, not happy yet...
- first cut at supporting hidden SSIDs
- improved click-to-edit name/description fields
- extended AP+STA time before switching to STA-only
Changes since v2.1.beta1:
- new esp-link summary card on home page with, among other things, info on the flash chip and configured size
- new editable 12-character "name" displayed on home page and in left menu bar so you know which esp-link module you're looking at
- new editable 128 character "description" displayed on home page so you can leave yourself a memo about this module
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
- attempt to fix crash when scanning and there are too many access points around (I have not been able to really test the fix yet)
This version uses the Espressif IOT SDK version v1.4.1_pre7.
Install via serial upload
The short version for the serial install is:
- flash
boot_v1.4(b1).bin
from the officialesp_iot_sdk_v1.4.0
and included in the release tgz to0x00000
- flash
blank.bin
from the official SDK and also included in the tgz to0x3FE000
- flash
user1.bin
to0x01000
- 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.beta6/esp-link-v2.1.beta6.tgz | tar xzf -
cd esp-link-v2.1.beta6
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.beta6/esp-link-v2.1.beta6.tgz | tar xzf -
cd esp-link-2.1.beta6
./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
Release 2.1.beta5
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.
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), auto-switches baud rate to 9600/57600/115200
- 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.1.beta4:
- added automatic switching to 9600/57600/115200 baud when using built-in AVR programmer (it will try the baud rate set on the uC Console page first)
- changed pin config to allow control over individual pin assignments
- added option for internal pull-up on RX pin
- merged "system name" shown in menu bar and "hostname" used for DHCP (and mDNS someday)
- changed home page around
- compiled with SDK v1.4.1_pre7
Changes since v2.1.beta3:
- disabled mDNS 'cause free complains about memory already freed: I think the SDK's mDNS is buggy...
- added option to select uart1 for debug log
- added drop-down for baud rates, warning pgm baud rate selection is non-functional
- fixed style of uC console page, now 100% height
Changes since v2.1.beta2:
- uC console text input courtesy https://github.com/katyo
- first cut at mDNS support, not happy yet...
- first cut at supporting hidden SSIDs
- improved click-to-edit name/description fields
- extended AP+STA time before switching to STA-only
Changes since v2.1.beta1:
- new esp-link summary card on home page with, among other things, info on the flash chip and configured size
- new editable 12-character "name" displayed on home page and in left menu bar so you know which esp-link module you're looking at
- new editable 128 character "description" displayed on home page so you can leave yourself a memo about this module
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
- attempt to fix crash when scanning and there are too many access points around (I have not been able to really test the fix yet)
This version uses the Espressif IOT SDK version v1.4.1_pre7.
Install via serial upload
The short version for the serial install is:
- flash
boot_v1.4(b1).bin
from the officialesp_iot_sdk_v1.4.0
and included in the release tgz to0x00000
- flash
blank.bin
from the official SDK and also included in the tgz to0x3FE000
- flash
user1.bin
to0x01000
- 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.beta5/esp-link-v2.1.beta5.tgz | tar xzf -
cd esp-link-v2.1.beta5
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.beta5/esp-link-v2.1.beta5.tgz | tar xzf -
cd esp-link-2.1.beta5
./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