This tutorial is for downloading and setting up the ESP-IDF with the windows operating system.
Important LinksSteps for Linux and MacSteps- Get the toolchain
- Get the ESP-IDF Core Packages
- Compiling and running a sample program
Download the Toolchain from here
If link is broken, please do go to Get Toolchain for Windows in the Important Links above
- Unzip this to a folder of your choice, default taken as:
C:\
- Pin the
C:\mysys32\mingw32.exe
terminal program to your taskbar, since we will need to use this rather frequently to compile, flash and monitor the programs
git clone --recursive https://github.com/espressif/esp-idf.git
Make sure you use the --recursive
option, we need to get all the submodules
- Run the above command in a folder of your choice ex:
D:\GIT\esp-idf
- This is used to set up the
IDF_PATH
for your Core Packages
Steps for Windows, Mac and Linux are different, so do check the above link
User Scripts are contained in C:\msys32\etc\profile.d\
directory.
- Create a new script file in
C:\msys32\etc\profile.d\
and name itexport_idf_path.sh
.
- Find your ESP-IDF directory, ex:
D:\GIT\esp-idf
- Add the
export
command to the script file
# Forward slashes are important (Don`t add this comment to file)
export IDF_PATH="D:/GIT/esp-idf"
- Check if
IDF_PATH
exists by typing
printenv IDF_PATH
- Save the script
Make sure use forward slash in the script file instead of backslash, which is common in windows
Compiling and Running a sample programFor Users that have downloaded the esp-idf repository after following the above steps, navigation to the get-started -> blink example
Steps- Copy the entire blink example to another folder (of your choice) ex:
D:\esp32Programs\Tutorials
- Open your
MYSYS2 MINGW32 Shell
and navigate to that path (Example given below)
- Run
make menuconfig
to open menu tree and configure ESP-IDF
- Run
make
to compile
- Run
make flash
to flash compiled version to your hardware
- Run
make monitor
to view monitor output on your console
# Example
cd D:
cd esp32Programs
cd Tutorials
cd blink
# We have navigated to the directory
# NOTE, Type ls to see your output
ls
You will see output like this
Open ESP-IDF menuconfig
make menuconfig
Find your device COM Port
Navigate to Serial Flasher Config (to set the COM port of your device)
NOTE: For linux or mac your COM Port might be /dev/ttyUSB0
Set the example Configuration number (OPTIONAL)Change Example Configuration
number here (D2)
For most devices in ESP32 the internal LED is attached to pin D2 which is pin number 2
Users wishing to test on different pins can change this pin number
See the source code (main.c looks like this)
We can also change CONFIG_BLINK_GPIO
(which is set inside sdkconfig.h) to the appropriate pin number instead of changing it through make menuconfig
#include "sdkconfig.h"
// The variable CONFIG_BLINK_GPIO has been set through sdkconfig
#define BLINK_GPIO CONFIG_BLINK_GPIO
// OR, change to
#define BLINK_GPIO 2 // (D2), Internal LED Attached to Pin D2
Make the projectmake
Please note that it can take a significant amount of time to compile all the libraries when running your first make
command.
Start the make flash
command and you should see it connecting to your device
When make flash
is completed, this will be your output
After all these steps, you should see your ESP32 internal LED blinking at a constant rate of once per second.
This tutorial has been about setting up your ESP-IDF with your computer system so the code example has not been explained.
In the next tutorial, I plan to show you how to integrate the ESP-IDF environment with the ECLIPSE IDE for faster prototyping
WebsiteAll my tutorials and projects will be documented on My Website and my Github repository.
Do check them out for the most recent updates.
Comments
Please log in or sign up to comment.