NB: Boat Alarm has been deprecated. Please use Net Receiver instead.
Boat Alarm is a free application to monitor your boat and send alarms by email. Register your vessel with Boat Alarm here. The service is completely free, and the source code is also free and open source.
There are two parts to Boat Alarm, the client and the service.
The client is an Arduino program ("sketch") running on an Arduino-compatible microcontroller device installed on your vessel. The client hardware monitors shower power, batteries and other devices. The client must also have a connection to the Internet in order to be able to communicate with the service. The default client implementation uses WiFi to communicate via a nearby onboard wireless access point, but other approaches are possible. You can download the source code for the client here.
The service is an App Engine program (written in Python) which listens for alarms and sends notification emails. Notifications are sent at most once every 60 minutes. The service is also how you register your vessel with Boat Alarm. Register here. You can download the source code for the service here.
Read the help to learn more about how Boat Alarm works.
The author, Alan Noble, can be contacted via his blog or the Google+ Sailing community.