- Overview
- Key Features
- Use Cases
- Hardware Requirements
- Wiring Diagram
- Software Setup
- Usage Instructions
- Future Improvements
- Contributing
- License
PiAquaPulse is a compact, battery-powered water quality monitoring system designed specifically for kayaking and outdoor water exploration. This device provides real-time data on water quality parameters, helping environmentalists, outdoor enthusiasts, and researchers collect valuable data during their trips.
The system efficiently logs water temperature, pH, turbidity, and GPS location, storing data offline with the capability to transmit it via Bluetooth when in range of a paired device.
- β Comprehensive Monitoring: Logs water temperature, pH, turbidity, and GPS location
- β Energy Efficient: Manual button-activated logging for extended battery life
- β User Feedback: LED status indicator for operational feedback
- β Durable Design: Waterproof and floating construction for harsh environments
- β Reliable Storage: Offline data storage in CSV format for easy analysis
- β Compact Form Factor: Designed to attach to kayaks or be carried during water expeditions
- Environmental Research: Monitor water quality in remote or hard-to-reach locations
- Citizen Science: Enable kayakers and paddlers to contribute to water quality datasets
- Educational Tool: Teach students about water quality parameters through hands-on data collection
- Personal Recreation: Track water conditions during kayaking trips for personal records
- Conservation Efforts: Support water conservation initiatives with reliable data collection
| Component | Description | Purpose |
|---|---|---|
| Raspberry Pi Zero W/2W | Small single-board computer | Main processing unit |
| DS18B20 | Waterproof temperature sensor | Water temperature measurement |
| Gravity Analog pH Sensor | pH measurement probe | Measures water acidity/alkalinity |
| SEN0189 | Turbidity sensor | Measures water clarity |
| NEO-6M | GPS module | Location tracking |
| MCP3008 | Analog-to-digital converter | For analog sensors integration |
| Push Button | Waterproof tactile button | Manual logging activation |
| LED | Status indicator light | Visual feedback |
| Waterproof Case & Connectors | Environmental protection | Ensures system durability |
For detailed setup instructions and parts list, see SETUP.md.
A comprehensive wiring diagram showing all connections between the Raspberry Pi and sensors will be available soon. For now, please refer to the pin configuration in the CONFIG section of PAPScript.py and the detailed instructions in SETUP.md.
Raspberry Pi Zero W
βββ DS18B20 Temperature Sensor
β βββ Data β GPIO4
β βββ Power β 3.3V
β βββ GND β GND
β
βββ Gravity Analog pH Sensor (via MCP3008 ADC)
β βββ Signal β MCP3008 CH0
β βββ VCC β 3.3V
β βββ GND β GND
β
βββ SEN0189 Turbidity Sensor (via MCP3008 ADC)
β βββ Signal β MCP3008 CH1
β βββ VCC β 5V
β βββ GND β GND
β
βββ NEO-6M GPS Module (UART)
β βββ TX β GPIO15 (RX)
β βββ RX β GPIO14 (TX)
β βββ VCC β 3.3V
β βββ GND β GND
β
βββ Push Button (Manual Logging)
β βββ One Leg β GPIO17
β βββ Other Leg β GND (Pull-up resistor used)
β
βββ LED Indicator (Status Feedback)
β βββ Anode (+) β GPIO27
β βββ Cathode (-) β GND
β
βββ MCP3008 (SPI Analog-to-Digital Converter)
β βββ CH0 β pH Sensor Signal
β βββ CH1 β Turbidity Sensor Signal
β βββ VDD β 3.3V
β βββ VREF β 3.3V
β βββ AGND β GND
β βββ CLK β GPIO11 (SPI SCLK)
β βββ DOUT β GPIO9 (SPI MISO)
β βββ DIN β GPIO10 (SPI MOSI)
β βββ CS β GPIO8 (SPI CE0)
β
βββ Power Supply
βββ USB Power Bank β Raspberry Pi Zero (Micro-USB Power Port)
βββ Optional: Voltage Step-down if using external battery pack
On your Raspberry Pi, install dependencies:
sudo apt update && sudo apt install -y python3 python3-pip git
pip3 install RPi.GPIO serialgit clone https://github.com/aaronjacobs-chelt/PiAquaPulse.git
cd PiAquaPulsepip3 install -r requirements.txtpython3 PAPScript.pyFor more detailed setup instructions, including hardware connections and configurations, please refer to the SETUP.md file.
- Start Logging: Press the button to initiate a data logging session. The LED will light up to confirm activation.
- Data Collection: Once activated, the system will take readings from all sensors (temperature, pH, turbidity) and record the GPS location.
- Data Storage: All collected data is automatically saved to
river_data.csvon the Pi in an easy-to-analyze format. - Continuous Monitoring: The system can be configured for continuous monitoring or manual activation based on your needs.
- Wireless Connectivity: Implement Bluetooth data transmission to companion mobile app
- Power Efficiency: Further battery optimization for extended field operations
- Enhanced Analytics: Add more advanced water quality metrics and analysis
- Web Dashboard: Develop a web interface for data visualization
- Alert System: Implement threshold-based alerts for critical water quality changes
Contributions to the PiAquaPulse project are welcome! Here's how you can contribute:
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature) - Commit your changes (
git commit -m 'Add some amazing feature') - Push to the branch (
git push origin feature/amazing-feature) - Open a Pull Request
Please make sure to update tests and documentation as appropriate. See CONTRIBUTING.md for detailed guidelines.
- Documentation: Check SETUP.md for detailed setup instructions
- Issues: Report bugs and request features via GitHub Issues
- Discussions: Join the community discussion on GitHub Discussions
- Support Guide: See .github/SUPPORT.md for comprehensive help
- Author: Aaron Jacobs
- Email: [email protected]
- GitHub: @aaronjacobs-chelt
- Project Repository: https://github.com/aaronjacobs-chelt/PiAquaPulse
For commercial applications, custom development, or priority support:
- Email: [email protected]
- Subject: "PiAquaPulse Commercial Support"
For security vulnerabilities, please see our Security Policy and email [email protected] directly.
This project is licensed under the MIT License - see the LICENSE file for details.
Copyright (c) 2025 Aaron Jacobs
- Thanks to the open-source community for the excellent libraries and tools
- Circuit design created with CirKit Designer
- Inspired by the need for accessible environmental monitoring tools
- Special thanks to field researchers and citizen scientists who test and improve this system
Made with π for environmental researchers and water quality enthusiasts
Report Bug β’ Request Feature β’ Get Support

![[Schematic/Wiring Diagram from CirKit Designer]](proxy.php?url=https%3A%2F%2Fgithub.com%2Faaronjacobs-chelt%2FPiAquaPulse%2Fraw%2Fmain%2FImages%2Fcircuit_image.png)