Hey guys 
Over the last few months I’ve been quietly working on getting reef-pi running properly on the latest Raspberry Pi hardware and Raspberry Pi OS (Trixie).
What started as “just a port” turned into fixing a bunch of long-standing annoyances and adding some instrumentation features I’ve wanted for a while.
LINK TO GITHUB
TDS Driver
Salinity Driver (Robo-Tank isolated conductivity circuit)
GPIO Expander Driver (PCF8575)
This is where it gets interesting.
The system can continuously monitor salinity and automatically switch your ATO between fresh RODI and saltwater depending on drift.
Instead of blindly topping off with freshwater, the controller can actively correct salinity in either direction — opening the door to much tighter control.
The TDS driver is aimed at making RODI systems smarter and more efficient. That part is still evolving.
Please run this on a clean SD card, not your production controller.
That way, if anything doesn’t behave, you can simply power down and reinsert your original SD card and you’re instantly back to normal.
This is a personal fork and totally experimental at this stage.
I’m not affiliated with the official reef-pi project — this is just something I’ve been building and refining.
If upstream ever wants to adopt parts of it, that would be great — but for now this is community testing territory.
There is an official guide you can follow here. Instructions
Enable: SSH, i2C & 1-Wire
After installation, access reef-pi at:

Over the last few months I’ve been quietly working on getting reef-pi running properly on the latest Raspberry Pi hardware and Raspberry Pi OS (Trixie).
What started as “just a port” turned into fixing a bunch of long-standing annoyances and adding some instrumentation features I’ve wanted for a while.
LINK TO GITHUB
What’s in it so far
- Raspberry Pi 5
- Raspberry Pi OS (Trixie) compatibility
- Multi-repo local build setup (reef-pi + drivers + hal + rpi)
New Drivers & Hardware Support
TDS Driver
- Supports up to 4 TDS modules via ADS1115
- Designed for smarter RODI system control
Salinity Driver (Robo-Tank isolated conductivity circuit)
- Improved temperature compensation modeling
- Improved calibration handling
- Long-term drift tracking experiments
GPIO Expander Driver (PCF8575)
- Adds 16 additional I/O per module
- Up to 8 modules supported
- Up to 128 additional I/O available
Other Improvements
- Fixed calibration issues
- General backend clean-up
- Fixes for some long-standing quirks that have annoyed me for years
Why the Salinity Work Matters
This is where it gets interesting.
The system can continuously monitor salinity and automatically switch your ATO between fresh RODI and saltwater depending on drift.
Instead of blindly topping off with freshwater, the controller can actively correct salinity in either direction — opening the door to much tighter control.
The TDS driver is aimed at making RODI systems smarter and more efficient. That part is still evolving.
If You Want to Test
Please run this on a clean SD card, not your production controller.
That way, if anything doesn’t behave, you can simply power down and reinsert your original SD card and you’re instantly back to normal.
Currently tested on:
- Raspberry Pi 5
- Raspberry Pi 4
- Raspberry Pi Zero 2 W Rev 1.0
This is a personal fork and totally experimental at this stage.
I’m not affiliated with the official reef-pi project — this is just something I’ve been building and refining.
If upstream ever wants to adopt parts of it, that would be great — but for now this is community testing territory.
Installation
(Raspberry Pi OS – Debian Trixie)
There is an official guide you can follow here. Instructions
Enable Interfaces
Enable: SSH, i2C & 1-Wire
Installation
Quick Install (Raspberry Pi OS – Debian Trixie)
On a fresh Raspberry Pi OS system, run:
Bash:
curl -fsSL https://raw.githubusercontent.com/epicfatigue/reef-pi/main/install.sh | sudo bash
What the Installer Does
The automated installer will:- Update the operating system
- Install required dependencies (Go, Node.js, yarn, git, build tools)
- Create a dedicated reefpi system user
Reserved for the service — do not create or modify manually - Create required directories under /opt and /var/lib
- Clone all required repositories (reef-pi, drivers, hal, rpi)
- Wire local Go module replacements
- Build the frontend (if enabled)
- Compile and install the backend binary
- Create and enable a systemd service
- Start reef-pi automatically on boot
After installation, access reef-pi at:
Bash:
http://<your-pi-ip>:8080
Last edited:


