epicfatigue
New member
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.
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
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
Quick Install (Raspberry Pi OS – Debian Trixie)
On a fresh Raspberry Pi OS system, run:
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:
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.
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.
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
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
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
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