🌱💧 An open source DIY soil moisture sensor
The ADC sometimes responds with negative voltages read on the ADC input due to noise. This can lead to very high illuminance readings at night (4095 << 4 to be exact due to two's complement :) ). This commit caps ADC readings at 0. |
||
|---|---|---|
| .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 + BTHome 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.