- Download and install esp-idf
- Create template idf project
git clone --recursive https://github.com/m5stack/M5Stack-IDF.git
make menuconfig
has some Arduino options- "Autostart Arduino setup and loop on boot"
-
If you enable this options, your main.cpp should be formated like any other sketch
//file: main.cpp #include <M5Stack.h> void setup(){ M5.begin(); M5.Lcd.printf("hello world"); } void loop() { M5.update(); }
-
Else you need to implement
app_main()
and callinitArduino();
in it.Keep in mind that setup() and loop() will not be called in this case. If you plan to base your code on examples provided in esp-idf, please make sure move the app_main() function in main.cpp from the files in the example.
//file: main.cpp #include <M5Stack.h> extern "C" void app_main() { initArduino(); M5.begin(); M5.Lcd.println("hello world!"); }
-
- "Disable mutex locks for HAL"
- If enabled, there will be no protection on the drivers from concurently accessing them from another thread/interrupt/core
- "Autoconnect WiFi on boot"
- If enabled, WiFi will start with the last known configuration
- Else it will wait for WiFi.begin
- "Autostart Arduino setup and loop on boot"
make flash monitor
will build, upload and open serial monitor to your board