d_older
Posts: 114
Joined: Mon Jun 25, 2012 5:04 pm
Location: East Yorkshire, UK

Re: Making sense of ADS-B checksums & bitfields

Fri Apr 12, 2019 4:46 pm

HI abi1jx

I wouldn't worry too much about the loading on a Pi-zero - this is mine currently:-

Code: Select all

top - 16:31:24 up 156 days, 21:18,  1 user,  load average: 0.50, 0.54, 0.48
Tasks:  65 total,   1 running,  40 sleeping,   0 stopped,   0 zombie
%Cpu(s): 27.7 us,  7.4 sy,  0.0 ni, 63.9 id,  0.0 wa,  0.0 hi,  1.0 si,  0.0 st
KiB Mem :   443872 total,   108652 free,    46920 used,   288300 buff/cache
KiB Swap:   102396 total,   102396 free,        0 used.   320700 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND      
  282 dump1090  15  -5   29396  11180   2228 S 28.3  2.5  68055:35 dump1090-mu+ 
  354 piaware   20   0   23384  11964   5832 S  1.6  2.7   1796:37 piaware      
  720 piaware   20   0   12132   8708   5060 S  1.6  2.0 257:53.57 fa-mlat-cli+ 
16376 pi        20   0    8100   3252   2796 R  1.3  0.7   0:00.50 top          
16299 root      20   0       0      0      0 I  1.0  0.0   0:01.91 kworker/0:2  
  132 root      20   0       0      0      0 S  0.3  0.0 161:50.82 spi0         
25414 piaware   20   0    2932   2272   1920 S  0.3  0.5 302:12.00 faup1090     
    1 root      20   0    9532   5956   4880 S  0.0  1.3   7:23.09 systemd      
    2 root      20   0       0      0      0 S  0.0  0.0   0:06.93 kthreadd     
    4 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 kworker/0:0H 
    6 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 mm_percpu_wq 
    7 root      20   0       0      0      0 S  0.0  0.0 401:04.40 ksoftirqd/0  
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kdevtmpfs    
    9 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 netns        
   11 root      20   0       0      0      0 S  0.0  0.0   0:11.32 khungtaskd   
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 oom_reaper   
   13 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 writeback
I'm using a 10Mbit enc28j60 spi ethernet adapter - note this is even fast enough to stream to the "full" SBS data to another machine running "socket3003" although I was not running piaware at the time so no other upload or multi-lat data transfer.

Hope this helps

Dave.

User avatar
pi-anazazi
Posts: 497
Joined: Fri Feb 13, 2015 9:22 pm
Location: EU

Re: Making sense of ADS-B checksums & bitfields

Fri Apr 12, 2019 4:51 pm

Hmmm, any better suggestions available on the old continent? Won't buy from the island these days anymore, never know what happenz next day... ;-)
Kind regards

anazazi

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Sat Apr 13, 2019 2:54 am

OK, here's my tin can collinear I built a couple years ago from the drawing on Sprut's page. I didn't spend any money on it, just used what was kicking around.
1090_sprut_collinear.jpg
1090_sprut_collinear.jpg (130.05 KiB) Viewed 887 times
To start make a big clearance hole in the bottom of the can, but not so big your insulator won't cover it. The triangular piece of Plexiglass in the bottom right picture is what I used for an insulator, it was cut off a corner of something that broke if I remember right. Doesn't need to be that shape. Bend a small hook in one end of the wire you're going to use for the active element, then with that flat (or clamped in a vise) make a 90 degree bend. Then measure up 130 mm and start making the bends in Sprut's diagram. I used galvanized steel electric fence wire because I bought a 1/4 mile spool of it to make antennas with. You can solder to it when it's new, it's stiff enough to stand upright for this distance. Sort of nasty springy stuff, you might want to wear gloves until you get it tamed and bent straight.

You'll need a hole through your insulator for the machine screw that holds the wire on, make sure you can keep the parts connected to the antenna from shorting out on the can. Drill a couple more holes to bolt the insulator to the can. I used a tiny scrap of copper flashing with a hole punched in it as a terminal to solder the center lead of the coax to, and it's on the bolt that holds the antenna on. The coax here is RG-59 because I have a lot of it around (it was free), and it's all copper, both the braid and the center, so it's easy to solder. Scrape a bare spot on the inside of the can, use a 100 watt iron or gun and tin that ahead, I did an extra one here that turned out to be in the wrong place so I did another. Be careful of melting the coax inner insulation, tin everything ahead and let it cool, then heat just long enough to melt them together. You could do this without soldering at all, just use a couple crimp-on eyelets for the coax, but soldered is more reliable. I've been soldering since I was about 10, just don't solder with short pants on.

On the other end of the coax I used a screw-on BNC fitting, you can pick them up at Radio Shack or other places cheaper, be careful to follow the stripping guide. You could also use an end cut off a cable with BNCs on it. The connection to the dongle is made with a pigtail, you can find those on eBay or Aliexpress. They're sort of necessary to have around if you want to use anything other than the antenna that came with the dongle, you can find them under $2. I just ordered my 6th dongle, most have pigtails to BNC. There's a little scrap of sheet metal bolted to the side of the can, that's to put something heavy (like a book) on to hold the antenna right side up. The coax comes into the can through a hole I filed the burrs off, it's clamped with a scrap of plastic cut out of a frozen dinner tray. There's a little scrap of sheet metal on the top of the antenna bolt as a washer. Oh, it's an empty tunafish can, steel, not aluminum

