Warning: The firmware update process will set OS back to factory defaults. This includes controller settings, program settings, and device password (which will be set back to the factory default of “opendoor”). Please ensure you back up your current configurations (e.g. Export Configurations) before proceeding with firmware update. In addition, for OS 3.0, the WiFi settings will be erased too, so after firmware update, please follow the OS 3.0 Getting Started Guide to repeat the WiFi settings steps.

NOTE:

  • If your controller is OpenSprinkler Pi (OSPi), please refer to the OSPi update guide here: OSPi update guide
  • The OpenSprinkler firmware updater is intended for genuine OpenSprinkler products only. Use of the updater on third-party products (i.e. not OpenSprinkler brand) may brick your controller.

OpenSprinkler 3.0 (with built-in WiFi) Firmware Update Guide

OpenSprinkler 3.0 supports OTA (Over-the-Air) firmware update. Specifically: 

  1. Download the most recent firmware (in .bin file format).
  2. Assuming OpenSprinkler is already connected to your WiFi router (it's in Client mode) and you know its IP address (if you don't know, click the first button B1 on OpenSprinkler to display the IP address), open a web browser and type in:
    http://x.x.x.x/update
    where x.x.x.x is your OpenSprinkler's IP address. This should bring up the firmware update page. Select the .bin file and type in your OpenSprinkler's device password (the default password is opendoor if you have never changed it). Submit and wait until it completes firmware update.
  3. (Alternative) If your controller has Firmware 2.1.8 or above, OTA firmware update is also supported in AP mode. Assuming your OpenSprinkler is in AP mode, use your computer or laptop to connect to its AP SSID, then open a browser and type in:
    http://192.168.4.1/update
    Then follow the same as step 2 above to upload firmware.


If OTA update fails, you may also update firmware through the microUSB port on OpenSprinkler.


OpenSprinkler 2.x (with Ethernet jack) Firmware Update Guide

OpenSprinkler 2.x supports firmware update through the controller's USB port. 


Preparation

1. Prepare a regular-size A male to B male USB cable (see image).

2. Use Export Configuration in the OpenSprinkler’s web interface to save a copy of your current programs and settings.

3. Download and install the OpenSprinkler Updater program (v1.0.4 updated on 11/6/16):


Windows (all versions) Mac OS X (Intel-based) Linux 32-bit Linux 64-bit


Mac OS X: If you encounter an error opening the app, right (two finger) click the app and click open.

Mac OSX Sierra (10.12): in case you have installed a previous version of the Updater, and the previous driver crashes, please unplug OpenSprinkler from the USB port, then follow the guide at the bottom of this page to remove the previous driver, and use the above link to re-download and re-install the firmware Updater.

Linux: Run the program as root using sudo in order to gain USB permissions.

Windows: Run the program as an Administrator to correctly detect OpenSprinkler.

 


Update Firmware   

1. Plug in your OpenSprinkler device to your computer (the computer will need Internet access to download the latest firmware).

2. Run the OpenSprinkler Updater program. You should automatically see your device listed in the application. If you do not, you may press the Check for New Devices button. If you still do not see your device listed, you may have hardware version 2.1 which needs to enter bootloader mode first (see below section for bootloader procedure).

3. Press Update Firmware and confirm the update by pressing OK. Please note the latest firmware is selected by default but any supported firmware may be selected from the confirmation dialog.

4. If the update is successful, you can use the web interface’s Import Configuration to restore your prior programs and settings.

   

NOTE: If you have configured OpenSprinkler with a static IP address, it may have changed immediately after the update. Pressing B1 on the OS device will display its current address. Use this IP address to access OS. Then you can change the static IP back to what you have set before the update. For this reason, using static DHCP on the router is preferred.



Alternative Updater

In case the above firmware updater hangs or stops responding (in some rare cases this happens on Windows computers, and we are still investigating the reason), you can try the following alternative (i.e. older version of) updater. First, download the following

http://raysfiles.com/os/osFWUpdater_0616.zip

1) Unzip the file to a folder, then go to the Windows subfolder, and find the executable.
2) Do NOT click on 'Download Firmware' button -- because this is an older version, the download link is no longer available. But the firmware files are already embedded the local folders, so there is no need to download. If you accidentally clicked on it, just delete the folder and start over from step 1) again.
3) Click on 'Detect Hardware' button. Assuming the driver is installed correctly, it should detect that your OS.
4) Click 'Upload Selected Firmware' and wait for it to finish.


Bootloader Mode (hardware version 2.1 only)

a) Power off OpenSprinkler. Press and hold button B2 while plugging in a USB cable, release B2 within 2~3 seconds after the USB cable is plugged in.
b) If successful, the LCD will remain off and you may proceed with the Update Firmware section of this guide. If the LCD turns on, repeat step (a).

Remove USB-serial driver for Mac OSX

In case the Updater crashes under new Mac OSX (particularly if you have recently upgraded to OSX Sierra 10.12), follow the guide below to remove the previous driver.

      a) Locate the driver:
  • for OS X 10.9 (or newer): cd /Library/Extensions
  • for OS X 10.8 (or older): cd /System/Library/Extensions
       b) Generall the driver's name contains ch341 or usb-serial. Assuming it's usb-serial.kext, next, run
  • sudo kextunload ./usb-serial.kext

             c) Finally, remove the driver

  • sudo rm -rf usb-serial.kext

             d) Restart the computer