M5stack programming without Arduino IDE : how ?
- 
					
					
					
					
 @jimit 
 Yes, the install was done with git cloning
 I'll try again tomorrow to better trace the errors
 Thanks for your hints so far, I value your help
- 
					
					
					
					
 @jrs No problem.... Yes more details on the errors or maybe mention what you are trying to compile if it is a known program/sketch. Don't think I can be of any further help but with more details someone else may have some answers. 
- 
					
					
					
					
 When building with esp-idf you can use M5Satck just like any other ESP32 development board. 
 All esp-idf examples, for example, will run on M5Stack same as on any other board.You may have some issues when using C++. Please cunsult the documentation and ESP32 forum. There are many threads related to C++ issues/questions. 
- 
					
					
					
					
 @jimit 
 Hi,
 I have re-installed esp-idf and compiling a project for the WRover kit works nicely, as always.
 Next, I have cloned M5Stack-IDF but it is not clear in my minds where the directory should go. Should individual components be copied into esp-idf's own components directory ?As per the M5Stack documentation (https://github.com/m5stack/M5Stack-IDF), make menuconfig should have some Arduino option ... but I don't see any 
 All other compilation issues could stem from this initial installation/configuration mistakes on my side.Any idea ? TIA for your help ! 
- 
					
					
					
					
 @jimit 
 Hi,Now, make menuconfig has Arduino options. 
 I had followed
 https://github.com/m5stack/M5Stack-IDF
 which lacks some parts of
 https://github.com/m5stack/M5Stack/blob/master/docs/esp-idf_component.mdBut now, when trying to use M5.xxx functions, the #include <M5Stack.h> yields in a missing M5Stack.h message. I keep searching to solve the issues 
- 
					
					
					
					
 @jrs Hi, I checked my ESP-IDF and i still have setup issues. Under Windows, I have the ESP-IDF directory and the M5Stack-IDF directory both installed in their own separate directory located at: c:\Users\myusername I set this up many weeks ago so I don't recall what led me to install the directories there or if that is correct. RE - Your last error message: "when trying to use M5.xxx functions, the #include <M5Stack.h> yields in a missing M5Stack.h message." This is where I have that file located: 
 C:\Users\myusername\M5Stack-IDF\components\M5Stack\src\M5Stack.hI don't suppose it gave you any suggestion where it expected to find this file ? Which OS are you running ? Thanks for adding the links. They will be useful. 
- 
					
					
					
					
 @jimit 
 I am running Mac OSIn my setup the M5Stack-IDF is in esp-idf. I achieved to run esp-idf hello-world example on the M5Stack but I need to use M5 specific functions, hence the need for M5Stack.h I guess The content of hello_world is (sorry indentation is not kept by this site FAQ engine):build/
 components/
 arduino/
 appveyor.yml
 boards.txt
 component.mk
 cores/
 docs/
 Kconfig
 libraries/
 Makefile.projbuild
 package/
 package.json
 platform.txt
 programmers.txt
 README.md
 tools/
 variants/
 main
 component.mk
 hello_world_main.c
 Makefile
 README.md
 sdkconfig
 sdkconfig.oldI'll keep on tomorrow 
- 
					
					
					
					
 @jrs Glad you seem to have it working. Since yours is working, it should be safe to assume your setup is correct: with M5Stack-IDF installed in the ESP-IDF directory. Thanks for the update.... 
- 
					
					
					
					
 The easyest way to start with ESP-IDF is by PlatformIO 
 That IDE include ESP-IDF, Arduino, Mbed...
- 
					
					
					
					
 @calin Great tip re. PlatformIO - will take it for a spin... 
- 
					
					
					
					
 Hello. 
 I started to use M5Stack a month ago. I tried several simple projects using Arduino IDE. Before moving to ESP-IDF based development, I tried a trivial (hello world) project to test my settings.Unfortunately, current https://github.com/m5stack/M5Stack-IDF looks outdated and incomplete. So I use https://github.com/m5stack/M5Stack as an IDF component as well as https://github.com/espressif/arduino-esp32 . The project directory looks like the following. Makefile sdkconfig components/ arduino/ (recursive clone of https://github.com/espressif/arduino-esp32, idf-update branch) M5Stack/ (clone of https://github.com/m5stack/M5Stack) component.mk (should be modified. See below) ... main/ component.mk main.cpp (copy of components/M5Stack/examples/Basics/Hello/Hello.ino)The only tweak I did is the addition of src/utlitityto the end of these path variables incomponents/M5Stack/component.mk.COMPONENT_SRCDIRS := . src src/utility COMPONENT_ADD_INCLUDEDIRS := . src src/utilityWithout this modification, make cannot correctly find the source codes and headers under src/utility.The above setup looks OK and works for other projects. 
 My questions are:
 * Is this a correct setup for ESP-IDF projects? (Is there any better one?)
 * Is there any way to avoid the modification ofcomponents/M5Stack/component.mk?Thank you for attention. 
- 
					
					
					
					
 My forked and updated version (implementing the setup in my previous post) of M5Stack-IDF template project is available: https://github.com/wtakuo/M5Stack-IDF 
- 
					
					
					
					
 @wtakuo Thank you! 
- 
					
					
					
					
 I fixed my patch in https://github.com/wtakuo/M5Stack-IDF. The path variables in component.mkshould look like the following.COMPONENT_SRCDIRS := src src/utility src/Fonts COMPONENT_ADD_INCLUDEDIRS := srcAs shown in the above code, I added src/Fontsto COMPONENT_SRCDIRS and removed unnecessary"."(current directory) from both paths. Header files in the subdirectories are specified using relative paths fromsrc. So we don't need to add these subdirectories toCOMPONENT_ADD_INCLUDEDIRS.Anyway, I sent pull request regarding this fix. If my PR is accepted, the patch file in https://github.com/wtakuo/M5Stack-IDF will be unnecessary. 
- 
					
					
					
					
 Now my PR has just been incorporated into the latest commit of M5Stack. So I removed patch.txt. In addition, to tidy up the repository of my fixed M5Stack-IDF, I moved my modifications to components_patchbranch. Somainbranch no longer contains the fix now. If you'd like to try my fixed version of M5Stack-IDF, please do like the following commands.git clone --recursive -b components_patch https://github.com/wtakuo/M5Stack-IDF.gitSorry for inconvenience due to the changes. 
- 
					
					
					
					
 Hi wtakuo, thanks for your work on this…. Nice that M5Stack included your work. Your efforts inspired me to give installation another crack – this time using Linux instead of Windows. MUCH better so far. Just have to determine which serial port is in use… got a long list rather than a defined port when following the ESP-IDF setup guide that outlined how to distinguish the serial port in use. Will follow it up laterz. 
- 
					
					
					
					
 For reference: Arduino submodule failed. I downloaded the latest, like this (and working): rm -r components/arduino/ 
 git clone https://github.com/espressif/arduino-esp32.git components/arduino-esp32
 cd components/arduino-esp32 && git submodule update --init --recursive && cd ../..Nice if this could be fixed in the code, wtakuo :) 
- 
					
					
					
					
 Here is the article about programming with Arduino IDE 
 For Windows:
 https://m5stack.readthedocs.io/en/latest/get-started/m5stack_core_get_started_Arduino_Windows.html
 For MacOS:
 https://m5stack.readthedocs.io/en/latest/get-started/m5stack_core_get_started_Arduino_MacOS.html