I see planes in the air flying over New York City 175 km to the south, Albany 60 km to the west, Boston 145 km to the east. I don't see them on the ground at that distance, only if they have some altitude. I've never used the antenna outdoors, rarely near a window. I built it quickly but it's worked fairly well. I'm ready for another though.

Make a little jig with nails in a board for bending the wire around, bend up 2 and put them together and you've got more gain, plus you can make them for friends. 75 cm of wire each roughly. I wonder if you can stack multiple ones and also bring the impedance down, not sure about the directionality though, probably wouldn't be omni anymore. You'd need to stack them vertically I think, like a J-pole array. https://en.wikipedia.org/wiki/J-pole_antenna and https://m0ukd.com/calculators/slim-jim- ... alculator/ J-poles are sold commercially in sets of 4 for VHF, every time you put 2 together in parallel you cut the impedance in half. So 300 -> 150 -> 75, perfect. You just have to get the phasing right. But use the wiring harness, not the j-poles.

But simpler: take Sprut's design and mirror it vertically, that's 300 ohms about. Now use 4 of those at the same height 1/2 or 1 wavelength apart and you can just connect the terminals in parallel and get back to 75 ohms.

User avatar
NGC6543
Posts: 75
Joined: Thu Feb 28, 2019 7:30 pm
Location: Lancashire, UK

Re: Making sense of ADS-B checksums & bitfields

Sat Apr 13, 2019 4:25 pm

I thought I would give that Sprut's collinear a try. I'll do my Franklin when I get a bit more time - want to do that more accurately. This is some stripped 2.5sq.mm mains cable, with loops, and stuffed into the top of the TV tail socket that came with my dongle. I'll see how it does over the next few days compared to my bit-of-coax-through-a-tin first attempt (which does remarkably well).
Cantenna2.jpg
Cantenna2.jpg (147.68 KiB) Viewed 857 times

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Sat Apr 13, 2019 6:38 pm

Oh, writing antennas in C is fun. Mirror the Sprut antenna, the impedance is too high. So wire 4 of them in parallel to bring it back toward 75 ohms. Except that didn't quite work, NEC says 5.88010E+06 now for the impedance, how can that be? The radiation pattern looks reasonable. Maybe I missed and something's not connecting. I like the 42 db gain though, that's probably not right. If I can make a jig to bend up the wire for the colliinear, it's quite feasible to make 8 of them. I have them spaced 1 wavelength apart horizontally here. NEC isn't perfect, you hit a point where it bogs down if the wire density is too great, maybe some of that is happening.

And of course antenna gain is a misnomer anyway, you can gain in one direction by sacrificing it in another direction. That disk looks awfully flat.
coll_xnecv.gif
coll_xnecv.gif (10.29 KiB) Viewed 844 times

Code: Select all

