Project Objective: Develop an open source AIS Alarm that alerts sailors that a new marine vessel with AIS is within range


May 11, 2018 Update:  Added video demonstration and added update on future plans


It has been a while since I have worked on this project - had to do my submission for the Open Arduino contest and the Portable Electronics Kit .  But today I went back through the code and implemented the remaining features and did preliminary testing.  Everything seems to be working now so here is a photograph of the working AIS alarm itself as well as a screen shot of the display when connected to OpenCPN ship plotting software on my laptop.

Working dAISy Alarm

OpenCPN Screenshot

AIS Alarm Operation and UI:

The alarm itself is loud enough that I have a piece of tape over the buzzer to attenuate it while working on it.  The LED isn't as bright as I might like but is satisfactory.  It can run off of a small LiPo battery for an extended time thus saving power on a small boat with a limited power budget.  The operation and user interface is very simple:

  • The ALARM starts immediately upon being powered.
  • AIS messages from ships are stored in  non-volatile FRAM as they are received and are not lost if battery power is removed and the alarm unit is then connected to a computer.
  • Up to 16 AIS messages are stored, with older messages dropped.
  • When a ship is detected the alarm sounds and the LED toggles
  • Pushing the SNOOZE button will turn the buzzer off but the LED will continue to toggle with AIS signals.
  • Pushing the REPLAY button will cause the latest messages to be sent over serial to a computer if connected where they can be displayed on software such as OpenCPN as shown above.
  • Pushing the REPLAY button and holding it for 3 seconds will turn the alarm off but allow the AIS receiver to continue operating and sending messages over serial if connected to a computer.  This is useful when operating in an area with busy ship traffic where otherwise the alarm would be sounding continuously.  It also clears the buffer of any messages held in FRAM.


Video Demonstration

This is a late add demonstrating the alarm.  It starts out in SNOOZE mode and the dAISy module can be seen sending AIS messages to the serial window.  The SNOOZE button is pressed again which sets the alarm again.  When the next AIS message comes in it moves to ALARM mode and the buzzer sounds.  The LED toggles with every AIS message.  When SNOOZE is pressed again it returns to SNOOZE again and the buzzer turns off.  I then press REPLAY which causes the most recent 16 AIS messages to spill quickly to the debug window of OpenCPN.  When REPLAY (ON/OFF) is held for 3 seconds the alarm turns off and the buffer is cleared.  Link is below...



Concept Phase Working:

I plan to build another alarm and put it in the wild to get some feedback but concept is working!  I still plan to make some firmware modifications and possibly some changes to the User Interface in the next few months.


Past Posts from this Project:

AIS Alarm

AIS Alarm - The Process

AIS Alarm - Prototype Hardware

AIS Alarm - Timers and GPIO

AIS Alarm - Prototype Code Outline

AIS Alarm - UART

AIS Alarm - First AIS Messages

AIS Alarm - First FRAM Storage

AIS Alarm - Debouncing Momentary Button Switches

AIS Alarm - FRAM Ring Buffer

AIS Alarm - Schematic

AIS Alarm - PCB Version 0.1

AIS Alarm - PCB Version 0.1 Arrived

AIS Alarm - PCB Version 0.2

AIS Alarm - PCB Version 0.2 Populated

AIS Alarm - PCB Version 0.2 Tested

AIS Alarm - Faceplates Received


References and Links:

WEGMATT LLC - dAISy AIS Receiver - low cost AIS receiver

Texas Instruments MSP430FR2xx FRAM Microcontrollers - Post No. 4

TI MSP430FR2111

Maximize the Sound from a Buzzer