OpenSprinkler › Forums › OpenSprinkler Unified Firmware › OpenSprinkler (not OSPI!) Firmware 2.0.8 Released › Re: Re: OpenSprinkler (not OSPI!) Firmware 2.0.8 Released
Ray
To understand the design decision it’s probably worth explaining the background: OpenSprinkler started as a DIY project using ATmega328 microcontroller, which has only 32KB flash memory space, and 2KB RAM. A year ago it got upgraded to ATmega644, which has 64KB flash space and 4KB RAM. Althought SD card has been added, support for SD card was only included fairly recently. Because there is currently no option to push update firmware (look, there is not much you can do with only 64KB program space and 4KB RAM), the only way to upgrade firmware is to use USB cable connected to the computer, and run the firmware update program. If the UI was included in the firmware, every time an update is released the user would have to repeat the procedure, even if the update only touches Javascripts and not the internal functionality of the controller. This would be undesirable because as we continuously develop the software, we want to make updates available as soon as bugs are found and fixes are put in. For an average user, the capability to update UI and apply bug fixes remotely is a much better experience than having to plug in a USB cable every time a UI update is released.
If the controller had push update capability, the user could just click a button on the UI to upgrade, then this would not be an issue. But for now, to overcome the limitations of the hardware, and to maintain compatibility with existing devices, we decided that keeping the scripts on a remote server is the best option.
If you prefer full control over the update, there is Raspberry Pi based OpenSprinkler. There all files are stored locally on the Pi.