CM 8 Collinears, Frequency 1090.000000 MHz
CM wavelength 0.275039 meters halfwave 0.137519
CE
GW 1 3 0.000000 -0.010000 0.000000 0.000000 0.010000 0.000000 0.000914
GW 2 7 -0.137519 -0.010000 0.000000 0.000000 -0.010000 0.000000 0.000914
GW 3 7 -0.137519 -0.010000 0.000000 -0.137519 -0.147519 0.000000 0.000914
GW 4 7 -0.137519 -0.147519 0.000000 -0.081460 -0.147519 0.000000 0.000914
GW 5 7 -0.081460 -0.147519 0.000000 -0.081460 -0.160219 0.000000 0.000914
GW 6 7 -0.081460 -0.160219 0.000000 -0.137519 -0.160219 0.000000 0.000914
GW 7 7 -0.137519 -0.160219 0.000000 -0.137519 -0.297739 0.000000 0.000914
GW 8 7 -0.137519 -0.297739 0.000000 -0.081460 -0.297739 0.000000 0.000914
GW 9 7 -0.081460 -0.297739 0.000000 -0.081460 -0.310439 0.000000 0.000914
GW 10 7 -0.081460 -0.310439 0.000000 -0.137519 -0.310439 0.000000 0.000914
GW 11 7 -0.137519 -0.310439 0.000000 -0.137519 -0.447958 0.000000 0.000914
GW 12 7 -0.137519 0.010000 0.000000 0.000000 0.010000 0.000000 0.000914
GW 13 7 -0.137519 0.010000 0.000000 -0.137519 0.147519 0.000000 0.000914
GW 14 7 -0.137519 0.147519 0.000000 -0.081460 0.147519 0.000000 0.000914
GW 15 7 -0.081460 0.147519 0.000000 -0.081460 0.160219 0.000000 0.000914
GW 16 7 -0.081460 0.160219 0.000000 -0.137519 0.160219 0.000000 0.000914
GW 17 7 -0.137519 0.160219 0.000000 -0.137519 0.297739 0.000000 0.000914
GW 18 7 -0.137519 0.297739 0.000000 -0.081460 0.297739 0.000000 0.000914
GW 19 7 -0.081460 0.297739 0.000000 -0.081460 0.310439 0.000000 0.000914
GW 20 7 -0.081460 0.310439 0.000000 -0.137519 0.310439 0.000000 0.000914
GW 21 7 -0.137519 0.310439 0.000000 -0.137519 0.447958 0.000000 0.000914
GW 22 7 0.137519 -0.010000 0.000000 0.000000 -0.010000 0.000000 0.000914
GW 23 7 0.137519 -0.010000 0.000000 0.137519 -0.147519 0.000000 0.000914
GW 24 7 0.137519 -0.147519 0.000000 0.193579 -0.147519 0.000000 0.000914
GW 25 7 0.193579 -0.147519 0.000000 0.193579 -0.160219 0.000000 0.000914
GW 26 7 0.193579 -0.160219 0.000000 0.137519 -0.160219 0.000000 0.000914
GW 27 7 0.137519 -0.160219 0.000000 0.137519 -0.297739 0.000000 0.000914
GW 28 7 0.137519 -0.297739 0.000000 0.193579 -0.297739 0.000000 0.000914
GW 29 7 0.193579 -0.297739 0.000000 0.193579 -0.310439 0.000000 0.000914
GW 30 7 0.193579 -0.310439 0.000000 0.137519 -0.310439 0.000000 0.000914
GW 31 7 0.137519 -0.310439 0.000000 0.137519 -0.447958 0.000000 0.000914
GW 32 7 0.137519 0.010000 0.000000 0.000000 0.010000 0.000000 0.000914
GW 33 7 0.137519 0.010000 0.000000 0.137519 0.147519 0.000000 0.000914
GW 34 7 0.137519 0.147519 0.000000 0.193579 0.147519 0.000000 0.000914
GW 35 7 0.193579 0.147519 0.000000 0.193579 0.160219 0.000000 0.000914
GW 36 7 0.193579 0.160219 0.000000 0.137519 0.160219 0.000000 0.000914
GW 37 7 0.137519 0.160219 0.000000 0.137519 0.297739 0.000000 0.000914
GW 38 7 0.137519 0.297739 0.000000 0.193579 0.297739 0.000000 0.000914
GW 39 7 0.193579 0.297739 0.000000 0.193579 0.310439 0.000000 0.000914
GW 40 7 0.193579 0.310439 0.000000 0.137519 0.310439 0.000000 0.000914
GW 41 7 0.137519 0.310439 0.000000 0.137519 0.447958 0.000000 0.000914
GW 42 7 0.000000 -0.010000 0.137519 0.000000 -0.010000 0.000000 0.000914
GW 43 7 0.000000 -0.010000 0.137519 0.000000 -0.147519 0.137519 0.000914
GW 44 7 0.000000 -0.147519 0.137519 0.056060 -0.147519 0.137519 0.000914
GW 45 7 0.056060 -0.147519 0.137519 0.056060 -0.160219 0.137519 0.000914
GW 46 7 0.056060 -0.160219 0.137519 0.000000 -0.160219 0.137519 0.000914
GW 47 7 0.000000 -0.160219 0.137519 0.000000 -0.297739 0.137519 0.000914
GW 48 7 0.000000 -0.297739 0.137519 0.056060 -0.297739 0.137519 0.000914
GW 49 7 0.056060 -0.297739 0.137519 0.056060 -0.310439 0.137519 0.000914
GW 50 7 0.056060 -0.310439 0.137519 0.000000 -0.310439 0.137519 0.000914
GW 51 7 0.000000 -0.310439 0.137519 0.000000 -0.447958 0.137519 0.000914
GW 52 7 0.000000 0.010000 0.137519 0.000000 0.010000 0.000000 0.000914
GW 53 7 0.000000 0.010000 0.137519 0.000000 0.147519 0.137519 0.000914
GW 54 7 0.000000 0.147519 0.137519 0.056060 0.147519 0.137519 0.000914
GW 55 7 0.056060 0.147519 0.137519 0.056060 0.160219 0.137519 0.000914
GW 56 7 0.056060 0.160219 0.137519 0.000000 0.160219 0.137519 0.000914
GW 57 7 0.000000 0.160219 0.137519 0.000000 0.297739 0.137519 0.000914
GW 58 7 0.000000 0.297739 0.137519 0.056060 0.297739 0.137519 0.000914
GW 59 7 0.056060 0.297739 0.137519 0.056060 0.310439 0.137519 0.000914
GW 60 7 0.056060 0.310439 0.137519 0.000000 0.310439 0.137519 0.000914
GW 61 7 0.000000 0.310439 0.137519 0.000000 0.447958 0.137519 0.000914
GW 62 7 0.000000 -0.010000 -0.137519 0.000000 -0.010000 0.000000 0.000914
GW 63 7 0.000000 -0.010000 -0.137519 0.000000 -0.147519 -0.137519 0.000914
GW 64 7 0.000000 -0.147519 -0.137519 0.056060 -0.147519 -0.137519 0.000914
GW 65 7 0.056060 -0.147519 -0.137519 0.056060 -0.160219 -0.137519 0.000914
GW 66 7 0.056060 -0.160219 -0.137519 0.000000 -0.160219 -0.137519 0.000914
GW 67 7 0.000000 -0.160219 -0.137519 0.000000 -0.297739 -0.137519 0.000914
GW 68 7 0.000000 -0.297739 -0.137519 0.056060 -0.297739 -0.137519 0.000914
GW 69 7 0.056060 -0.297739 -0.137519 0.056060 -0.310439 -0.137519 0.000914
GW 70 7 0.056060 -0.310439 -0.137519 0.000000 -0.310439 -0.137519 0.000914
GW 71 7 0.000000 -0.310439 -0.137519 0.000000 -0.447958 -0.137519 0.000914
GW 72 7 0.000000 0.010000 -0.137519 0.000000 0.010000 0.000000 0.000914
GW 73 7 0.000000 0.010000 -0.137519 0.000000 0.147519 -0.137519 0.000914
GW 74 7 0.000000 0.147519 -0.137519 0.056060 0.147519 -0.137519 0.000914
GW 75 7 0.056060 0.147519 -0.137519 0.056060 0.160219 -0.137519 0.000914
GW 76 7 0.056060 0.160219 -0.137519 0.000000 0.160219 -0.137519 0.000914
GW 77 7 0.000000 0.160219 -0.137519 0.000000 0.297739 -0.137519 0.000914
GW 78 7 0.000000 0.297739 -0.137519 0.056060 0.297739 -0.137519 0.000914
GW 79 7 0.056060 0.297739 -0.137519 0.056060 0.310439 -0.137519 0.000914
GW 80 7 0.056060 0.310439 -0.137519 0.000000 0.310439 -0.137519 0.000914
GW 81 7 0.000000 0.310439 -0.137519 0.000000 0.447958 -0.137519 0.000914
GE
FR 0 1 0 0 1090000000.000000 0
EX 0 1 2
RP 0, 37, 72, 1000, 0, 0, 5, 5
EN
But, back to mundane things like taking out the trash.

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Sun Apr 14, 2019 4:45 am

