Install Python 3.11. Then
python -m venv venv
source venv/bin/activate
pip install -r requirements.txt
This will install all dependencies for firmware and documentation development into a virtual environment and activate it. To leave the virtual environment, run deactivate
.
The Datenzwerg firmware is based on esphome which gets installed as dependency when running the above setup command.
To flash your own Datenzwerg, navigate to the firmware
directory, then
- Copy
secrets-template.yaml
tosecrets.yaml
and fill in your WiFi and InfluxDB2 credentials. - Run
esphome -s name <gnome> run datenzwerg.yaml
to compile and flash the firmware for your gnome named<gnome>
.
The gnome model files are based on https://www.printables.com/model/260908-garden-gnome by Sci3D, released under CC-BY.
In the models
directory, you will find the following files:
datenzwerg_40p_1.2mm.blend
: Main design file, edit with Blenderdatenzwerg_40p_1.2mm_top.stl
: Upper body, electronics compartmentdatenzwerg_40p_1.2mm_bottom.stl
: Lower body, feet, mount pointdatenzwerg_40p_1.2mm_bottom_poe.stl
: Lower body, feet, mount point, PoE versionA
Additionally you'll find some SVGs for laser cutting foam inserts for L-Boxx cases to store the Datenzwerge in, and some labels and logos.
The documentation is built with MkDocs which gets installed as dependency when running the above setup command. The documentation source files are located in the docs
directory, the configuration in mkdocs.yml
in the project root.
To run a live-reload server, run
mkdocs serve
To build the documentation, run
mkdocs build