If the system status check passes (at step 705), then the hazard system may determine whether a software update is available, at step 706. In one embodiment, the hazard system may access a remote server via a network (e.g., internet) by using, for example, wireless port 530. When accessing the remote server, the hazard system may transmit any manifests it has stored therein (e.g., manifest contained in images portions 608 and 610) and/or other information to the remote server so the server can determine whether an update is required for that particular hazard system. For example, the manifest may specify the software version for each processor. If the remote server determines that the hazard system needs an updated software package, it may transmit it to the hazard system. For example, if only one of the processors requires an update, the updated software package may include an updated code portion for that processor and the code portions for other processors. In another embodiment, the hazard system may check whether a software update is available when the system is connected to a computer or portable memory device (e.g., a USB memory stick) via its physical port 528. If a new version of software if available, the computer may provide that update to the hazard system.