I can't find it, I'm ready to call it a wrap and build it. I'm sometimes hitting the odd state where the radiation pattern is a ball and useless. This turned out the way I expected.
as_planned_geom.gif
as_planned_geom.gif (20.96 KiB) Viewed 829 times
I can't rotate it any way I want, but there are the top (or bottom) collinears on the right and left. Each has a wire at the end going back to x=0, z=0, those are a half wavelength long. Those wires cross, then there's the 1 cm or so I left as space to solder in with wire 1 across because an NEC feed point is always a segment of a wire The actual feedpoint wire (#1) got the little red mark the way it should indicating it's a feed point. The black lines are the axes, they're sort of in the way here but I can't turn them off.

User avatar
pi-anazazi
Posts: 497
Joined: Fri Feb 13, 2015 9:22 pm
Location: EU

Re: Making sense of ADS-B checksums & bitfields

Mon Apr 15, 2019 1:44 pm

OK, I join your coffee can DIYS antenna club, would this be a start to get the software setup:

receiver

https://www.amazon.de/gp/product/B06Y1D7P48

(RTL2832U & E4000)

antenna

https://www.amazon.de/gp/product/B073JWDXMG

?

Dunno if the receiver is worth the higher price compared to this one:

https://www.amazon.de/dp/B079C3FHPG

(RTL2832U & R820T2)
Kind regards

anazazi

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Mon Apr 15, 2019 4:01 pm

I have 2 of these https://www.nooelec.com/store/sdr/sdr-r ... r820t.html which come with an antenna for $18.95. I've also got a cheaper one that was about $12. And one under $10 still in China on its way. All with antennas and remotes for DVB-T. (There's no DVB-T here in the US.)

Check the frequency coverage on the E4000 tuner, there's a gap somewhere in there I think, make sure it does 1090 MHz. All mine are R820 so I'm not that familiar with it. The E4000 tunes higher in frequency but still doesn't cover WiFi around 2400. The lower end is higher on the E4000 too, I can hear CB on 27 MHz.

That NooElec from Amazon has a tcxo crystal for better stability, but you don't need that for ads-b. I also have on order https://www.aliexpress.com/item/Dongle- ... 75165.html which I bought for the bias tee capability first of all. But it also has the tcxo. The bias tee can power a remote pre-amp at the antenna over the coax.

For most things you don't need tcxo. Each crystal/dongle is a little bit off frequency but it stays there mostly. You tune in a few stations that are on known frequencies and you can figure out how many PPM (Parts Per Million) you're off by, and most software lets you plug that number in for correction. Where tcxo is useful is if you have an upconverter and want to listen to SSB (Single Side Band), because for that being off in radio frequency means the audio is at the wrong pitch. You can tune it in right but it changes every few minutes. Mostly hams care about that. I'm not crazy about Amazon either. Love Aliexpress.

Direct sampling was the 3rd difference from the cheap dongles. I've read it doesn't work that well but I'd like to try it. The upconverter's bound to work better.

User avatar
NGC6543
Posts: 75
Joined: Thu Feb 28, 2019 7:30 pm
Location: Lancashire, UK

Re: Making sense of ADS-B checksums & bitfields

Mon Apr 15, 2019 5:04 pm

pi-anazazi wrote:
Mon Apr 15, 2019 1:44 pm
OK, I join your coffee can DIYS antenna club, would this be a start to get the software setup:
If you are mostly/only interested in using the SDR for ADS-B, FlightAware produce one:

https://flightaware.com/adsb/prostick/

I have the plus version inbound from ModMyPi. I think the Plus version is only applicable to ADS-B because it has an internal 1090MHz bandpass filter. I'm hoping it will be beneficial because I am in line of site of two cellphone masts and only a couple of km away from the valley's TV mast.

I also have just today got a HackRF One, and have an SDRPlay RSP1a inbound. Both from ebay at much lower prices than they normally go for.

My current ADS-B antenna is now a simple, four-legged quarter wave. It's made from a 50cm length (because I was too lazy to cut it) of very thick, almost rigid, 75 ohm coax. The radials are just shoved into the side of the outer shield. I found that putting it on top of a metal cabinet (about a foot above) greatly improved it. I think it's moved the radiation pattern upwards a little, giving more gain over my surrounding hills where it's useful. My message rate jumped about 30% instantly when I put it there. Before that it was just a little better than the wire through a tin can.

User avatar
pi-anazazi
Posts: 497
Joined: Fri Feb 13, 2015 9:22 pm
Location: EU

Re: Making sense of ADS-B checksums & bitfields

Mon Apr 15, 2019 5:58 pm

I had a look, the PLUS version has the 1090 MHz filter. I think I would go without the filter, as the receiver can be used in different directions, so I start probably with a broad-range receiver. Some cell phone stuff and the "little big city" close by here, too...

How do you connect your handcrafted antennas to the receiver SMA input?
Kind regards

anazazi

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Mon Apr 15, 2019 7:35 pm

pi-anazazi wrote:
Mon Apr 15, 2019 5:58 pm
I had a look, the PLUS version has the 1090 MHz filter. I think I would go without the filter, as the receiver can be used in different directions, so I start probably with a broad-range receiver. Some cell phone stuff and the "little big city" close by here, too...

How do you connect your handcrafted antennas to the receiver SMA input?
Depends what the 1090 filter is doing (block or pass), if you live next door to a radio or TV station or cell tower it might help. If it blocks 1090 then no.

You buy a pigtail https://duckduckgo.com/?q=sma+bnc+pigta ... fnt&ia=web Just search for the connector types you want. This is SMA to BNC. Watch the genders, you don't want to get 2 male ends or 2 female ends. You can save a little by buying from China on Aliexpress but it may take a month for shipping.
bnc-sma_pigtail.jpg
bnc-sma_pigtail.jpg (20.41 KiB) Viewed 729 times
BNC is used on electronics test equipment a lot, you can buy twist-on ones for common small sizes of coaxial cable like RG-58 or RG-59. You can also get a pigtail that goes from SMA to an F fitting, which is used for cable TV (at least in the US) and satellite TV. Because there are miles and miles of it sold (RG-59 or RG-6) it's cheap to get a few feet. And because it's used in satellite TV it's good to at least 1090 MHz. There are screw-on and crimp-on F fittings too.

Or you can get a cable with an SMA and strip it yourself and attach to the antenna. I've never tried to put an SMA onto cable. People that sell pigtails do it a lot. To do the actual attachment to the antenna you're going to have to strip some coax and either solder it or use crimp connectors like for automotive wiring. I've bought from All Electronics a bunch https://www.allelectronics.com/category ... -ax/1.html but the quality isn't always wonderful. Crimp-on connectors can't be reused, screw-on and solder-on ones can.

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Mon Apr 15, 2019 7:49 pm

NGC6543 wrote:
Mon Apr 15, 2019 5:04 pm
[ I found that putting it on top of a metal cabinet (about a foot above) greatly improved it. I think it's moved the radiation pattern upwards a little, giving more gain over my surrounding hills where it's useful. My message rate jumped about 30% instantly when I put it there. Before that it was just a little better than the wire through a tin can.
Yes, mag--mount antennas for automotive use work great on big metal things like file cabinets, refrigerators, washing machines.

All of the little antennas I've seen that come with dongles have magnets in the bases, but the magnets are so weak they don't amount to much. I found that if you use just a plain magnet (neodymium is best) and stick it to the weak magnet then stick that to the metal surface it works well.

User avatar
NGC6543
Posts: 75
Joined: Thu Feb 28, 2019 7:30 pm
Location: Lancashire, UK

Re: Making sense of ADS-B checksums & bitfields

Mon Apr 15, 2019 9:32 pm

pi-anazazi wrote:
Mon Apr 15, 2019 5:58 pm
How do you connect your handcrafted antennas to the receiver SMA input?
The wire collinear (pictures a few posts above) was shoved into the centre of the TV socket end of the pigtail that came with my dongle. The outer (metal) of the TV socket was wedged into a hole in another coffee can.

The current one is made from 1cm thick coax. I trimmed back the outer sheath a bit, pulled back the screen and shaved the dielectric with a sharp knife until it was just the right size to screw on the male of an SMA male to SMA female adapter. The pin of the male gets pushed into the centre. Worked very nicely. I didn't just screw my SMA-SMA lead itself on because I guess it will damage the pin and make it unusable for anything else.

I have a bunch of SMA female and N female flange connectors on the way. The type with four screw holes and a solder bucket for the centre. Those make it easy to improvise antenna which is a common trick.

With regards to SMA connectors - be careful not to get RP SMA (reverse polarity, or more obviously, reverse pin). I have loads of those for wireless networking because some twit decided it was a good idea to swap which connector has the pin. They don't mate to normal SMA but are all over ebay, and it isn't always clearly stated which you are buying.
ab1jx wrote:
Mon Apr 15, 2019 7:35 pm
Depends what the 1090 filter is doing (block or pass), if you live next door to a radio or TV station or cell tower it might help.
In the Flightaware Pro Plus (sounds like a pilots' caffeine drink :lol: ) it's a 1090MHz bandpass. I don't mind dedicating it to ADS-B and it might help in my location. It's as cheap to buy that dongle as a separate filter and LNA.

I didn't expect the metal sheet to have much impact on a quarter wave groundplane antenna. I only noticed by accident when I moved it down from the window ledge to tweak it, and saw the message rate jump up when I put it on the cabinet. The cabinet isn't even grounded although it might be getting tiny bit of capacitive coupling at the bottom of the coax.

-----------------

Here are a couple of pictures of the latest success, with a big metal box precariously balance on the window ledge:
DSC_0011a.jpg
DSC_0011a.jpg (97.71 KiB) Viewed 695 times
DSC_0012a.jpg
DSC_0012a.jpg (110.12 KiB) Viewed 695 times

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Tue Apr 16, 2019 1:27 am

Good job stuffing wires. I never used SMA for much, then I discover I've got a couple right beside me, not in use. My dongles so far have MCX connectors but I have a couple cute little center loaded antennas I bought as external antennas for a Huawei cell modem that have SMA on them, adapted to something else. The modem doesn't seem to see AT&T towers though so they're ornamental only. I remember some SMA connectors in some box of junk once. They look nice and sturdy, but I don't see well enough anymore to try putting one on.

Yes, people use SO-239 connectors like that, put ground radials on the 4 mounting holes and a driven element soldered to the center. 19 inches in one makes a quick 2 meter ground plane, get some brass rod for brazing and solder it in.

I went back to my NEC modeling, wrote some new functions that generate the NEC file, all went fine until I applied RF, then I got the ball for radiation patterns again. Looking in the NEC output file I discovered that NEC2C at least is expecting a frequency in MHz, not Hz.. Not sure why I never noticed that before. So it saw "FREQUENCY : 1.0900E+09 MHz" and overflowed. Oops.
compos.gif
compos.gif (53.25 KiB) Viewed 686 times
Now I can see that using hairpin bends instead of circles seems to be skewing the top of the radiation pattern. I don't think NEC knows circles, it'll have to be made up from straight wires. So I'll guess I'l write a function to make those and stick it in. Then go back to mirroring it vertically. I stuck in a pair of crossed wires at the base as a ground plane and NEC says the impedance is 82 ohms, not bad.

Whee, I could be building these at $300 a pop https://www.southwestantennas.com/omni- ... 90-mhz-5-0 They don't show you what's inside that outer tube either. 4 elements? Counting how?

I guess having 2 plots is redundant, but what struck me are the hollow areas, like looking down inside the inverted warped cone at the top. There's also one on the bottom that doesn't show well here but the biggest area at the bottom looks like a beanie hat that's empty on the bottom. Then again these are signal strengths, they don't translate directly into distances. Back to work.

SMA-BNC pigtail cheap https://www.aliexpress.com/item/ALLISHO ... 144bFg8Q9B Cheap but not fast, 4 days to (make and?) ship, then at least 2 weeks by mail from China. But I ordered the dongle at about the same time from China, don't think that's been shipped yet. RG316 coax, hmm, RG174 melts too easily when soldering. But it's a buck a foot about, RG174's a lot cheaper.

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Tue Apr 16, 2019 5:50 pm

d_older wrote:
Fri Apr 12, 2019 4:46 pm
HI abi1jx

I wouldn't worry too much about the loading on a Pi-zero - this is mine currently:-

I'm using a 10Mbit enc28j60 spi ethernet adapter - note this is even fast enough to stream to the "full" SBS data to another machine running "socket3003" although I was not running piaware at the time so no other upload or multi-lat data transfer.

Hope this helps

Dave.
Yeah, it's not bad. I just had some OTG adapters show up in the mail so I moved the dongle and antenna over to a ZeroW that wasn't used much. I'm running just dump1090_mutability and Apache, no FlightAware or any of that. Standard internal wifi adapter, running on one of 2 jacks on a MonoPrice 2.5 amp phone charger.

Code: Select all

top - 13:44:18 up  1:16,  1 user,  load average: 0.64, 0.47, 0.39
Tasks:  73 total,   1 running,  46 sleeping,   0 stopped,   0 zombie
%Cpu(s): 16.8 us,  9.8 sy,  0.0 ni, 72.4 id,  0.3 wa,  0.0 hi,  0.7 si,  0.0 st
KiB Mem :   443840 total,    63540 free,    46220 used,   334080 buff/cache
KiB Swap:  2055516 total,  2055516 free,        0 used.   334012 avail Mem 

  PID USER      PR  NI    VIRT    RES    SHR S %CPU %MEM     TIME+ COMMAND     
 4483 root      20   0   28340  10152   2136 S 21.6  2.3   6:42.29 dump1090    
 4595 root      20   0    9848   3252   2796 R  1.9  0.7   0:00.23 top         
 4132 www-data  20   0  231700   5676   3024 S  0.6  1.3   0:06.38 apache2     
 4594 root      20   0       0      0      0 I  0.6  0.0   0:00.04 kworker/u2:2
   42 root     -51   0       0      0      0 S  0.3  0.0   0:10.05 irq/86-mmc1 
   46 root      20   0       0      0      0 S  0.3  0.0   0:01.28 jbd2/mmcblk+
  158 root      20   0       0      0      0 S  0.3  0.0   0:01.20 brcmf_wdog/+
    1 root      20   0   27088   6104   4916 S  0.0  1.4   0:15.24 systemd     
    2 root      20   0       0      0      0 S  0.0  0.0   0:00.00 kthreadd    
    4 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 kworker/0:0H
    6 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 mm_percpu_wq
    7 root      20   0       0      0      0 S  0.0  0.0   0:02.76 ksoftirqd/0 
    8 root      20   0       0      0      0 S  0.0  0.0   0:00.01 kdevtmpfs   
    9 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 netns       
   11 root      20   0       0      0      0 S  0.0  0.0   0:00.00 khungtaskd  
   12 root      20   0       0      0      0 S  0.0  0.0   0:00.00 oom_reaper  
   13 root       0 -20       0      0      0 I  0.0  0.0   0:00.00 writeback   
   
Now I have 4 Zeros and 3 Pis. It's fun when a $10 ZeroW can do stuff I used to run a big desktop machine for, and on a watt or two. I have an ads1115 A/D board in this one too.

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Tue Apr 16, 2019 9:06 pm

ab1jx wrote:
Tue Apr 16, 2019 5:50 pm
Yeah, it's not bad. I just had some OTG adapters show up in the mail so I moved the dongle and antenna over to a ZeroW that wasn't used much. I'm running just dump1090_mutability and Apache, no FlightAware or any of that. Standard internal wifi adapter, running on one of 2 jacks on a MonoPrice 2.5 amp phone charger.

Now I have 4 Zeros and 3 Pis. It's fun when a $10 ZeroW can do stuff I used to run a big desktop machine for, and on a watt or two. I have an ads1115 A/D board in this one too.
But, well, no, it's not working that well. I definitely see less planes than when I had the same antenna and dongle on a Pi. I think it needs to be a multi-core machine just because that RF comes at random times and needs to be decoded into packets and go through dump1090 then Apache. If the only core is busy running Apache it can't be getting new messages so the new ones get missed.

It's not that important that I see them all and I'm not always watching. If it weren't a real-time application, it would work OK. On the other hand it's a relief to have that load off this Pi.

d_older
Posts: 114
Joined: Mon Jun 25, 2012 5:04 pm
Location: East Yorkshire, UK

Re: Making sense of ADS-B checksums & bitfields

Tue Apr 16, 2019 9:37 pm

Hi ab1jx ,

I guess running Apache will up the load when active - I must say that I just connect to dump1090_mutability's internal server (after setting openstreetmap as the map tile source- still get google artifacts though!) at ip/dump1090/gmap.html and let my desktop do the heavy lifting.

I've not done a direct comparison between a zero and a multicore pi (although I am down in Cambridge again at the weekend so that could be justification for another 3B+ /PSU and use my 3B as a testbed), like yourself I'm mainly comparing (c)antennas - small spaghetti hoops vs large vs tinned carrots :-) Back to back F connectors with locking nuts are are wonderful things :D

Have fun!

Dave

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Tue Apr 16, 2019 10:33 pm

d_older wrote:
Tue Apr 16, 2019 9:37 pm
Hi ab1jx ,

I guess running Apache will up the load when active - I must say that I just connect to dump1090_mutability's internal server (after setting openstreetmap as the map tile source- still get google artifacts though!) at ip/dump1090/gmap.html and let my desktop do the heavy lifting.

I've not done a direct comparison between a zero and a multicore pi (although I am down in Cambridge again at the weekend so that could be justification for another 3B+ /PSU and use my 3B as a testbed), like yourself I'm mainly comparing (c)antennas - small spaghetti hoops vs large vs tinned carrots :-) Back to back F connectors with locking nuts are are wonderful things :D

Have fun!

Dave
I haven't tried enabling the internal server. It (probably) has the advantage of being able to better coordinate what data needs to be moved where and when than separate programs do. I've done a little programming with librtlsdr (which dump1090 also uses). There is a period of time once you've processed your buffer full of data from the dongle when read() is waiting for more data. That would be a good time to output data to the web browser. But a separate off-the-shelf web server like Apache can't know that.

And Apache isn't the lightest-weight web server in the world. I like it because it can do CGI and a bunch of other stuff, but I don't really need all that here.

I wonder if map caching programs work with dump1090. I don't move around much but sometimes I zoom in or out, it would be good to have local copies of the map tiles. Most of the world has faster internet than I do. Programmers should test with slow computers and slow internet, but I doubt that happens.

d_older
Posts: 114
Joined: Mon Jun 25, 2012 5:04 pm
Location: East Yorkshire, UK

Re: Making sense of ADS-B checksums & bitfields

Tue Apr 16, 2019 10:44 pm

Hi ab1jx,

If you ever do find a way of getting a system to cache the map tiles at the viewing end I would be most interested - a truly portable/isolated visual ADSB receiving station :-)

