OpenSprinkler 3.x (OS3) supports OTA (Over-the-Air) firmware update.
Before proceeding, make sure you export your OpenSprinkler's current configurations to a file so you can import them afterwards. Update your mobile app to the latest version (if you directly access the controller via web browser, you are all set as it's already updated). Then:
- Download the most recent firmware (in .bin file format).
- As detailed in Steps 3 and 4 below: you can update firmware either in WiFi station mode or AP mode. If your OS has a wired Ethernet module, you must remove the module and reboot your OS to WiFi mode, as OTA update only works when it's on WiFi.
- If your OS is in WiFi station mode (i.e. it's already connected to your home WiFi router), you can open a browser and type in the following:
where x.x.x.x is your OS's device IP (if you don't know, click the first button B1 on OpenSprinkler to display the IP address). This should bring up the firmware update page. Select the .bin file your downloaded in Step 1, 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.
- (Alternative) If your controller is in WiFi AP mode (i.e. you see a flashing dot on the LCD screen and it prints IP 192.168.4.1), then use your computer or laptop to connect to its AP SSID (it's printed on the LCD screen, in the form of OS_ followed by six numbers or letters), then open a browser and type in:
This will bring up the firmware update page. Select the .bin file you downloaded in Step 1, and type in your OpenSprinkler's device password in MD5 checksum form (you can use an online MD5 hash generator to produce the MD5 sum), and submit. For example, if you've never changed the password, or you've done a factory reset, this would be a6d82bced638de3def1e9bbb4983225c (the md5 sum of default password opendoor).
If you have OS 3.0 (the very first version of OS3, with transparent front cover), you can also update firmware using microUSB cable: OS30_firmware_usb_instructions. This only works for controllers with a microUSB port.