To add a custom module to the MicroPython firmware for the ESP32
Follow: blog.mmone.de/2019/09/26/howto-build-micropython-for-esp32-on-osx/ to setup a build environment on OSX.
Pass the module to the make command like that:
ESPIDF=<path to IDF> PYTHON2=/usr/bin/python USER_C_MODULES=<path to module> make all
A prebuild toolchain for the ESP32 is available from Espressif: https://dl.espressif.com/dl/xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
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
tar -zxf xtensa-esp32-elf-osx-1.22.0-80-g6c4433a-5.2.0.tar.gz
export PATH=$PATH:<replace with absolute path to toolchain>/bin
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.
This Master thesis by Daniel Ahlers et al. demonstrates how a modified version of the open source slicer software “Slic3r” can be optimised to output GCODE for printing nonplanar surfaces.
Volumio is a great open source audio server with a browser based UI. It runs on a Raspberry Pi and many other platforms
Here is a blog post by Dan Berard about using MLCC as actuators based on this phys.org article and the original paper.
Snips is a open source offline voice recognition platform that runs on Android and Linux and can be deployed on a Raspberry Pi.
List all interfaces by running the command ‘ifconfig’ in a terminal. Pick the interface you want to change e.g “en0“
To set a different MAC on the interface run:
sudo ifconfig [interface] lladdr [MAC]
e.g: sudo ifconfig en0 lladdr dc:03:be:a0:a5:ab
You can generate a random MAC by running:
openssl rand -hex 6 | sed ‘s/\(..\)/\1:/g; s/.$//’
A very nice (updated) post on expensive/inexpensive crimping tools for the most common electronic connectors.
deepnest.io is a open source nesting application for DXF, SVG and CDR files by Jack Qiao. It is available on OSX, Linux and Windows. A very well made beautiful piece of software.