Dave

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Wed Apr 17, 2019 2:16 am

d_older wrote:
Tue Apr 16, 2019 10:44 pm
Hi ab1jx,

If you ever do find a way of getting a system to cache the map tiles at the viewing end I would be most interested - a truly portable/isolated visual ADSB receiving station :-)

Dave
I haven't a clue really. There's a MapProxy which I think is in the debs. Mostly a bunch of Python stuff, I don't think I got it working. The basic (non-deb) instructions are at https://mapproxy.org/docs/latest/install.html Libraries built on top of libraries, yuck. Sets up some virtual environment nonsense.

There's a map proxy module for Apache, I didn't have it installed. I don't need a map proxy, I'd like to just download a set of tiles for where I am.

10 years ago or so I used to use https://www.sprut.de/electronic/pic/pro ... sb_en.html under Windows. It's written in Delphi, I don't know if you could get it running with Lazarus or not. I think downloading maps was at least a manual step. In those days I only had dialup and I got it set up and runnable without a network connection.

So I uninstalled Apache from the ZeroW. How do you enable dump1090's web server? I built it from sources:
git clone https://github.com/mutability/dump1090.git
And didn't install it so it has nothing in /etc

I'm trying to start it with a manual script:

Code: Select all

#!/bin/bash
# trying to use the dump1090 internal web server
#cd /usr/src/misc/dump1090
./dump1090 --write-json /var/www/html/dump1090/data --quiet --net \
--html-dir /var/www/html/dump1090
It runs, but doesn't open any ports. I portscan the machine with Zenmap and I only see ssh open. I used a slightly different script to run it through Apache.

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Wed Apr 17, 2019 3:17 am

