Read Platformio and telegram bot but it did not help

I try to install IOT Appstory instructions say ESP8266 2.5.2 but I get errormessage:
“PlatformManager: Installing espressif8266 @ 2.5.2
Error: Could not find a version that satisfies the requirement ‘2.5.2’ for your system ‘windows_amd64’
The terminal process terminated with exit code: 1”
ried other like you suddgested platform = espressif8266@1.8.0 did not compile and no errormessage.
I have a NUC with i7 so error mesage is confusing :slight_smile:
The program is IASLOADER from exambples but not .ino but I think thats irrelevant as compiling program doeas not start.
Best Regards

The error

Could not find a version that satisfies the requirement ‘2.5.2’ for your system ‘windows_amd64’

is correct. The latest release version is 2.4.0. See

What you are referrring to is

Wiki - How to get started - Prerequisites |
ESP8266 specific

  • ESP8266 core for Arduino == 2.4.2 (don’t use 2.5.0 or the beta’s)

The core version in Arduino IDE is not the PIO platform release version. But as you also said

is right since that’s the version which has that Arduino Core

But the website also says that for library version 2.1.0, any arduino core beyond 2.5.2 can be used

So I would just try the the latest library + latest platform version, without any specific platform version in the platformi.ini.

Hi and thanks for answer
I’m 72 with 50 years of programming experience first 45 10H/year now little bit more /year:-)
bad in English too. Worked selling PLC/SPS in Sweden , others programmed.

I expressed myself badly I tested both lib’s but in the info I sent it was 2.1.0 and 2.5.2
I tried 2.0 and espressif8266@1.8.0 just to test.
At first I did not understand your comment :
" Could not find a version that satisfies the requirement ‘2.5.2’ for your system ‘windows_amd64’
is correct. The latest release version is 2.4.0. See" …I was not skilled enough to understand the link.
At the end, recommendation newest and 2.5.2.
Now I think you missed that I have Intel NUC with I7 , Not ARM

In the meantime I have tried:
Installed Arduino and compiled their VirginSoil-Full.ino works fine in their IDE (of course).

Renamed .ino to main.cpp pasted in src , used lib 2.1.0-RC2 (missed -RC2 in last .ini,)
Same D-mn error :
Could not find a version that satisfies the requirement ‘2.5.2’ for your system
‘windows_amd64’ …:imp: I have Intel.

Now I have uninstalled Arduino because I learn more about C++ using Platformio.
I’m programming instead of puzzle or games so it’s not important I’m just stubborn and have a lot of spare time :slight_smile:
Best Regards

PlatformIO release version does not equal the Arduino core version. The link I referenced is the release page for the platform-espressif8266, where you can see that with e.g. with platform = espressif8266@1.8.0 you get Arduino core 2.4.2 (refer release notes).

I can compile this example perfectly fine within VSCode for a NodeMCUv2 board, by just using the latest Espressif8266 platform version and library version:


platform = espressif8266
board = nodemcuv2 
framework = arduino 
lib_deps = 

src\main.cpp: From ESP-Library/examples/IASBlink/IASBlink.ino at master · iotappstory/ESP-Library · GitHub

Processing esp8266 (platform: espressif8266; board: nodemcuv2; framework: arduino)
Verbose mode can be enabled via `-v, --verbose` option
PLATFORM: Espressif 8266 2.4.0 > NodeMCU 1.0 (ESP-12E Module)
HARDWARE: ESP8266 80MHz, 80KB RAM, 4MB Flash
 - framework-arduinoespressif8266 3.20603.200130 (2.6.3)
 - tool-esptool 1.413.0 (4.13)
 - tool-esptoolpy 1.20800.0 (2.8.0)
 - toolchain-xtensa 2.40802.191122 (4.8.2)
LDF: Library Dependency Finder ->
LDF Modes: Finder ~ chain, Compatibility ~ soft
Looking for ESPNexUpload library in registry
LibraryManager: Installing id=2862
ESPNexUpload @ 0.5.6 has been successfully installed!
Found 34 compatible libraries
Scanning dependencies...
Dependency Graph
|-- <IOTAppStory-ESP> 2.1.0-RC2
|   |-- <ESP Async WebServer> 1.2.3
|   |   |-- <ESPAsyncTCP> 1.2.2
|   |   |   |-- <ESP8266WiFi> 1.0
|   |   |-- <Hash> 1.0
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESPAsyncTCP> 1.2.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266WiFi> 1.0
|   |-- <ESPNexUpload> 0.5.6
|   |   |-- <EspSoftwareSerial> 6.4.0
|   |-- <EEPROM> 1.0
|   |-- <DNSServer> 1.1.1
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266HTTPClient> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <ESP8266mDNS> 1.2
|   |   |-- <ESP8266WiFi> 1.0
|   |-- <SPI> 1.0
|-- <ESPNexUpload> 0.5.6
|   |-- <EspSoftwareSerial> 6.4.0
Building in release mode
Compiling .pio\build\esp8266\src\main.cpp.o
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM:   [=====     ]  46.9% (used 38444 bytes from 81920 bytes)
Flash: [======    ]  57.7% (used 602736 bytes from 1044464 bytes)
Creating BIN file ".pio\build\esp8266\firmware.bin" using ".pio\build\esp8266\firmware.elf"
========== [SUCCESS] Took 18.90 seconds ==========

I changed to your platform.ini and it was SUCCESS so I must have chosen a to week board for that task.
I have to learn more :flushed:
Many thanks for your support.

1 Like

The firmware just takes up about 600kB of the available 4MB flash (and 1MB max program space, this is due to ESP8266 internals), so it should not be due to board choice. You should still choose the actual board you have (Wemos D1, or whatever) in the board = ... section of platformio.ini. The board finder is on this website as well. For me this still compiles with board = d1_mini.

The basic thinking / procedure here is looking up the library (either Google → Github → GitHub - iotappstory/ESP-Library: Software Distribution and Management Over the Air or via the PlatformIO library registry), and adding that as a lib_deps (library dependency) as the docs say. I then noticed that it failed to compile the IASBlink example due to not finding a missing header from the ESPNexUpload library, so I added that as a library too. But you have also done that exact thing as I’ve seen.

The error in your platformio.ini seems to have mainly been the wrong platform = .. version (none needed) and double definition of board and framework.

1 Like

I’m very impressed by your magnificent support to me and in the forum!!
I did not expect an answer as problem was solved.
Thanks to latest info I have learned a lot more.

As I “shift deleted” the projects I can’t test them again, but as I just deleted .ini and added yours it have to had been there.
Now know where to look if something similar happens again
Best Regards

1 Like

Just for completeness, it’s called amd64 because AMD came up with the 64 bit extensions to the 32bit instruction set architecture, and while Intel have their own, they were too late the party and it flopped, so just license it from AMD. Hence why you find amd64 on Intel :wink:

Hopefully you’ve since realised your main issue was due to simply specifying a newer platform version than provided by PlatformIO. 2.4.0 is the latest version of the platformio-espressif8266, which includes v2.6.3 of the arduino-esp8266 package. Yes, the different version numbers is confusing. It’ll make sense if you look at the releases page and see which version of the esp8266 core is in which version of the platformio-esp8266 package. Releases · platformio/platform-espressif8266 · GitHub

Thanks for info !
In maxgerhardt 's last answer I got got it with versions.
I was still confused about AMD but I did not dare to ask more :innocent:
Now I know :smiley:

1 Like