Using latest / newer ESP8266 Arduino version


Im using Platformio’s developement version in combination with Arduino Framework for the ESP8266. I just realized, that its not possible to update the framework manually any more (and readding the versions.txt) as I was used to do. The default framework version is 2.2 as far as I can see, which is from May '16. The issue is due to the changes in the plattform.txt starting with Use gcc-built LwIP by default (#1926) · esp8266/Arduino@a2b82ed · GitHub

Is there any way to make platformio work again with the github version or 2.3 ?



PlatformIO uses the latest Arduino Framework for ESP8266 versioned as 2.3.0. Please run platformio update command to update all packages.

I did so. I even deinstalled everything and reinstalled fesh. Still version is 2.2.0
I would anyway rather like to use the github version. Any idea on that?

Hi @cominous! It’s actually 2.3.0 release. As you can see here they just forgot to update the version field in platform.txt in the release.

Oh okay thanks for the quick response :slight_smile: !

I guess for the support of the new plattform.txt we need to wait for the next stable release, right? :confused:

Have you read this manual page about using staging version?

Yep, thats how I used to do it. Im loyally working with platformio since its compatible with ESP ;).
Its giving errors due to a changes in the plattforms.txt AFTER the stable release. Since then it not possible to use the github version.

I saw a discussion on the ESP8266 Gitter channel, but without any final solution/answer. I think @ivankravets joined the discussion.

Do you want to use staging version of Arduino for ESP8266?

I want to use the github version. (Since staging/stable is pretty outdated)

This always worked until “recent” changes to platforms.txt in the arduino framework.

Ok took me some time, but @me-no-dev helped me out on this!

How-to use latest github version with platformio :

Optional) I only tried with this, but can prob be let out!

Opt1) Clean everything
cd into firmware and “pio run -t clean”
“pip uninstall platformio” << NOT DEVELOPEMENT VERSION!
remove .platformio folder in home folder - linux: “rm -rf ~/.platformio”

Opt2) install fresh platformio
pip install platformio
Goto firmware folder and “pio run” and yes to all installations (dont care about the copile part, just to get the libraries)
remove .pioenv folder again

  1. Upgrade arduino version to github version
    Goto: ~/.platformio/packages/ and rename folder framework_arduinoespressif to something like framework_arduinoespressif_old
    “git clone framework-arduinoespressif”
    copy “version.txt” from framework_arduinoespressif_old to framework_arduinoespressif

  2. Fix linker scripts
    Copy that content 1:1 to ~/.platformio/packages/ldscripts/esp8266.flash.common.ld (should already exist!)

  3. Clean
    Goto firmware folder an remove .pioenv folder (if it exists)
    Make sure you have the latest firmware version
    pio run to confirm success

And use this platformio.ini

platform = espressif
framework = arduino
board = esp12e
board_f_cpu = 160000000L
board_f_flash = 80000000L
board_flash_mode = qio
upload_resetmethod = nodemcu
build_flags = -Wl,-Tesp8266.flash.4m.ld -I/Users/USERNAME/.platformio/packages/framework-arduinoespressif/tools/sdk/libc/xtensa-lx106-elf/include -L/Users/USERNAME/.platformio/packages/framework-arduinoespressif/tools/sdk/libc/xtensa-lx106-elf/lib -lc
upload_speed = 921600
#upload_port = IP_ADDRESS_HERE or mDNS_NAME.local
#upload_flags = --port=8266 --auth=AUTH --spiffs
lib_install = 305,306,359`

We updated our docs wth simplified steps to use stage version. See

1 Like

Sorry to interrupt - my question and solution is not for using the staging version, but the github version ! :wink:

It’s the same. You will have espressif8266_stage development platform and new framework-arduinoespressif8266 package. Go to it, backup package.json, remove all files, clone here GIT repo, return back package.json.

It should work.

Sorry for a little bit off-topic:

is this also possible for atmelavr?
I have one project which works only for Arduino 1.0.1.
I would like to this with platformio, is this possible and where can I find the arduino-framwork 1.0.1?


How do you use Arduino 1.0.1 now? Do you have separate Arduino IDE?

Yes, i’m on OS X and renamed to so that i could use 2 versions.
Since i switched to platformio i have only the 1.0.1 Version of the Arduino ide.

If you are a member of PlatformIO Plus, please contact me via PlatformIO Club and I’ll help you with a custom development platform for Arduino 1.0.1.

Sorry, but I’m no member of PlatformIO Plus, I’m only a hobbyist with private projects and
I thought it could be done with the same way as espressif8266.

Thank you anyway for your answer and your perfect work.
Will keep with Arduino IDE for 1.0.1.

Please sorry for that. We are currently focused on PlatfomIO Plus and its features.

In any case, take a look at Custom Platform & Board — PlatformIO v6.1 documentation
It’s not difficult. Just clone “atmelavr” development platform, rename it to atmelavr_my and update core in framework-arduinoavr. Maybe, need to update build flags and etc in build platform. I don’t know that.

If I’ll have free time, I help you with that.

P.S: Why you don’t want to port that project to latest arduino?