Sounds like https://github.com/mutability/dump1090/issues/196 the developer doesn't want people to use that (internal webserver) option. What version are you using? I've got v1.15-dev-334-g0ec2dd8

d_older
Posts: 114
Joined: Mon Jun 25, 2012 5:04 pm
Location: East Yorkshire, UK

Re: Making sense of ADS-B checksums & bitfields

Wed Apr 17, 2019 7:14 am

Hi ab1jx,

Oops :oops:

I've just had a look back at my installation notes and I'm NOT using the internal webserver but am using lighttpd on the pi.

The dump1090 version I used was

Code: Select all

git clone https://github.com/tedsluis/dump1090.git
as the source and built a deb package from that.

the lighttpd modules were enabled with

Code: Select all

sudo lighty-enable-mod dump1090
Sorry for leading you down the garden path!


Dave

User avatar
pi-anazazi
Posts: 497
Joined: Fri Feb 13, 2015 9:22 pm
Location: EU

Re: Making sense of ADS-B checksums & bitfields

Wed Apr 17, 2019 8:56 am

@NGC8534

If I see it correctly you removed 89mm of the screen on top of your coax antenna to make this the receiving part of the antenna, the rest of the screen still in place and working as a screen... Before I was struggling a little bit with the description, now it makes sense, I guess.

