All Wemos D1 Minis I tested required a different flash mode than shown in the official documentation to successfully write the Micropython firmware to the module.
The following commands resulted in a succesfull write.
esptool.py –port [usbdevice] –baud 115200 erase_flash
esptool.py –port [usbdevice] –baud 115200 write_flash -fm dio –flash_size=detect 0 [firmware.bin]
A prebuild toolchain for the ESP32 is available from Espressif:
If you’re interested in building from scratch check the docs for IDF v.3.3
https://docs.espressif.com/projects/esp-idf/en/v3.3/get-started/macos-setup.html Get MicroPython and initialise its dependencies
git clone https://github.com/micropython/micropython.git
git submodule update --init
Get the correct version of the IDF and its dependencies
As of 09/2019 the MicroPython build needs v3.3 of the IDF. Later versions use cmake instead of make.
git clone https://github.com/espressif/esp-idf.git
git checkout 6ccb4cf5b7d1fdddb8c2492f9cbc926abaf230df
git submodule update --init --recursive
Unpack the toolchain and add IT to the PATH
export PATH=$PATH:<replace with absolute path to toolchain>/bin Virtual Environment
Some of the build tools and dependencies require Python 3. Lets create a virtual environment and activate it to keep things separated.
virtualenv --python=python3 esp32buildEnv
Install the python dependencies required by the IDF
pip install -r esp-idf/requirements.txt
Build the crosscompiler
Build the ESP32 port
ESPIDF=<path to IDF root> PYTHON2=/usr/bin/python make
The resulting “firmware.bin” can be
uploaded to your ESP32 with the “esptool” as usual.
Two interesting articles on how to plan an aircooled PC by toms hardware. The articles talk about some thermal theories that might also apply to other technical systems.
How-To on getting the Kinect up and running on Ubuntu Linux.
This project allows to paint virtually with a laser. The laser is tracked with a camera while the software generated “painting” is then projected with an video projector. The Source code for the tracker is open source.
How To and source code