Skip to content

robdobsn/MicroPythonESP32Embedding

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
November 11, 2020 19:59
November 11, 2020 19:59
November 11, 2020 19:59
November 11, 2020 19:59
November 11, 2020 19:59
November 11, 2020 19:59
November 11, 2020 19:59
November 11, 2020 19:59

Embedding MicroPython in an ESP IDF Project

This is a quick example project to demo the way I managed to embed Micropython into an existing ESP IDF project.

The program doesn't do much but does incorporate Micropython and it is the build scripts that are the main event.

The approach is to run the MicroPython build system from within the ESP IDF but then pull all of the source code (including the dynamically generated header files) into the ESP IDF project directly. So the only reason for running the MicroPython build is to generate those dynamic files.

First you will need to ensure the ESP IDF is installed. I have found that it works fine with the current head of the master branch (which is what the linux and mac instructions end up installing) but you may find that some subsequent commits to the ESP IDF break things and in that case you will need to follow instructions to set a specific version of the IDF - e.g. to select 4.1

cd ~/esp/esp-idf
git checkout v4.1
git submodule update --init

Note that after doing this you will probably need to reinstall the ESP IDF toolchain:

./install.sh

Then clone the repo to a folder of your choosing (with --recursive to ensure the MicroPython submodule is downloaded)

git clone --recursive https://github.com/robdobsn/MicroPythonESP32Embedding

Then follow the instructions in the MicroPython README (in the external/micropython folder), incuding building the mpy-cross cross compiler.

cd ./external/micropython/mpy-cross
make
cd ../../..

Finally setup the environment for IDF building and build:

. $HOME/esp/esp-idf/export.sh
idf.py build

About

Embedding MicroPython into an ESP IDF application

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published