Will need such an SMA adapter to make this work...
Kind regards

anazazi

User avatar
NGC6543
Posts: 75
Joined: Thu Feb 28, 2019 7:30 pm
Location: Lancashire, UK

Re: Making sense of ADS-B checksums & bitfields

Wed Apr 17, 2019 10:21 am

It's 69mm*, not 89, just in case that's not a typo, but otherwise yes, that's how I made it. I cut the four radials so that one end was left with a sharp point so I could ram them into the cable, between the outer casing and the screen to contact the screen. You could use any method to attach to the bottom. I also tried the TV aerial socket pigtail that came with my dongle. That fit perfectly into the thick coax, better and easier than the SMA adapter, but it turned out the pigtail had a dodgy connection to the MCX connector at the other end. No wonder I could never get it to receive TV very well!

*Actually it's a little less (68.8mm = 1/4 wave) and even then, the velocity factor of the wire will lower it a mm or so (perhaps). It's not really possible to calculate that in the real world which is why antennae always need tuning on site. But given the jury-rigged nature of this one, quibbling about a mm is probably a bit useless.

What I should do though is remove the dielectric from the top too, since leaving it on will lower the velocity factor even more. But again, I'm a perfectionist and it's working OK as it is.

Got my Flightaware Pro Plus just now, so I'll get it on the Pi and see how that goes. Hopefully it will improve things a bit.

