Wegmatt dAISy FeatherWing User manual

1
WEGMATTLLC dAISy FeatherWing AIS Receiver
Contents
1Disclaimer ..................................................................................................................................3
2Introduction ...............................................................................................................................3
3Pinout ........................................................................................................................................4
3.2 Power............................................................................................................................................5
3.3 Serial 1...........................................................................................................................................5
3.4 Serial 2...........................................................................................................................................6
3.5 I2C .................................................................................................................................................6
3.6 GPIO ..............................................................................................................................................6
3.7 Antenna connector .......................................................................................................................6
4Interfaces...................................................................................................................................8
4.1 I2C .................................................................................................................................................8
4.1.1 Read/Write Operation ..........................................................................................................8
4.1.2 Device Address......................................................................................................................8
4.1.3 Register Layout .....................................................................................................................8
4.1.4 NMEA message stream.........................................................................................................8
4.2 GPIO ..............................................................................................................................................9
4.2.1 Overview ...............................................................................................................................9
4.2.2 None......................................................................................................................................9
4.2.3 Reset .....................................................................................................................................9
4.2.4 Sleep......................................................................................................................................9
4.2.5 LNA........................................................................................................................................9
4.2.6 AIS message ........................................................................................................................10
4.2.7 I2C data ...............................................................................................................................10
5Using the dAISy FeatherWing....................................................................................................11
5.1 Interpreting the status LEDs .......................................................................................................11
5.2 Configuration and debug menu..................................................................................................12
6Tips for good AIS reception .......................................................................................................14
6.1 Antenna.......................................................................................................................................14
6.2 Location, location, location.........................................................................................................14

2
6.3 Radio frequency noise ................................................................................................................15
7Troubleshooting .......................................................................................................................15
8Specifications ...........................................................................................................................16
9Source code and schematics......................................................................................................17
10 Contact.................................................................................................................................17

3
1Disclaimer
dAISy FeatherWing is a reliable, dual-channel AIS Receiver. However, under no circumstances should
it be solely relied on for collision avoidance or navigation. It’s the user’s responsibility to use the
product prudently. Neither Wegmatt LLC nor its dealers accept responsibility or liability to the product
user or their estate for any accident, loss, injury, or damage whatsoever arising out of the use of this
product.
2Introduction
The dAISy FeatherWing is a dual-channel AIS receiver with integrated low-noise amplifier (LNA). Thanks
to its small size and low power consumption the dAISy FeatherWing is ideally suited for embedded
applications.
AIS (automatic identification system) is an automatic tracking system for ships. Ships broadcast their
position and other information over VHF
1
. The dAISy FeatherWing allows you to receive these
transmissions, enabling real-time tracking of nearby vessels.
The dAISy FeatherWing outputs the AIS data as a stream of ASCII messages, which are encoded in a
marine standard format known as AIVDM sentences
2
. This format is understood by applications and
devices like chart plotters
3
, marine traffic aggregators
4
, and can be processed by many opensource
libraries
5
.
While the dAISy FeatherWing is designed to be mounted directly on top of any Adafruit Feather
development board, it can also be used with other microcontrollers and single board computers.
1
https://en.wikipedia.org/wiki/Automatic_identification_system
2
https://gpsd.gitlab.io/gpsd/AIVDM.html
3
https://opencpn.org
4
https://www.aishub.net, https://www.marinetraffic.com, …
5
https://pypi.org/project/simpleais, https://pypi.org/project/libais, https://github.com/schwehr/libais, …

4
3Pinout
The pinout of the dAISy FeatherWing is compatible with the Adafruit Feather Specification
6
.
Figure 1: Bottom view of dAISy FeatherWing
The table below lists all pins and their function. All other pins are not connected to any part of the
circuit. For a detailed description of a pin functionality see respective section in this chapter.
Note that all communication pins are 3.3 V only!
Pin
Function
Feather
Notes
3V3
3.3V power input
3.3V
GND
Ground
GND
RX1
Serial 1 RX input
TX
always enabled, 38400 bps fixed
TX1
Serial 1 TX output
RX
always enabled, 38400 bps fixed
RX2
Serial 2 RX input
-
configurable, disabled by default
TX2
Serial 2 TX output
-
configurable, enabled by default at 38400 bps
SCL
I2C clock
SCL
configurable, enabled by default
SDA
I2C data
SDA
configurable, enabled by default
IO1
GPIO 1
D12
configurable I/O function, default off
IO2
GPIO 2
D13
configurable I/O function, default off
RST
Reset
-
Used for factory programming
TST
Test
-
Used for factory programming
Table 1: dAISy FeatherWing pinout
6
https://learn.adafruit.com/adafruit-feather/feather-specification

5
3.2 Power
Power for the dAISy FeatherWing is supplied through the 3V3 and GND pins. The pins align with 3.3V
and GND pins of the Adafruit Feather.
dAISy
Feather
3V3
3.3V
GND
GND
Table 2: Power pinout
The dAISy FeatherWing is a 3.3V device. Applying a voltage higher than 3.3V will damage the dAISy
FeatherWing!
In regular operation the dAISy FeatherWing draws 70 mA of current, equivalent to 230 mW of power.
The built-in low-noise amplifier (LNA) can be disabled to reduce power consumption, with the trade-off
of reduced AIS range.
The dAISy FeatherWing can also be put into a low power sleep mode, which turns off AIS reception.
Mode
Current
Power
LNA enabled (default)
70 mA
230 mW
LNA disabled
35 mA
115 mW
Sleep
0.35 mA
1.15 mW
Table 3: Power consumption
3.3 Serial 1
Serial 1 is the primary communication interface of the dAISy FeatherWing. The pins are labelled RX1/TX1
and align with the TX/RX pins of the Adafruit Feather (Serial1 in Arduino).
dAISy
Feather
RX1
TX
TX1
RX
Table 4: Serial 1 pinout
Serial 1 is always enabled and uses 3.3V UART signaling at a fixed speed of 38400 bits per second.
Baud rate
38400 fixed
Data bits
8
Parity
None
Stop bits
1
Flow control
None
Table 5: Serial 1 interface parameters
When in receive mode, the dAISy FeatherWing will output AIS messages as NMEA AIVDM sentences
7
.
Depending on the configuration, the output may include additional debug messages with information
like signal strength or data errors.
Sending the ESC character (0x1B) on Serial 1 will bring up the configuration menu.
7
https://gpsd.gitlab.io/gpsd/AIVDM.html

6
3.4 Serial 2
Serial 2 is a configurable UART interface. The pins are labelled RX2/TX2 and are not aligned with the
standard pinout of Adafruit Feathers.
Serial 2 can be configured as NMEA output (default), NMEA input, or disabled. Speed is configurable to
4800, 9600 and 38400 bits per second.
Baud rate
4800, 9600, 38400
Data bits
8
Parity
None
Stop bits
1
Flow control
None
Table 6: Serial 2 interface parameters
When configured as NMEA output, Serial 2 will output NMEA AIS sentences.
When configured as NMEA input, all NMEA messages received on Serial 2 will be forwarded to Serial 1.
One application for this mode is to add GPS data to the AIS data stream.
3.5 I2C
The I2C pins are labelled SDA/SCL and align with SDA/SCL pins on the Adafruit Feather (Wire in Arduino).
The I2C address is configurable, with a default value of 0x33.
dAISy
Feather
SDA
SDA
SCL
SCL
Table 7: I2C pinout
The dAISy FeatherWing includes 10K pull-up resistors on the SDA and SCL lines.
See chapter 4.1 for a detailed description of the I2C interface.
3.6 GPIO
IO1 and IO2 are configurable input/output pins. The pins are labelled IO1/IO2 and align with D12/D13
pins on the Adafruit Feather (digital pins 12 and 13 in Arduino).
dAISy
Feather
IO1
D12
IO2
D13
Table 8: GPIO pinout
By default, no function is enabled, and the IO pins are disconnected.
See chapter 0 for a detailed description of the configurable GPIO functionality.
3.7 Antenna connector
The edge-mount antenna connector of the dAISy FeatherWing is a female SMA connector with standard
polarity.

7
The dAISy FeatherWing is matched for an antenna with an impedance of 50 ohms, which is standard for
marine VHF communication.

8
4Interfaces
4.1 I2C
4.1.1 Read/Write Operation
The dAISy FeatherWing supports the I2C protocol with 7-bit device address, followed by the R/W bit.
For a write operation, the first byte sent is the register address byte. The next byte sent is written to
that address. The register address is automatically incremented after each byte sent, until the address
reaches 0xff.
To read a register, first write the register address, then use the I2C read operation to access the register
data. The register address is automatically incremented after each byte is read, until the address reaches
0xff.
4.1.2 Device Address
By default, the I2C device address of the dAISy FeatherWing is 0x33.
The I2C address can be configured in the range from 0x30 to 0x3f.
4.1.3 Register Layout
Currently all registers are read-only. Writes to the registers will be ignored.
Address
7
6
5
4
3
2
1
0
0x00
Device type (12 for dAISy FeatherWing)
0x01
Firmware version major
0x02
Firmware version minor
..
0xfd
Number of bytes available (high byte)
0xfe
Number of bytes available (low byte)
0xff
NMEA message stream
Table 9: I2C register map
4.1.4 NMEA message stream
If I2C is enabled, AIS NMEA messages can also be read over I2C.
The currently available number of bytes in the message stream can be read at addresses 0xfd and 0xfe.
The register at address 0xff allows the message stream to be read. If data is available, successive reads
of register 0xff will return the waiting message data. If there’s no data available, or if reading more bytes
than available, the value 0xff will be returned.
When reading the NMEA message stream over I2C, it is recommended to use a polling interval of 100ms
or shorter/faster. Longer/slower polling intervals may result in invalid or missed NMEA messages due to
an overflow of the internal 512 bytes FIFO buffer.

9
4.2 GPIO
4.2.1 Overview
The functionality of pins IO1 and IO2 of the dAISy FeatherWing is configurable.
The following functions are available:
Function
Electrical
Low
High
None (default)
Not connected
Reset
Input, pull-down
Pulse high for > 100 ms to trigger reset
Sleep
Input, pull-down
Receiver active
Sleep
LNA
Input, pull-down
LNA disabled
LNA enabled
AIS message
Output
Positive pulse when AIS msg received
I2C data
Output
No I2C data
I2C data available
Table 10: GPIO pin functions
4.2.2 None
By default, IO pins are disabled. To minimize power consumption in sleep mode, it is recommended to
either assign a function to all IO pins, or connect unused IO pins to GND.
4.2.3 Reset
With this function enabled, the selected IO pin is an input that can be used to reset the dAISy
FeatherWing.
In regular operation, the input is held low. A reset is triggered by setting the input high for longer than
100ms, and then setting the input low.
The startup time from reset to receiving AIS messages is 600 ms.
4.2.4 Sleep
With this function enabled, the selected IO pin is an input that controls the sleep mode of the dAISy
FeatherWing.
When the input is low, the AIS receiver is active.
When the input is high, the AIS receiver is stopped and enters the low power sleep mode.
In sleep mode, the power consumption is less than 0.35 mA. The wake-up time from exiting sleep mode
to receiving AIS messages is approximately 50 ms.
4.2.5 LNA
With this function enabled, the selected IO pin is an input that controls the low-noise amplifier (LNA) of
the dAISy FeatherWing.
When the input is low, the LNA is turned off.
When the input is high, the LNE is turned on.
Switching the LNA off reduces power consumption by approximately 35 mA. The downside is a shorter
range of the AIS receiver.

10
4.2.6 AIS message
With this function enabled, the selected IO pin will output a positive pulse when a valid AIS message is
received. Typical applications include waking up the Feather when new AIS messages arrive, or driving
an LED indicating when valid AIS messages are received.
The length of the pulse depends on the size of the AIS message and typically ranges from 400 to 1200
us. Minimum time between two pulses is 30 us.
The falling edge of the pulse happens after the AIS message data is stored in the output buffers of the
serial and I2C interfaces.
For the serial interface, while the transmission of data may already start before the falling edge, the first
byte of the AIS message won’t be available from the Feather’s serial peripheral until the full byte is
received.
For the I2C interface, the complete AIS message will be available in the I2C buffer at the time of the
falling edge.
4.2.7 I2C data
With this function enabled, the selected IO pin will be high when data is available to be retrieved
through the I2C interface. The IO pin will be low if no I2C data is available or if the I2C interface is
disabled.
In case of an empty I2C output buffer, the rising edge of this signal occurs after a complete AIS message
is stored in the buffer. The falling edge occurs after the last data byte is put onto the I2C bus, which may
be before the last byte is available from the Feather’s I2C peripheral.

11
5Using the dAISy FeatherWing
Using the dAISy FeatherWing is as simple as connecting it with an antenna and a PC and powering up
your AIS capable application of choice. When powered on, the dAISy FeatherWing automatically starts
to listen for AIS transmissions.
5.1 Interpreting the status LEDs
The dAISy FeatherWing has two two-color status LED, giving an indication about how it’s doing. Each LED
represents one of the two AIS channels.
Short GREEN flash every 5 seconds
The dAISy FeatherWing is well and alive and in receive mode, listening for AIS messages.
While in receive mode, the mode dAISy starts in when powered up, it will very briefly blink green every 5
seconds to indicate that everything is ok.
Long GREEN flash
Yay! The dAISy FeatherWing received a valid AIS packet.
For every packet received and passing all error checks, the LED will turn green for ¼ second. At the same
time, the dAISy FeatherWing will output the received message as NMEA AIVDM sentence on the serial
port.
Long RED flash
The dAISy FeatherWing received an invalid packet.
This means that the dAISy FeatherWing received bits that looks like the start of an AIS package, but the
data did not pass other sanity checks like checksum. It might be a ship just out of range, interference
from another radio source, or just random noise.
Don’t panic, you will see a lot of red even under optimal conditions.
RED turned on continously
The dAISy FeatherWing failed to initialize its hardware.
Remove power, plug it in again and see if this resolves the problem. If the condition persists, there is
probably a hardware issue with your device. Please contact us.
Fast regular blinking RED
The dAISy FeatherWing encountered an unexpected system error.
Remove power, plug it in again and see if this resolves the problem. If the condition persists, there is
probably a hardware issue with your device. Please contact us.
No LED activity
The dAISy FeatherWing may not receive power. Review all connections.

12
The LEDs are turned off while the dAISy FeatherWing is in sleep mode. Ensure that the IO pin configured
for sleep control is either driven low or not connected. Reconfigure the IO pins if sleep mode is not
required.
The LEDs are also turned off while the dAISy FeatherWing is in the configuration menu. Connect to dAISy
with a serial terminal and press ESC. A message should tell you that it entered AIS receive mode and the
green LED should start to blink every 5 seconds.
Another possibility is, that the dAISy FeatherWing failed to boot or crashed. In this case, remove power.
Plug it in again and see if this resolves the problem. If the condition persists, there might a hardware
issue with your device. Please contact us.
5.2 Configuration and debug menu
The dAISy FeatherWing can be configured by connecting a serial terminal to Serial 1. Pressing ESC will
bring up a menu with configuration and debug options.
Figure 2: Configuration and debug menu
The configuration options are:
0-3: Control the speed of the Serial 2 interface. Pressing 1 enables the serial port with a speed of 4800
baud, 2 is for 9600 baud, and 3 is for 38400 baud. Pressing 0 turns Serial 2 off.
S: Select the function of the Serial 2 interface. There are two modes:
1. NMEA output: Output AIS messages as NMEA AIVDM sentences.
2. NMEA input: Act as an input for NMEA sentences, for example from a GPS module. All NMEA
sentences received through Serial 2 will be forwarded to Serial 1.

13
C: Configure the radios of the dAISy FeatherWing to listen to specific AIS channels. The dAISy
FeatherWing has two radios, which by default are configured to listen on channel A at 161.975 MHz and
channel B at 162.025 MHz respectively. The dAISy FeatherWing also support the less common “Long
range AIS” channels at 156.775 and 156.825 MHz. The recommended setting is A/B.
I: Configure I2C interface. Enable or disabled I2C and set the I2C device address.
G: Configure the function of the two I/O pins.
L: Enable or disable the on-board low-noise amplifier (LNA).
#: Save current settings (serial, AIS channel, GPIO, LNA and debug) as power-on defaults. This is
particularly useful when you want to persist the settings for the auxiliary serial output.
ESC: Resume receiving AIS messages.
Debug options are:
D: Toggles debug messages. When enabled and in AIS receive mode, signal strength and other
information about valid and invalid AIS packets will be displayed. It is normal to receive a lot of broken
packages as there always will be radio noise and ships just out of range. With some experience, you can
use the debug messages to analyze and improve reception issues.
N: Keep pressed to get an idea of the current noise level. -120 to -100 dBm is normal. dAISy will only be
able to receive valid packets roughly 15 dBm above that level, consistent reception 25+ dBm above
noise.
V: If valid packages were received, this gives a summary of the signal strength at which AIS messages
arrived (min, max, average).
T: Enter test mode. In this mode, dAISy outputs a test message every 5 seconds. You can enter your own
message or have it output a preprogrammed AIS message. This mode is useful when you want to test
dAISy but do not have AIS reception at your current location. You can exit test mode by pressing ESC or
power-cycling dAISy.
B: Enter boot loader mode for firmware updates. dAISy exits this mode through power-cycling, after a
20 second timeout without further activity, or after completing firmware upgrade.

