chicken

[POTM] dAISy - A Simple AIS Receiver

259 posts in this topic

@@chicken A price point of $25 to $35 would be very reasonable... for the USB version. This is the hobbyist amount range. I'd imagine the people using this would be happy to get a low cost finished version than fiddling around with BoosterPacks. You should also do some research( or have already done ) on currently available products.

Share this post


Link to post
Share on other sites

Thanks for the feedback @@bluehash, that's why I'm asking. :smile:

 

Unless we're talking about selling off extra or old prototypes, $25-$35 is not realistic for the USB version. Electronics assembly and filling out customs forms are not my preferred past time and therefore building units with the purpose to sell should cover more than just BOM and postage.

 

Happy to collaborate on a lower cost BoosterPack. Including a BNC connector, the BOM would be $6-7.

Share this post


Link to post
Share on other sites

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

 

 

the pins near the usb port are by any chance a combination of GND, RST, TEST, VCC, RX and TX ?

it would be nice to see a schematic if possible.

Share this post


Link to post
Share on other sites

the pins near the usb port are by any chance a combination of GND, RST, TEST, VCC, RX and TX ?

it would be nice to see a schematic if possible.

 

Yes, the pin header breaks out the usual LaunchPad pins. They are TX, VCC, TST, RST, GND, RX from left-to-right. I will send you a PM about the schematic.

Share this post


Link to post
Share on other sites

hi Adrian,

 

Really enjoyed your great project, congratulations! :biggrin:  I'm trying to do my homework porting it to 5529 LP (as original LP uart in linux is a pain and my setup is a rpi running 24x7 sharing AIS data ).

 

Got all hw right initialized (I think) and it outputs some info at UART but then stops in 1-2 minutes (red led stops blinking) ... hw is ok as it works fine with original LP.

 

dAISy 0.2 started
y
chicken likes this

Share this post


Link to post
Share on other sites

Hi @@gmtii

 

I'm always thrilled hearing about someone else picking up this project. Did you design your own board or did you go with the original breakout board?

 

As for the bug:

 

I very rarely observed hangs with the breakout on the G2553. But only after several minutes, and without the garbled text output.

 

It got much worse with dAISy USB, except for a very specific version of the software. As soon as I change something completely harmless (like increasing a buffer size or adding/removing debug code), it crashes almost immediately.. but only if there are ships nearby and USB is connected. Having no reception at home makes debugging a slow process of trial and error.  :angry:

 

My current theory is, that some of my code causes memory corruption, main suspects being FIFO or NMEA encoding.

 

Still, I never see garbage text as in your example. So I'm not sure if we're chasing the same issue. In your case, I'd try to comment out reporting of dBm and see if it improves things.

 

Will look at your diff later today.

Share this post


Link to post
Share on other sites

@@gmtii can't see anything wrong with your code. I relied on the MSP430Ware libraries when migrating to F5508, but that shouldn't make much of a difference once you got it up and running.

 

Do you have logic analyzer or scope? Would be interesting to see if the Si4362 still sends a data clock on GPIO 3. If not, a lost bit in the SPI communication could have caused an error condition -> lower the SPI clock speed. If the radio still sends data I fear you're battling the same issue as I currently do (MSP430 crashing due to memory corruption.. at least I could rule out USB library as culprit on my side).

 

Also, did you try a slower baud rate to get rid of the intermittent garbage output? 38400 should be plenty for AIS.

Share this post


Link to post
Share on other sites

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).

Share this post


Link to post
Share on other sites

hi,

 

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

...

 

Thanks. 

 

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).

Share this post


Link to post
Share on other sites

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?

Share this post


Link to post
Share on other sites

Hi,

 

DCO modes (even at 8 mhz) don't like LPM4 mode in your code... it works like a charm using LPM0-1-2, 25 mhz DCO, 8 mhz spi, 115200 uart...

 

so, could the issue be not fast enough start up exiting from LPM3, 4 modes? 

 

thanks.

chicken likes this

Share this post


Link to post
Share on other sites

Hmm, interesting point. I switched to LPM0 as that's what the USB peripheral supports, so I might have dodged that issue.

 

So do you now receive packets? In my experience, with the breakout board 60dBm was about the threshold for receiving valid packets.

Share this post


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!!!

Share this post


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:

http://www.ebay.com/itm/100mw-433MHz-SI4463-Wireless-Transceiver-Module-With-Antenna-2100m-/151243201316

 

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

post-9974-0-78930300-1401757733_thumb.jpg

 

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.

post-9974-0-00077200-1401757749_thumb.jpg

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

gmtii, bluehash, JonnyBoats and 1 other like this

Share this post


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.

 

attachicon.gifIMG_1688.jpg

 

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.

Share this post


Link to post
Share on other sites

I'm sure I bought a couple of these modules from Deal extreme a few yeas ago. Better start looking for those tiny modules.

Thanks for the tip.

Share this post


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.

Share this post


Link to post
Share on other sites

Within the next few weeks I should be able to provide an AIS feed covering The Solent in the UK. It's a major shipping route for freight, cruise ships, passenger ferries and military vessels. This will be provided through the USB dAISy. I'll keep you posted. 

tripwire and bluehash like this

Share this post


Link to post
Share on other sites

hi,

 

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. 5.9.207.224 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:

 

!AIVDM,1,1,,A,1CF4kT3000Nm`Kl@BHKJC@IH0000,0*37
!AIVDM,1,1,,B,4028jOQur1laeNlMIL@<`8O00@JU,0*5F

 

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

 

#!/bin/sh
while true;
        do
        echo "Start: " `date`

        nc 5.9.207.224 7604 < /dev/ttyACM0

        echo "Restart: " `date`
        sleep 5
        done

done
 

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...

 

Esteban.

StrangerM and chicken like this

Share this post


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.

chicken likes this

Share this post


Link to post
Share on other sites

Can you comment on using those ebay modules?  Have you found any others that would be usable unchanged, or easier to modify?  

 

Thanks,

David

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now