Hacking

Hacking #

This is an open-source project built on open-source tools. It uses KiCad for electronics design, CadQuery for 3d-modeling, and rust for the software.

Code #

See the readme for more info: https://github.com/justbuchanan/oasis/blob/main/code/README.md

CAD models #

The CAD models for this project are designed in CadQuery, which uses python for part design. This project’s requirements.txt file contains the relevant python dependencies, but you may need to consult the CadQuery documentation for further installation instructions.

Note that while the python environment is mostly for working with the CAD models, there are some optional python dependencies needed for working with the KiCad electronics designs. These include the Fabrication-Toolkit plugin for exporting manufacturing files for JLC PCB and the component layout plugin.

Python Environment Setup #

Initial setup (do once) #

cd <this project>
mkdir -p pyvenv
python -m venv ./pyvenv --system-site-packages
source ./pyvenv/bin/activate
pip install -r requirements.txt

Environment (do every time) #

Run this in your shell before you do anything related to python, including running make.

cd <this project>
source ./pyvenv/bin/activate

Command-Line Client #

This project comes with a command-line client that can:

  • configure wifi credentials
  • set the terrarium’s schedule (lights, fans, mister)
  • query the terrarium’s state (sensors, light level, etc)
  • control lights, fans, mister
  • scan the network for online terrariums

Source code is at https://github.com/justbuchanan/oasis/tree/main/code/client.

For full documentation, build the client and run oasis --help.

© Copyright 2025 Justin Buchanan