🌱💧 An open source DIY soil moisture sensor
Beside having a `CONFIG_BOARD_REVISION` Kconfig string that represents our semantic versioning for board revisions, the ZigBee sample requires an integer representation of it. Instead of conditioning the integer version on the string version only for that sample and having to touch the ZigBee sample whenever we add a revision, I decided to have a board-wide config, so that both string and int versions live close to each other. Fixes #138. |
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| bridge | ||
| case | ||
| code | ||
| data/adc-moisture-estimation | ||
| experimental/rotisserie | ||
| flashing/pyocd | ||
| img | ||
| kicad | ||
| .gitignore | ||
| CODE_OF_CONDUCT.md | ||
| kitspace.yaml | ||
| README.md | ||
b-parasite
b-parasite is an open source soil moisture and ambient temperature/humidity/light sensor.
Features
- Capacitive Soil moisture sensor - see this blog post, this Twitter thread, and this post for nice resources on how they work
- Air temperature and humidity sensor using a Sensirion's SHTC3
- Light sensor using an ALS-PT19 phototransistor
- Powered by a common CR2032 coin cell, potentially for over two years
- Support for nRF52840 and nRF52833 modules
- Open hardware and open source design
Software
This repository also hosts a few different firmware samples for b-parasite.
| Sample | Description | Extra Documentation |
|---|---|---|
| samples/ble | This is the most battle-tested and useful firmware. It periodically reads all sensors and broadcast them via Bluetooth Low Energy (BLE). It works with Home Assistant out of the box. | Docs |
| samples/zigbee | An experimental/educational/exploratory basic Zigbee sample built on nRF Connect + ZBOSS. It integrates with Home Assistant via ZHA or Zigbee2MQTT. | Docs |
| samples/blinky | The classic "Hello, world" | - |
| samples/soil_read_loop | Reads the soil moisture sensor on a loop. Useful for experimenting and calibrating the sensor. | - |
| samples/input | Handles button presses. Useful for power profiling GPIO interrupts and testing debouncing for push switches on boards that have them. | - |
Documentation
Information about how to order, assemble, build the samples, protect the sensor and flash the firmware is on the Wiki.
Repository Organization
- code/nrf-connect/ - Common library and samples, built with Nordic's nRF Connect SDK.
- kicad/ - KiCad schematic, layout and fabrication files for the printed circuit board (PCB)
- data/ - data for testing and sensor calibration
- bridge/ - an ESPHome-based BLE-MQTT bridge
- case/ - a 3D printable case
Case
We have three different 3D-printable cases:
- Original snap-on case - case/Top.stl, case/Bottom.stl
- High airflow - case/b_parasite_case_high_airflow.stl
- Mushroom-style - available on Printables
License
The hardware and associated design files are released under the Creative Commons CC BY-SA 4.0 license. The code is released under the MIT license.