Jump to content

[POTM] dAISy - A Simple AIS Receiver

Recommended Posts



It does not lock up using XT2 (4 Mhz) as MCLK, so all issues seems related to 25 mhz dco but it outputs no nmea packets ... maybe 4 mhz is not fast enough?


error: invalid stuff bit
sync A RSSI=-085dBm
error: invalid stuff bit
sync A RSSI=-073dBm
error: CRC error
sync A RSSI=-086dBm
error: invalid stuff bit
sync B RSSI=-071dBm
error: CRC error
sync B RSSI=-087dBm
error: CRC error
sync B RSSI=-086dBm
error: invalid stuff bit





Do you have captures after it stops working?

If you can reproduce the issue while running the CCS debugger, it would also be interesting to look at the packet handler state it got stuck in (ph_state).

Link to post
Share on other sites
  • Replies 327
  • Created
  • Last Reply

Top Posters In This Topic

Top Posters In This Topic

Popular Posts

Overview dAISy (do AIS yourself) is a very simple AIS receiver that I developed from scratch. It is built around the Silicon Labs EZRadioPRO Si4362 receiver, using a Texas Instruments MSP430G2553 MC

Ain't she pretty?    

Good news for everyone having difficulties sourcing the Si4362 radio IC.   I verified that the transceiver Si4463 works with dAISy. This probably also applies to Si4460 and Si4461. Besides being mor

Posted Images

I run my F5508 at 16 MHz, not sure if 4 MHz is sufficient.


Just increase the clock divider when configuring SPI, no need to lower the MCU clock. If I remember correctly, the radio can handle up to 8 MHz.


Did you receive packages before? Do you have unobstructed view of the sea?

Link to post
Share on other sites

yeah, just received some packets from GSF ARTIC I MMSI 576917000   :biggrin:  :biggrin:  ... ... my antenna is a simple dipole outside my flat and I'm rxing packets from ships about 40 nm. from my location. Not bad!   :laugh:


PS: the TM4C1294XL launchpad would be a perfect plataform for dAISy!!!

Link to post
Share on other sites

Good news for everyone having difficulties sourcing the Si4362 radio IC.


I verified that the transceiver Si4463 works with dAISy. This probably also applies to Si4460 and Si4461. Besides being more widely available through distributors, more adventurous souls can even find these ICs on Aliexpress.


Even better news for those that want to recreate my project with minimal effort: Si446x based radio modules are sold on eBay and elsewhere.


I bought the E10-M4463D from eBay for $7.99:



I chose this module over others because all pins of the radio are broken out to headers.



Unfortunately two pins (GPIO2 and GPIO3) are reserved to control the RF switch that connects the antenna with RX or TX channels. But after a few minor changes to my code I had dAISy working.

Here's the branch on Github: https://github.com/astuder/dAISy/tree/E10-M4463D


The wiring changed:

GPIO0 -> P2.0

NIRQ -> P2.5

GPIO2, GPIO3 -> no longer connected to the LaunchPad


As the modules are built for 433 MHz and AIS is using 162 MHz, I had to replace antenna and passives on the RX side.


The new passives from left to right are (ignoring the obvious 0-ohm resistors) 11pF, 150nH, 13pF. As you can see the 0603 components are a very tight fit. I reflowed them with a hot air station instead of using a soldering iron. The clunky thing on the right is a BNC connector, SMA probably would have been a more elegant fit :rolleyes:


Technically, it's still not ideal. The traces might be impedance matched to the original frequency. However a quick real-world test demonstrated similar sensitivity as my original breakout boards.


EDIT: added wiring information

EDIT: added link to Github

Link to post
Share on other sites

@@jimeney @@petertux @@bluehash and others, due to recurring requests I added a poll to this thread.


What's the interest in buying dAISy and in what shape?


dAISy USB in its current form for US $50, tested & shipped, no antenna ($16 extra), no case.




dAISy BoosterPack (to be designed) for US $20, tested & shipped, basically a tidied up version of the original POTM entry.


I think $50 shipped is reasonable for the project in its state, with perhaps a view to a $30-$40 price point when you produce in volume.


I would certainly take one from you now at $66 including an antenna, the only caveat is the shipping would be to the UK. I'm happy to wait for a slower postal method if you're still able to include shipping.

Link to post
Share on other sites

Yay! Thanks to @@gmtii there's now a dAISy in the wild, reporting ship positions to marinetraffic.com




(on and off, probably thanks to a still to be squashed bug somewhere in my code)

Link to post
Share on other sites

Well, after checking my stash of boards it looks like I bought CC1100 boards at the time, I did favour them at the time. Any way I now have 2 for $7 in the mail.

I was wondering about weather balloon sonde reception 400-406MHz with these Si443x boards. I live in sight of the local international airport and I'm sure they launch weather balloons from there, again another SDR task probably easily handled with cheap hardware.

Link to post
Share on other sites
  • 5 weeks later...
  • 2 weeks later...



this is how to setup an ais server with your rpi, cubieboard or beaglebone, dAISy and Marinetraffic. This is how I did but I'm sure there are better ways to do it ...


When you a server @ Marinetraffic,  they'll send an email with IP and unique port where you have to send dAISys output, e.g. 7604. We have to redirect dAISy serial output to this IP and unique port with some awful scripts:


First, install screen utility: sudo apt-get install screen


Plug dAISY USB and check if /dev/ttyACM0 is there; if not, then you need a kernel with support for  CDC_ACM devices;  rpi, cubieboard or beaglebone stock kernels should support these out the box.


Test if your dAISy is working with any serial terminal of your choice as minicom or just enter 'screen /dev/ttyACM0'. (CTRL+A and K to exit from screen session). This is how AIS sentences looks like:




We'll use this script to redirect serial output to Marinetraffic site; if connection is dropped, it'll reconnect in 5 seconds:


while true;
        echo "Start: " `date`

        nc 7604 < /dev/ttyACM0

        echo "Restart: " `date`
        sleep 5


5.- save as /home/foo/ais.sh

6.- run the script in a separate console with this command: "screen -dmS ais sh /home/foo/ais.sh". You can connect with this console with this command "screen -r ais" and kill it with CTRL+A and the press K.


From now you can logout and let the box running alone. Add before exit(0) @ /etc/rc.local if you want automatic startup...



Link to post
Share on other sites

Well I received my dAISY in the post today, and have fired it up. I'm around 5km from the coast, in an office, so poor to no coverage here, but the dAISY is outputting:


sync A RSSI=-100dBm

error: invalid stuff bit


sync A RSSI=-100dBm

error: CRC error


So, I think everything is working as it should, I just need to get home and set this up in its more permanent home. I'll keep you posted with updates.

Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

  • Create New...