Background
This guide assumes you have a working Raspberry Pi setup with SSH access available (or with keyboard and monitor).
NOTE: do NOT enable 1-wire in raspi-config -- the default 1-wire pin (GPIO 4) conflicts with OSPi and will prevent RPi from sending signals correctly to OSPi. If you must use 1-wire, you can follow RPi instructions to assign a different pin for 1-wire.
Table of Contents
A. New Installation of the Unified firmware on a Raspberry Pi
B. Upgrade a previously installed Unified firmware
C. Stop all sprinkler firmware/software from starting with the Raspberry Pi
A. New Installation of the Unified firmware on a Raspberry Pi
NOTE: the current firmware 2.2.1(4) supports both Raspberry Pi OS Bookworm and Trixie (either 64-bit or 32-bit). Older versions (e.g. Bullseye) may require installing the lgpio library manually. If you are on a very older version (e.g. Buster), you should upgrade the OS before proceeding.
- Open an SSH connection to the Raspberry Pi (or use a keyboard and monitor connected to Raspberry Pi)
- Run the following command:
sudo apt-get install git cd ~ git clone --recurse-submodules https://github.com/OpenSprinkler/OpenSprinkler-Firmware.git
- Change the directory to the firmware folder:
cd OpenSprinkler-Firmware - Build OpenSprinkler:
sudo ./build.sh ospi- This will generate an executable program called OpenSprinkler in the firmware folder, and also set up startup script for auto-run at startup.
- If you are using a BeagleBone Black, please replace ospi with osbo.
- If you are compiling a demo to run on any Linux system, please replace ospi with demo.
- If you answered yes to the startup script, you should be completely setup and ready to go.
- NOTE: it has come to our attention that some Raspbian systems installed by NOOBs will take over GPIO 4 for 1-wire interface, but that OSPi needs GPIO 4 to send control signals to the solenoid valves. If you found that the firmware runs correctly but OSPi does not turn on valves correctly, one solution is to sudo open /etc/modules, and comment out the line containing w1-gpio, then reboot. Another solution is to reinstall Raspbian OS from scratch without using NOOBs.
- The web interface should now be accessible from: http://localhost:8080. The default password to log into the web interface is opendoor.
B. Update a previously installed Unified Firmware
NOTE: the current firmware 2.2.1(4) supports both Raspberry Pi OS Bookworm and Trixie (either 64-bit or 32-bit). Older versions (e.g. Bullseye) may require installing the lgpio library manually. If you are on a very older version (e.g. Buster), you should upgrade the OS before proceeding.
- Open an SSH connection to your Raspberry Pi
- Change directory to your firmware folder, by default, it is:
cd /home/pi/OpenSprinkler-Firmware - Update OpenSprinkler firmware source code from github:
git fetch git pull --recurse-submodules
- Re-build OpenSprinkler:
sudo ./build.sh ospi- If you are using a BeagleBone Black, please replace ospi with osbo. If you are compiling a demo to run on any Linux system, replace ospi with demo.
- If you are using a BeagleBone Black, please replace ospi with osbo. If you are compiling a demo to run on any Linux system, replace ospi with demo.
- Restart OpenSprinkler:
sudo /etc/init.d/OpenSprinkler.sh restart
C. Stop all sprinkler firmware/software from starting with the Raspberry Pi
- Open an SSH connection to your Raspberry Pi
- Remove Unified firmware from system startup:
More recent firmware have switched to use systemd. So if the above doesn't work, try the following instead:
sudo systemctl stop OpenSprinkler.service
sudo rm /etc/systemd/system/OpenSprinkler.service - Remove Dan's Python OSPi program:
- Remove Richard Zimmerman's sprinkler_pi program: