chicken

[POTM] dAISy - A Simple AIS Receiver

264 posts in this topic

It's a modified aquarium pump with an improvised foot pedal (piece of wood with a hole to cover with your toe to enable the suction action). The airflow is not sufficient for larger parts, but 0603 works great. I got it off eBay two years ago for $20 or so.

tripwire likes this

Share this post


Link to post
Share on other sites

Progress is slow in dAISy land, mostly due to lack of time. But I finally got time to unpack and test the first production batch of the 2-channel dAISy HAT for Raspberry Pi.

post-9974-0-43994100-1476926316_thumb.jpg

 

I've used MacroFab for the first time, which worked out great. Because they don't have NRE, it's the perfect solution for slowly ramping up volumes while still tweaking the design.

 

I even built a little jig for programming and testing.

post-9974-0-91887600-1476926345_thumb.jpg

 

Even though I included a Tag-connect footprint, I decided to use pogo pins and a F5529 LaunchPad for programming. As communication with the Raspberry Pi is only via UART, I can also fully test the board via the LaunchPad. Saves a ton of time compared to using a real RPi.

 

I will have to write some useful documentation before putting them up for sale on Tindie. I'm a little scared of the potential support nightmare to help non-IT people configure their RPis. :unsure:

 

PM me if you can't wait and don't need no stinkin' documentation.

 

Edit: Now available on Tindie https://www.tindie.com/products/astuder/daisy-hat-ais-receiver-for-raspberry-pi/

Fmilburn and spirilis like this

Share this post


Link to post
Share on other sites

It's a modified aquarium pump with an improvised foot pedal (piece of wood with a hole to cover with your toe to enable the suction action). The airflow is not sufficient for larger parts, but 0603 works great. I got it off eBay two years ago for $20 or so.

 

You should try some larger needle tips. My pickup tool is a small DC motor pump + PVC tubing and Luer-loc syringes, I've found switching to larger diameter tip enables me to pickup larger parts TSSOP and 32 pin TQFP.

chicken likes this

Share this post


Link to post
Share on other sites

Hi everone!
It's my first post on this forum. I'm following this thread with great interest. I come back every now and then to check the progress. I'm also a boating enthusiast and have built a few electronic devices.
 
The reason I'm writing is becasue a while ago I was searching for a way to connect two receivers on the same antenna. The idea was to use a resistive splitter with 6db loss and an amplifier to compensate for the loss.
@@chicken
I've noticed you have built a device with two receivers so I was wondering if you can explain how you designed the splitter. I see on the picture you have two baluns (without the 220pF capacitor) and a bandpass filter (green boxes), but I can't figure out the central arrangement of passive components (in blue box). Can you please explain how you realised the splitter and what are it's losses?
Additionally what is D41 for?

 

post-49551-0-96963600-1477425661_thumb.jpg
 
Thanks for your reply and keep up the good work.
Regards,

Mat
 

Share this post


Link to post
Share on other sites

Hi @@matkar

 

Very good analysis of the PCB.

 

The components in the blue box form a Wilkinson divider tuned to 162 MHz. It has an insertion loss of about 3 dBm. Surprisingly I didn't notice any impact in real-world performance compared to the single-channel dAISy. Not sure why, but I suspect a combination of better noise management (e.g. noise filtering on power rail, radios further away from MCU) and the signal being limited by environmental noise.

 

D41 is for diodes to protect the radios from RF overload. But I struggle to find the right part and am unsure how much it really helps. E.g. I doubt it will handle the situation where the receiver gets connected to the same antenna as a transmitting VHF radio.

 

The missing components in the baluns are a inductors. The application note for the radio IC offers two configurations with 3 and 4 components. I did go with 3 as the 4-component configuration didn't improve real-world performance.

Share this post


Link to post
Share on other sites

Hi all,

 

Is there a bandpass filter on board the dAISy HAT? I've build a couple of these:

 

https://blackbirdengineering.wordpress.com/2013/05/07/filter-and-lna-for-ads-b/

 

It is a wide range LNA, suitable from 100MHz to 1+ GHz, but I'm a little afraid to overpower the dAISy input... I'm using these LNA's on my ADS-B receiver and I'm using a bandpass filter there too.

Share this post


Link to post
Share on other sites

Hi Polyphemus,

 

Yes, dAISy includes a bandpass filter.

 

I experimented with external LNAs a few times, but didn't see any benefit. Though I never was very systematic about my experiments.

 

The max input must not exceed 10 dBm. Even -50 dBm is more than enough to reliably decode a signal. A LNA would only be useful if it pulls very weak signals (say below -100 dBm) out of the noise.

Polyphemus likes this

Share this post


Link to post
Share on other sites

Hi chicken. I can not make the upgrade of dAISy USB v4.04 - dAISyPack (5529) . BSL_USB_GUI.exe aborts with Daisy_hw0_fw4_07.txt and Daisy_hw0_fw4_08.txt but runs well with Daisy_hw0_fw4_04.txt and Daisy_hw0_fw4_03.txt. (Win10)

Share this post


Link to post
Share on other sites

@@StrangerM just tried with a MSP430F5529 LaunchPad and it works for me.

 

I tried both ways entering the bootloader, either pressing the BSL button when plugging in or the B command in the debug menu.

 

I can see two potential issues:

 

1) Make sure your firmware file is not corrupted. Some browsers seem to save HTML code instead of plain text when downloading a .txt from Github. I just uploaded them to Github as ZIP file to avoid that issue.

 

2) On my LaunchPad, only the GND, 5V and 3.3V jumpers are in. The other jumpers on the debug connection are empty.

 

