Error: Unknown board ID 'esp8266_1M'

My previously working VS Code + PlatformIO development framework stopped working. Previously building Tasmota build now results in Error: Unknown board ID 'esp8266_1M'

  • I’ve uninstalled VS Code, deleted <user>\.platformio and .vscode folders, deleted the local repo
  • I’ve downloaded the repo, reinstalled VS Code, installed PIO IDE, it installs all the necessary frameworks, but than gives this error
  • certainly the boards folder contains the necessary .json files
  • Tasmota developers said “it should work”, yes, and it has worked a few weeks ago, but something changed
  • googling this error for days yielded nothing useful

What can cause this type of error???

Versions: everything is the latest

> Executing task: C:\Users\lmagyar\.platformio\penv\Scripts\platformio.exe run <

Processing tasmota (platform: espressif8266 @ 2.6.3; framework: arduino; board: esp8266_1M)
---------------------------------------------------------------------------------------------------------------------
Tool Manager: Installing platformio/toolchain-xtensa @ ~2.40802.0
Unpacking  [####################################]  100%
Tool Manager: toolchain-xtensa @ 2.40802.200502 has been installed!
Verbose mode can be enabled via `-v, --verbose` option
Error: Unknown board ID 'esp8266_1M'
=========================================== [FAILED] Took 126.69 seconds ===========================================

Verbose:

PS Z:\Local\GitHub\lmagyar\Tasmota> pio run -v
Processing tasmota (platform: espressif8266 @ 2.6.3; platform_packages: tasmota/framework-arduinoespressif8266 @ ~2.7.4, platformio/tool-esptoolpy @ ~1.30100; framework: arduino; board: esp8266_1M; board_build.filesystem: littlefs; build_unflags: -Wall, -Wdeprecated-declarations; build_flags: -DCORE_DEBUG_LEVEL=0, -Wl,-Map,firmware.map, -Wno-deprecated-declarations, -mtarget-align, -free, -fipa-pta, -Wreturn-type, -DUSE_CONFIG_OVERRIDE, -DNDEBUG, -DFP_IN_IROM, -DBEARSSL_SSL_BASIC, -DPIO_FRAMEWORK_ARDUINO_ESPRESSIF_SDK22x_190703, -DPIO_FRAMEWORK_ARDUINO_LWIP2_HIGHER_BANDWIDTH_LOW_FLASH, -DVTABLES_IN_FLASH, -DPSTR_ALIGN=1, -DMIMETYPE_MINIMAL, -DWAVEFORM_LOCKED_PWM; monitor_speed: 115200; upload_port: COM20; upload_resetmethod: nodemcu; extra_scripts: pio-tools/strip-floats.py, pio-tools/name-firmware.py, pio-tools/gzip-firmware.py, pio-tools/override_copy.py, pio-tools/download_fs.py; lib_ldf_mode: chain; lib_compat_mode: strict; lib_extra_dirs: lib/lib_basic, lib/lib_i2c, lib/lib_display, lib/lib_ssl, lib/lib_audio, lib/lib_rf, lib/lib_div; lib_ignore: Servo(esp8266), ESP8266AVRISP, ESP8266LLMNR, ESP8266NetBIOS, ESP8266SSDP, SP8266WiFiMesh, Ethernet(esp8266), GDBStub, TFT_Touch_Shield_V2, ESP8266HTTPUpdateServer, ESP8266WiFiMesh, EspSoftwareSerial, SPISlave, Hash, ArduinoOTA)

Tasmota references

which is located in the boards/ folder of the project, esp8266_1M.json. Is that file not there?

Yes the file is there… The problem is 100 times more complicated…

The problem is with PIO, it magically tries to use absolute path to the project. The project is located at Z:\Project, but PIO tries to read C:\Project. This is a bug introduced in the past 1-2 month and only a bug, when the drive Z: is a subst drive that’s real location is on drive C:, like C:\DRIVE_Z. PIO uses only the original drive letter C:, but with the path on drive Z:, and certainly there is nothing.

After several days I figured out the root cause, it is reproducible, and I finally created an issue in PIO: Error: Unknown board ID - due to wrong absolute path used instead of relative path in case of subst-ed Windows drive · Issue #4155 · platformio/platformio-core · GitHub

If anybody here can add anything to that issue, please comment on the issue.

1 Like