This project is licensed under the MIT License. See the 'docs/LICENSE' file for details.
This project includes third-party software:
- OpenSSL (Apache License 2.0) — see
vendor/openssl/LICENSE.txt - ws2811 (MIT License) — see
vendor/ws2811/LICENSE - FTXUI (MIT License) — see
vendor/FTXUI/LICENSE - nlohmann/json (MIT License) — see
vendor/nlohmann_json/LICENSE.MIT
All third-party licenses are included in the source distribution. See 'docs/THIRD_PARTY_LICENSES' for details. When redistributing or packaging this software, be sure to include all relevant license files.
This is my software to control a refrigeration system with a Raspberry Pi.
sudo apt-get install libssl-dev build-essential gcc make g++-aarch64-linux-gnu
# Build the project (OpenSSL and FTXUI are built automatically if needed):
make # Build everything except server (.deb, OpenSSL, FTXUI)
make clean # Clean build folder (preserves vendor builds: OpenSSL, FTXUI)
make clean-all # Clean everything including vendor buildsNote:
makeautomatically builds OpenSSL and FTXUI on first build or if they're missing.make cleanpreserves vendor builds to avoid unnecessary rebuilds.make clean-allcompletely cleans everything including vendor builds.
sudo raspi-config- Enable 1-Wire, I2C, and SPI, then reboot.
- Install the
.debfile. - Run
sudo tech-toolto set up the device.
On startup, the system will broadcast a hotspot for 2 minutes (or as long as you remain connected).
Set the setpoint to 65°F and press and hold the alarm button for 10+ seconds. The IP address will display on the inside screen. The hotspot remains active for 2 minutes unless you stay connected.
Shutdown Alarms
- 1001 - Unit not cooling (≥5°F across coil in 30 min & Return Temp > 30°F)
- 1002 - Unit not heating (≥5°F across coil in 30 min & Return Temp < 60°F)
- 1004 - Unit defrost timed out (defrost > 45 min)
- 2000 - Return sensor failure (out of range)
- 2001 - Coil sensor failure (out of range)
- 9001 - Pretrip cooling issue
- 9002 - Pretrip heating issue
- 9003 - Pretrip cooling issue #2
Warning Alarms
- 2002 - Supply sensor failure (out of range)
- 9000 - Pretrip passed
- Buttons:
- Press/hold either button for 2s: display flashes setpoint.
- Use up/down to adjust. Hold >5s to skip by 5.
- Press alarm button to save and exit.
- Inactivity exits without saving.
Set setpoint to 80°F and hold the defrost button for 10s. Toggles Demo Mode (simulates cooling, heating, defrost, etc.).
Set setpoint to 65°F and hold the defrost button for 10s. Starts Pretrip Mode (simulates cooling, heating, and returns to cooling before pass/fail).
| Function | GPIO Pin |
|---|---|
| Compressor Output | 17 |
| Fan Output | 27 |
| 3-way Valve Output | 22 |
| Electric Heat Output | 23 |
| Alarm Button | 5 |
| Defrost Button | 6 |
| Up Button | 25 |
| Down Button | 16 |
| LED Lights | 18 |
| SDA | 2 |
| SCL | 3 |
| One-Wire | 4 |
- (1) Raspberry Pi
- (1) Headers
- (1) DS18B20 sensors
- (1) Enclosure
- (1) 17 pin connector
- (1) 20 conductor cable
- (1) Weather Box Back
- (1) Relay Din mount
- (1) Buttons All
- (1) I2C 2004 LCD
- (1) Step Down Transformer 24V-5V
- (1) Addressable LED's
- (1) ON/OFF switch
- (1) (Optional) ADS1115