Regards,

Adrian

StrangerM likes this

Share this post


Link to post
Share on other sites

Thank  you, Adrian. The problem really was in firmware file`s downloading. I used zip file and succeeded.

Regards, Michael.

Share this post


Link to post
Share on other sites

I have made a simple  test generator for dAISy on RasPi 2 and USB sound blaster. I used the programm PiFm with command "arecord -fS16_LE -r 48000 -Dplughw:1,0 - | sudo ./pifm - 162.025 48000 (or arecord -fS16_LE -r 48000 -Dplughw:1,0 - | sudo ./pifm - 161.975 48000)". I played the sound file AIStest.wav on a laptop. I connected an audio output of the laptop with an audio input of the sound blaster. It works perfectly well with dAISy and AIS ENGINE3.   

post-42627-0-89098900-1482048522_thumb.jpg

post-42627-0-69238600-1482048532_thumb.jpg

post-42627-0-16773200-1482048543_thumb.jpg

post-42627-0-66519800-1482048562_thumb.jpg

uais_spb.zip

post-42627-0-35638700-1482061173_thumb.jpg

22122016.zip

Share this post


Link to post
Share on other sites

:blink:

 

You crazy Russians! :)

 

I would never have thought that this works.. but it kind of makes sense as GMSK is still just FM.

 

PS: Definitely not legal in this part of the universe. :ph34r:

Share this post


Link to post
Share on other sites

Yes, But You are crazy too. :-) You made AIS receiver from GMSK modem. :-)... Made in USA. :-)

PS However, and I am surprised, that it (transmitter) works.

:P

Share this post


Link to post
Share on other sites

As is.... :-)

Hello StrangerM! I just want to configure my own dAISy using Si4362 and Energia based on your code.

But I have one question, why did you comment this part? 

 

// configure WDT

  WDTCTL = WDTPW | WDTHOLD;       // stop watch dog timer

 

  // set clock to 16MHz

  BCSCTL1 = CALBC1_16MHZ;

  DCOCTL = CALDCO_16MHZ;

  BCSCTL2 = 0;        // MCLK and SMCLK = DCO = 16MHz

 

How did you ensure the MSP430 clock's 16 MHz?

 

Regards,

Rian

Share this post


Link to post
Share on other sites

Hello, Rian. Yes, I am sure. But full part of the text is 

 

/*
    // configure WDT
    WDTCTL = WDTPW | WDTHOLD;                // stop watch dog timer

    // set clock to 16MHz
    BCSCTL1 = CALBC1_16MHZ;
    DCOCTL = CALDCO_16MHZ;
    BCSCTL2 = 0;                            // MCLK and SMCLK = DCO = 16MHz
*/

You can see /*.....*/ . This part of the text does not work. Energia is a cross platform. It works with every launchpad.

Regards, Michael. 

Share this post


Link to post
Share on other sites

Thanks for the fast response StrangerM!

I didn't know that MSP430 has the different way to set the system clock before.

 

Btw, I have another question. In your hardware configuration, do the pin configuration still like this:

 

  • SEL -> P1.4 (SPI chip select)
  • SCLK -> P1.5 (SPI CLK)
  • SDO -> P1.6 (SPI MISO)
  • SDI -> P1.7 (SPI MOSI)
  • GPIO0 -> P2.0 (I/O unused)
  • GPIO1 -> P2.1 (I/O clear-to-send)
  • GPIO2 -> P2.2 (I/O RX clock)
  • GPIO3 -> P2.3 (I/O RX data)
  • SDN -> P2.4 (shutdown / reset)
  • IRQ -> P2.5 (I/O channel-clear)

Because I see a little difference configuration in pin configuration at packet_handler.c:

 

// pins that packet handler uses to receive data
#define    PH_DATA_CLK_PIN        RADIO_GPIO_0    // RX data clock
#define PH_DATA_PIN            RADIO_NIRQ    // RX data
#define PH_DATA_PORT        2

 

 

Thank you StrangerM.

 

Regards,

Rian

Share this post


Link to post
Share on other sites

Thanks for the fast response StrangerM!

I didn't know that MSP430 has the different way to set the system clock before.

 

.......

In Energia - Tools/Board/LaunchPad w/ msp430g2553 (16MHz)

Share this post


Link to post
Share on other sites

For those with a dAISy USB or BoosterPack, I just published a new firmware version 4.11 on GitHub.

https://github.com/astuder/dAISy/tree/master/Firmware

 

It introduces the greatest incremental improvement since firmware 4.02. Turns out, slower channel hopping works A LOT better. Same range, but in my tests the change results in about 25-30% more messages received.

 

I also fixed bug in serial communication that only occurs when you try to connect dAISy to an Android device. That bug was introduced a month ago, and impacts only a few customers that ordered units between December 20 2016 and January 18 2017. :(

 

As always, please let me know if you run into any issues.

StrangerM likes this

Share this post


Link to post
Share on other sites

Hello All,

 

I'm very impressed for the development of dAISy in this forum since 3 years ago.

But I just started to built my own dAISy and Launchpad MSP430G2553 as below.

 

https://nazmibojan.wordpress.com/2017/01/30/ais-receiver/

 

I need help to finish this dAISy soon :D

My dAISy stopped running at radio_configuration() function was executed. If I remove dAISy from Launchpad, it works and launchpad gave red led blinking sign. But when I attached dAISy to Launchpad, it didn't even show any sign (including red blinking for error get chip status).

Can you help me where the problem is?

(ph_start() didn't worked too when dAISY attached)

 

Regards,

Rian

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