Patent attributes
Some embodiments provide irrigation controllers comprising: a housing; a control unit including a first microcontroller configured to execute irrigation programs and a first set of code; and a removable plug-in device that removably mates with a portion of the irrigation controller and communicationally couples to the first microcontroller, wherein the plug-in device comprises a memory storing a second set of code to replace at least a portion of the first set of code, wherein the plug-in device is configured to re-flash at least a portion of the first set of code allowing a copy of the second set of code to overwrite at least the portion of the first set of code; wherein the first set of code comprises a bootloader that writes the copy of the second set of code over the first set of code with the exception of the bootloader that is not written over.