B parasite
๐ฑ๐ง An open source DIY soil moisture sensor
b-parasite is an open source soil moisture and ambient temperature/humidity/light sensor. The project is written primarily in C, first published in 2021. It has gained significant community traction with 2,394 stars and 181 forks on GitHub. Key topics include: ble, bluetooth-low-energy, iot, nrf52, sensor.
b-parasite
<p align="center"> <img src="img/resized/b-parasite-2.0.0.jpg" width="512px" border="0" alt="PCB front and back photo" /> </p>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/ - A
west workspacecontaining the commonprstlibmodule 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
<p align="center"> <img src="img/case/screenshot.png" alt="Render of the original 3D printable case" /> </p>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
- b-parasite Hat - available on Printables
Accessories
Designs and hardware to help you, when building your own:
- Desk holder for b-parasites 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.
Contributors
Showing top 12 contributors by commit count.