14
6Tips for good AIS reception
Due to their low-cost architecture, dAISy AIS receivers are not as sensitive as some higher priced
receivers. The dAISy FeatherWing has an integrated low-noise amplifier (LNA) to improve range. In
addition, the following basic measures can be taken to improve performance.
6.1 Antenna
If everything else is optimal, almost any antenna tuned to the VHF band will do. I used a simple wire cut
to length for my first prototypes. However, a good antenna will greatly improve results.
AIS messages are broadcast on two channels around 162 MHz, which is in the maritime VHF band. This
means that any antenna sold as “marine VHF antenna” will be a good start.
The short VHF “rubber duck” antennas are cheap and will work at short distance. If you check whether
162 MHz is inside the supported frequency range, you can even ignore the “marine” and save a few
bucks. However, the more broadband the antenna, the worse the reception quality.
A step up are VHF whip antennas. These are steel rods about 90 centimeters (3ft) long. While bulky,
these don’t cost much more than the “rubber duck” but provide superior range. Personally, I use the
TRAM 1600-HC which cost around US $40.
The AIS antenna should be separated as far as possible from the voice VHF antenna to avoid
unnecessary interference. The best separation is achieved by vertically separating the antennas or at
least mounting them on opposite sides of a vessel.
To avoid damaging dAISy FeatherWing with strong transmissions by other devices, the antenna should
be mounted at least 3 meters away from, or at least out of the transmitting beam, of high-power
transmitters such as radars or other VHF antenna installations.
IMPORTANT: Do NOT directly connect the dAISy FeatherWing to the same antenna as your VHF radio.
This will damage the AIS receiver! To share an existing antenna with a VHF radio, use an ACTIVE splitter.
Active splitters protect the AIS receiver by automatically disconnecting it when the VHF radio is
transmitting. Several customers reported good results with the inexpensive Glomex RA201
VHF/AIS/Radio Splitter.
6.2 Location, location, location
Good AIS reception requires line of sight.
A few buildings and trees between you and your targets aren’t ideal, but you will still be able to catch a
few messages. Hills and mountains however are almost certain showstoppers. A clear view of the water
and your targets is ideal.
In my experience the most important factor is the height of the antenna above sea-level (or lake-, river-,
wherever-level the ships are). Sitting at the beach or on the deck of a boat will work. Mounting the
antenna on the mast of your boat or standing on the observation deck of a cruise ship is better. A hill
overlooking the harbor is great. Climbing that 2000m mountain that towers over the coast is AIS heaven.
In a nutshell: The farther you can see, the better.

15
6.3 Radio frequency noise
The main weakness of the dAISy FeatherWing, and probably most low-cost and SDR-based AIS receivers,
is susceptibility to out-of-band RF noise. The effect of noise is reduced range, and fewer successfully
received packets. Unfortunately, there’s not much we can do except finding a spot that’s less impacted
by noise. Outdoors is better than indoors (computers, power-supplies, wireless networks, LED lights ...).
Countryside is better than down-town (taxi radios).
The dAISy FeatherWing has an integrated bandpass filter to reduce the impact of radio frequency noise
outside the marine VHF band frequency.
7Troubleshooting
Problem
Solution
No activity of the status LEDs
Verify that the dAISy FeatherWing is properly
connected.
Device in reception mode, but not valid AIS
messages received (no ¼ second green flashes)
Verify the antenna connection and location.
Good AIS reception requires line-of-sight, verify
your setup from a location that is certain to have
traffic, for example near a harbor.
Device indicates valid AIS messages (¼ second
green flashes), but no messages received on the
serial port.
Verify that the serial pins are connected, and
with the correct RX/TX polarity. Verify the serial
configuration of your software.
Software receives positions, but fewer than
expected and/or with worse range than
expected.
Verify the antenna connection and location.
Good AIS reception requires line-of-sight. Move
the antenna away from sources of electrical
noise.
After some time, the dAISy FeatherWing indicates
a device error (fast blinking red LED)
Power cycle the FeatherWing to resolve the
issue. If this is a regular occurrence, contact us.
Table 11: Troubleshooting tips
If a problem persists don’t hesitate to contact us.