User avatar
ab1jx
Posts: 867
Joined: Thu Sep 26, 2013 1:54 pm
Location: Heath, MA USA
Contact: Website

Re: Making sense of ADS-B checksums & bitfields

Wed Apr 17, 2019 11:21 am

d_older wrote:
Wed Apr 17, 2019 7:14 am
Hi ab1jx,
I've just had a look back at my installation notes and I'm NOT using the internal webserver but am using lighttpd on the pi.

Sorry for leading you down the garden path!

Dave
Oh, OK, I'm using a different fork. git clone https://github.com/mutability/dump1090.git

I mostly wanted to get away from the versions that rely on Google Maps.

It runs perfectly fine without any web server at all if you don't want to access it from another machine. Just copy the public_html directory where you want it and open the gmap.html inside as a file:/// URL. Or you can copy that directory into a web server's directories and work out your own URL.

nginx is maybe lighter than lighttpd. Works fine if you don't want CGI. It's Russian. Following the beaten path gets boring. 2.5 MB installed, gets set up as a Debian/Raspbian service and all that proper stuff

Apparently the first web server you install uses /var/www/html and port 80. I had uninstalled Apache then the next day installed nginx and it works as a replacement. This is running on my Zero, not a bad plane count but still everything within the 100 nm circle. Load average is mostly below 0.3, much better.
dump1090_zero3_nginx.jpg
dump1090_zero3_nginx.jpg (200.88 KiB) Viewed 500 times
Well, OK, the load average fluctuates, it got up around 0.7 then went back down. About 22% CPU on dump1090, no clients connected.
Last edited by ab1jx on Wed Apr 17, 2019 12:07 pm, edited 2 times in total.

Return to “C/C++”