ESP8266-01 compiling error <exec: "{runtime.tools.python3.path}/python3": file does not exist>

anyone, please help me, how do I debug this??

Hi @smackytacky. How did you install the ESP8266 boards platform?

Did you use Boards Manager, like in this tutorial:
https://www.arduino.cc/en/guide/cores

Or did you do the "git version" installation method, as described here:
https://arduino-esp8266.readthedocs.io/en/latest/installing.html#using-git-version

so for the git version do I need to download python? because the first method doesn't work.

Yes. The ESP32 boards platform authors expect you to have it installed:
https://arduino-esp8266.readthedocs.io/en/latest/installing.html#id1

Prerequisites

  • Arduino 1.6.8 (or newer, current working version is 1.8.5)
  • git
  • Python 3.x (https://python.org)
  • terminal, console, or command prompt (depending on your OS)
  • Internet connection
  • Uninstalling any core version installed via Board Manager

Unless you are doing development or beta testing on the ESP32 Boards platform's code base, I strongly recommend using the Boards Manager installation method.

If you provide details about what you mean by "doesn't work", we might be able to help you get the Boards Manager installation working.

Below is the code I'm working with,

///////////////////////////////////////////////////////////////////////////////////////////////////////////////

#include "ESP8266WiFi.h"

const char* ssid = "ssid"; //Enter SSID
const char* password = "password"; //Enter Password

void setup(void)
{
Serial.begin(115200);
// Connect to WiFi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print("*");
}

Serial.println("");
Serial.println("WiFi connection Successful");
Serial.print("The IP Address of ESP8266 Module is: ");
Serial.print(WiFi.localIP());// Print the IP address
}

void loop()
{
// EMPTY
}

//////////////////////////////////////////////////////////////////////////////////////

I'm currently trying to connect ESP01. But this code just doesn't compile.

I'm going to ask you to post some additional information that might help us to identify the problem.

Please do this:

  1. When you encounter an error, you'll see a button on the right side of the orange bar in the Arduino IDE: Copy error messages (or the icon that looks like two pieces of paper at the top right corner of the black console window in the Arduino Web Editor). Click that button.
  2. Open a forum reply here by clicking the Reply button.
  3. Click the </> icon on the post composer toolbar. This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code block
  4. Press Ctrl+V. This will paste the compilation output into the code block.
  5. Move the cursor outside of the code block markup before you add any additional text to your reply.
  6. Click the Reply button to post the output.

Arduino: 1.8.15 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

exec: "{runtime.tools.python3.path}/python3": file does not exist

Error compiling for board Generic ESP8266 Module.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

This error can be caused by something going wrong during a Boards Manage installation. That can often be fixed by manually removing and then re-installing the boards platforms via Boards Manager:

Be aware this will remove any boards you have installed via Boards Manager. They are easy enough to reinstall again though.

  1. Select File > Preferences from the Arduino IDE's menus.
  2. Click the link on the line following "More preferences can be edited directly in the file". This will open the Arduino15 folder.
  3. Delete all files and folders under the Arduino15 folder except for the preferences.txt file. Please be very careful when deleting things from your computer. When in doubt, back up!

Now you will need to re-install the boards you just uninstalled:

  1. Select Tools > Board > Boards Manager from the Arduino IDE's menus.
  2. Wait for the update to finish.
  3. Reinstall the "esp8266 by ESP8266 Community" boards platform.
  4. Click the Close button

Now try compiling your sketch again.

After deleting all Arduino15 folders (even in recycled bin), I couldn't find esp8266 under boards manager. And arduino15 folder also reappeared under File > Preferences > More preferences can be edited directly in the file.

  1. Select File > Preferences from the Arduino IDE's menus.
  2. Enter the following URL into the "Additional Boards Manager URLs" field:
    https://arduino.esp8266.com/stable/package_esp8266com_index.json
    
    If there are already Additional Boards Manager URLs there, separate them with commas.
  3. Click the OK button.
  4. Select Tools > Board > Boards Manager from the Arduino IDE's menus.
  5. Wait for the updates to finish.
  6. Scroll down through the list of boards platforms until you see "esp8266 by ESP8266 Community". Click on it.
  7. Click the Install button.
  8. Wait for the installation to finish.
  9. Click the Close button.

You should now see the boards of the installed platform under the Arduino IDE's Tools > Board menu.

I have successfully downloaded ESP8266 in board manager but now I tried to compile and connect my esp to the wifi, this is the error code i have

///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
Arduino: 1.8.15 (Windows 10), Board: "Generic ESP8266 Module, 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

Executable segment sizes:

ICACHE : 32768 - flash instruction cache

IROM : 238688 - code in flash (default or ICACHE_FLASH_ATTR)

IRAM : 26733 / 32768 - code in IRAM (IRAM_ATTR, ISRs...)

DATA : 1504 ) - initialized variables (global, static) in RAM/HEAP

RODATA : 1004 ) / 81920 - constants (global, static) in RAM/HEAP

BSS : 25664 ) - zeroed variables (global, static) in RAM/HEAP

Sketch uses 267929 bytes (27%) of program storage space. Maximum is 958448 bytes.

Global variables use 28172 bytes (34%) of dynamic memory, leaving 53748 bytes for local variables. Maximum is 81920 bytes.

esptool.py v3.0

Serial port COM3

Connecting............................_____.....Executable segment sizes:

ICACHE : 32768 - flash instruction cache

IROM : 238688 - code in flash (default or ICACHE_FLASH_ATTR)

IRAM : 26733 / 32768 - code in IRAM (IRAM_ATTR, ISRs...)

DATA : 1504 ) - initialized variables (global, static) in RAM/HEAP

RODATA : 1004 ) / 81920 - constants (global, static) in RAM/HEAP

BSS : 25664 ) - zeroed variables (global, static) in RAM/HEAP

Sketch uses 267929 bytes (27%) of program storage space. Maximum is 958448 bytes.

Global variables use 28172 bytes (34%) of dynamic memory, leaving 53748 bytes for local variables. Maximum is 81920 bytes.

An error occurred while uploading the sketch

esptool.py v3.0

Serial port COM3

Connecting......................................____Traceback (most recent call last):

File "C:\Users\wweih\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0/tools/upload.py", line 66, in

esptool.main(cmdline)

File "C:/Users/wweih/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/esptool\esptool.py", line 3552, in main

esp.connect(args.before, args.connect_attempts)

File "C:/Users/wweih/AppData/Local/Arduino15/packages/esp8266/hardware/esp8266/3.0.0/tools/esptool\esptool.py", line 529, in connect

raise FatalError('Failed to connect to %s: %s' % (self.CHIP_NAME, last_error))

esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

esptool.FatalError: Failed to connect to ESP8266: Timed out waiting for packet header

_

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.
//////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

This is some very good progress. You now have a fully working installation of the ESP8266 boards platform. For some reason, the uploader tool is unable to communicate with your ESP8266 board. It might be that you have the wrong port selected, or that you need to put the board in the right mode, or that the board is damaged or defective. But at least you are closer to success than you were before.

is there any specific configuration for this? or the default one should work just fine?

I've run some test using AT commands and my board is working fine. Maybe the board need to be put into the right mode, can you give me some advice on how to do that.