OpenSprinkler Firmware Update
The OpenSprinkler firmware is regularly updated to include new features and functionality. You can update the firmware at any time by reflashing the microcontroller (MCU). The source code is completely open and free. You are welcome to modify it and share your contributions through GitHub.
- You need a regular size Male A to Male B USB cable (most printers use this type of cable).
- If you own OpenSprinkler v1.0 or 1.1: you need an external ISP programmer (FTDI cable no longer works due to the size of the new firmware). In addition, you need to run the following command to re-program the fuse bits:
avrdude -c usbtiny -p m328p -B 250 -F -U lfuse:w:0xff:m -U hfuse:w:0xd1:m -U efuse:w:0x06:m
Only do this if you own v1.0 or v1.1. Do not re-program the fuse bits on OpenSprinkler v1.2 and above, as they have built-in USB programmer and are already programmed with the correct fuse bits.
Upload a Precompiled Firmware
Linux and Mac users do not need to install any driver. The operating system automatically support the OpenSprinkler USB programmer. Linux users need to run the Updater software in sudo mode, or alternatively add the USB device VID/PID to /etc/udev/rules.d/.
Windows Users need to install USBtinyISP or USBasp driver depending on your hardware version:
- For OpenSprinkler 1.x and 2.0, you need to install USBtinyISP driver.
- For OpenSprinkler 2.1, you need to install USBasp driver.
In general, you do not need to run any executable file from the driver installation folder. Instead, plug in a USB cable to OpenSprinkler (for OpenSprinkler 2.1 and above, press and hold pushbutton B2 while plugging in a USB cable, then release B2 within 2 seconds), and let Windows detect the device. It will report that driver is not found. Next, go to Device Manager, identify the USB device (USBtiny or USBasp), right click the on the device and select Update Driver; then select Browser My Computer for Driver Software, and provide the path to the driver files folder. This should allow you to successfully install the driver.
Windows 8 and 8.1 can be very tricky to work with, due to the driver signature enforcement. The general approach is to disable driver signature enforcement first, and then follow the same procedure above to install driver. If you are lost, Google ‘Windows 8 USBtinyISP’ or ‘Windows 8 USBasp’ and you should find some solutions online.
In the worst case, if nothing works, try the Rayshobby pre-configured VirtualBox image below. This will create a virtual Linux in your host Windows system. It can pass through USB devices directly to the virtual OS, thus avoiding the driver installation issue.
Compile and Modify the Source Code
If you wish to modify the OpenSprinkler source code and customize the software, please follow the instructions below. The F.A.Q. page contains some basic information to get you started. The source code has been documented with comments. It is your responsibility to understand the code if you wish to make changes. We will try our best to answer your questions but cannot respond to all requests.
If you wish to install everything from scratch:
- For OpenSprinkler 1.x generation hardware, please follow instructions archived here: http://rayshobby.net/?page_id=6210
- For OpenSprinkler 2.x generation hardware, please follow instructions archived here: http://rayshobby.net/?page_id=6619