Show HN: Oasis – an open-source, 3D-printed smart terrarium
72 jbuch 13 6/24/2025, 2:03:41 PM github.com ↗
See the website for a demo video: https://oasis-terrarium.com
This project is an enclosure for growing plants. Features include:
- high-power LED lighting
- a built-in water tank and mister
- fans for airflow
- temperature and humidity sensing
- wi-fi connectivity and a web-based interface for control and monitoring (see https://oasis-terrarium.com/docs/usage_guide/#web-interface)
The entire project is open-source: - electronics: designed in KiCad
- 3D models: designed in CadQuery
- software: written in Rust
I initially started this project during COVID and built a working prototype using a Raspberry Pi and off-the-shelf parts. The first prototype worked, but was pretty rough. Several months ago, I picked up the project again and began a complete re-design. After two rounds of circuit board design and countless iterations of the 3D-printed parts, I'm finally happy with the results. Along the way I learned a lot about electronics design and fabrication, 3D modeling, and Rust.Happy to answer any questions - thanks for checking it out!
Here are some direct links to parts of the project you may find interesting:
- demo video: https://oasis-terrarium.com
- detailed build guide with pictures: https://oasis-terrarium.com/docs/build_guide/
- interactive 3D model: https://oasis-terrarium.com/docs/3dmodel/
- detailed info on electronics design: https://oasis-terrarium.com/docs/electronics/
- 3D-printable models: https://www.printables.com/model/1315117-oasis-smart-terrarium
Addressing some of the comments/concerns in your documentation:
* To protect the ultrasonic mister from bad firmware frying it, you could probably replace R6 with a sufficiently sized capacitor to make an effective DC block
* I've also had issues with a thermal sensor just reading board temp, best solution is to make the sensor a separate board. Short of that, one can mill slots around it and reduce copper pour to reduce thermal conductivety from the PCB.
> To protect the ultrasonic mister from bad firmware frying it, you could probably replace R6 with a sufficiently sized capacitor to make an effective DC block
That is an excellent idea - I'll definitely keep that in mind for a future version.
> I've also had issues with a thermal sensor just reading board temp, best solution is to make the sensor a separate board. Short of that, one can mill slots around it and reduce copper pour to reduce thermal conductivety from the PCB.
I ended up just moving the sensor offboard and as far away from the heat source as I reasonably could. I did consider the milled slots + reduced pour option, but given the amount of heat generated by the LEDs, it seemed best to move the sensor further away.
Anecdotally, I've successfully grown a range of plants in these including mosses, ferns, and orchids.
I'm prototyping my own similar kind of thing right now - an enclosure for growing culinary mushrooms - so seeing how you've used and attached the humidifier discs is really useful inspiration.
On humidification - have you considered decontamination for the water? I think bacteria and scum build up is an issue, and I've seen heavy duty equipment incorporate e.g. a submerged UVC light for trying to keep it clean. I wonder whether it's possible to do similar on a small scale by using a UVC LED (obviously need to be careful with safety though)
Sounds like a fun project, best of luck! Would love to see what you come up with. One word of warning with the misting: using them in an "upside down" configuration as I'm doing can be a bit finicky. I've encountered some that slowly drip due to the pressure of the water above them. Look for misting discs with small hole sizes (<=4uM) and expect that some percent of them won't work well. However, the ones that do drip at the start typically stop after a day or two of use and are fine from there on out.
I have not really considered decontamination and I don't think it's much of an issue for terrariums because the plants and soil in the enclosure already contain a lot of bacteria, etc. I could see it being much more important for your use case with mushrooms where a small number of mold spores can ruin an entire mushroom grow.