Certain environment variables should be set globally so that command prompts and integrated development environments (IDEs) work correctly.
You can find a list of these in Tools/export.sh.
For Linux and WSL2, append values to your
# All architectures
Another approach is to place these in a separate file, then add source ~/.smingrc.
For Windows, you can either edit the global variables graphically via control panel,
or use the
REM All architectures
setx SMING_HOME "c:\tools\sming\Sming"
setx ESP_HOME "c:\tools\esp-quick-toolchain"
setx IDF_PATH "c:\tools\esp-idf"
setx IDF_TOOLS_PATH "c:\tools\esp32"
setx ESP32_PYTHON_PATH "c:\Python39"
setx PICO_TOOLCHAIN_PATH "c:\tools\rp2040"
In both cases values will only take effect in new sessions so close/reopen command prompts or IDEs.
Note that project-specific settings should NOT be configured globally.
Please use the project’s
component.mk file for that purpose.
Configuring your device
You may need to configure your project to support the specific device being programmed:
COM_PORTIf you haven’t set this already, it will need to match the port you’re using to talk to the target device.
COM_SPEED_ESPTOOLThe default value should work fine but you can usually set a much faster speed.
You can change these on the command line:
make SMING_ARCH=Esp8266 COM_PORT=/dev/ttyUSB3 COM_SPEED_ESPTOOL=921600
For Windows or WSL expect to use COM2, COM3, etc.
Once you’re happy with the settings, you can add them to your project’s
You may need to do this to reset the cached values:
The current set of configuration variables can be seen thus:
Other hardware-specific settings are stored in the hardware configuration file. You can examine the current configuration like this:
The standard config should work with all ESP8266 variants. If you want to use SPIFFS then you should add this line to your component.mk file:
HWCONFIG = spiffs
This expects your device to have at least 4MBytes of flash.