🌱💧 An open source DIY soil moisture sensor
I've been debugging a Shelly [bluetooth
proxy](https://www.home-assistant.io/integrations/shelly/#bluetooth-support)
feature, which didn't like b-parasite's advertising. It swallowed it before proxying it to HA.
I compared to both ATC and the legacy b-parasite advertising
(pre-nrf-connect) and found it to be related to the
non-connectable/non-scannable settings. Until this PR, we were
mistankenly settings the advertising to scannable, although with no
scannable data. The Zephyr code that sets this parameter based on the
scannable data is [here](
|
||
|---|---|---|
| .devcontainer | ||
| .github | ||
| bridge | ||
| case | ||
| code | ||
| data/adc-moisture-estimation | ||
| experimental/rotisserie | ||
| flashing/pyocd | ||
| img | ||
| kicad | ||
| .gitignore | ||
| 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
A 3D printable case model can be found in case/.

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.