16
8Specifications
Power
Input voltage
3.3 V
Input current with LNA enabled (default)
70 mA
Input current with LNA disabled
35 mA
Input current in sleep mode
0.35 mA
Radio
Independent receivers
2
Frequency bands
161.975MHz, 162.025MHz, 156.775MHz,
156.825MHz
AIS channels
2, freely configurable
Sensitivity with LNA enabled (default)
-113 dBm @ 20% PER
Sensitivity with LNA disabled
-103 dBm @ 20% PER
Bandpass filter
SAW 156.3 - 162.025MHz pass band
RF connector
SMA
Input impedance
50Ω
Data I/O
AIS message encoding
NMEA 0183 (AIVDM)
Supported AIS message types
1-27
Serial speed Serial 1
38400 Baud fixed
Serial speed Serial 2
4800, 9600, 38400 Baud configurable
Serial protocol
8 data bits, no parity, 1 stop bit (8N1)
Serial mode Serial 1
NMEA out fixed
Serial mode Serial 2
NMEA out, NMEA in configurable
I/O voltage
3.3V
Dimensions
Circuit board without SMA connector
50.8 mm x 22.86 mm (2.0” x 0.9”)
Circuit board with SMA connector
60.7 mm x 22.86 mm (2.4” x 0.9”)
Circuit board mounting holes
4x Size: 2.54mm (1.0”)
Distance: 45.72 mm x 17.78 mm (1.8” x 0.7”)
See also: https://learn.adafruit.com/adafruit-feather/feather-specification
Weight
Circuit board with SMA connector
6g

17
9Source code and schematics
Currently the dAISy FeatherWing is only partially open source.
The core of the dAISy FeatherWing, how the Silicon Labs Si4362 radio IC is programmed to receive AIS, is
available on Github. While that project does not include all the functionality of the dAISy FeatherWing as
sold, we do backport any bug fixes that are relevant to the task of receiving AIS.
https://github.com/astuder/dAISy
There is also a long thread on 43oh that documents the journey of dAISy from its humble beginnings.
https://forum.43oh.com/topic/4833-potm-daisy-a-simple-ais-receiver/
If you want to experiment with the real code, brick your device with custom firmware or even build your
own dAISy from scratch, contact us. Tinkerers welcome!
10 Contact
Please don’t hesitate to contact us if you need support. We also love to hear about your projects and are
happy to share your related blog posts, videos, and pictures on our social media.
You can also reach us on GitHub, and Twitter.
Wegmatt LLC
6356 138th Ave NE #212
Redmond, WA
United States of America
https://wegmatt.com
Designed and assembled in the USA
Table of contents
Other Wegmatt Control Unit manuals
Popular Control Unit manuals by other brands

Cherry
Cherry AFZE quick start guide

Total Control
Total Control QPI-PSL-201 installation guide

Patton electronics
Patton electronics IM1/K user manual

VALVEX
VALVEX red DN20 Assembly and operation instructions

Honeywell
Honeywell VHL120 Installation and user instructions

Automationdirect.com
Automationdirect.com Productivity P1-04DAL-1 manual

Pliant
Pliant CREWCOM operating manual

Honeywell
Honeywell VR400 Series operating instructions

Texas Instruments
Texas Instruments TPA3101D2 user guide

Graco
Graco ProMix Auto Installation

A.R.I.
A.R.I. Eliptix W-30 WR 2W Installation operation & maintenance

Panasonic
Panasonic CF-BAD04GU operating instructions