No, this is the Arduino (AVR) SD library.
You never declare libaries that are built into the framework via lib_deps
. As per Arduino/libraries at master · esp8266/Arduino · GitHub, the SD library is built into the Arduino-ESP8266 framework.
If I use your code with the platformio.ini
[env:nodemcuv2]
platform = espressif8266
board = nodemcuv2
framework = arduino
lib_deps =
adafruit/Adafruit SSD1306@^2.5.1
adafruit/Adafruit GFX Library@^1.10.13
paulstoffregen/Time@^1.6.1
adafruit/Adafruit BusIO@^1.11.0
it already compiles successfully.
Linking .pio\build\nodemcuv2\firmware.elf
Retrieving maximum program size .pio\build\nodemcuv2\firmware.elf
Checking size .pio\build\nodemcuv2\firmware.elf
Advanced Memory Usage is available via "PlatformIO Home > Project Inspect"
RAM: [=== ] 34.8% (used 28528 bytes from 81920 bytes)
Flash: [=== ] 28.6% (used 298881 bytes from 1044464 bytes)
Building .pio\build\nodemcuv2\firmware.bin
Creating BIN file ".pio\build\nodemcuv2\firmware.bin" using "C:\Users\Max\.platformio\packages\framework-arduinoespressif8266\bootloaders\eboot\eboot.elf" and ".pio\build\nodemcuv2\firmware.elf"
===================[SUCCESS] Took 19.67 seconds ===================
And as you can see in the project task Advanced → Verbose Build, the library is sourced from the framework folder.
|-- <SD> 2.0.0 (C:\Users\Max\.platformio\packages\framework-arduinoespressif8266\libraries\SD)
| |-- <SDFS> 0.1.0 (C:\Users\Max\.platformio\packages\framework-arduinoespressif8266\libraries\SDFS)
| | |-- <ESP8266SdFat> 2.0.2 (C:\Users\Max\.platformio\packages\framework-arduinoespressif8266\libraries\ESP8266SdFat)
So, just use the same platformio.ini
as I do and remove the .pio
folder of the project (downloaded libraries are stored in there) and recompile the project.