My Attempt at a $115 ADS-B Receiver Build for Foreflight

I have seen references to

https://www.sparkfun.com/products/11028

and

https://www.tindie.com/products/ozz...e-magnetometer-and-barometricaltitude-sensor/


but so far no one has tested these with the current Stratux code

I posted a link to the sparkfun series of IMU sensors on the slack page for stratux. If you go back one page, there's an option for a 9 DOF sensor that may work a bit better. I have nothing to base this on as I have basically zero coding experience, but its worth a shot.

I believe the sensor I'm referring to is about $70. So, a bit more pricey, but still doable.
 
If you have a Bluetooth transmitter attached to the Pi, sure. But the transmitter that comes with the Pi is a wifi dongle, and the software is written for wifi. Feel free to download the source and add the bluetooth driver (I assume there's a BT driver with the Pi software someplace) and make sure you have the bluetooth hardware for the Pi, too.
Yeah, that's what I figured I had to do. I have already gotten a Pi supported BT adapter, and getting the info to broadcast to it, plus getting the iPad to recognize it are where I'll have to spend my time.

My main concern was power usage, but there was one other thing: I wanted to be able to have the cellular data working as well. If the iPad sets up another TCP/IP gateway entry for the WiFi, then this will be moot. Something like:
192.168.10.1 (for Foreflight data)
166.176.186.1 (for cell data)

When flying with the wife/kids, I may ask them to look at something on the web while I fly. I just don't want it to be a hassle.
 
Wouldn't matter unless the receiving software has the same functionality.

Foreflight, WingX etc have no idea how to attach Bluetooth devices and associate them, nor how to use them as a serial connection. They're all taking via an IP based standard.

Good point... I was remembering back to this:
ADS-B-Comparison-V5a.png


and I saw Bluetooth, but looking back on this, it looks like Foreflight isn't one of the software titles that uses the BT capability.

One thing, though, I thought that BT communication could be set up as a COM port or a TCP/IP connection. If it's TCP/IP, then I could theoretically use that as the IP address for Foreflight to communicate with. Whether I want to or not is another question.
 
Yeah, that's what I figured I had to do. I have already gotten a Pi supported BT adapter, and getting the info to broadcast to it, plus getting the iPad to recognize it are where I'll have to spend my time.

My main concern was power usage, but there was one other thing: I wanted to be able to have the cellular data working as well. If the iPad sets up another TCP/IP gateway entry for the WiFi, then this will be moot. Something like:
192.168.10.1 (for Foreflight data)
166.176.186.1 (for cell data)

When flying with the wife/kids, I may ask them to look at something on the web while I fly. I just don't want it to be a hassle.


I believe iOS takes care of this for you. If you're connected to a wifi network that it can't "talk to the Internet", it'll remain connected to it but move default route back to the Cellular. So your connection to the Stratux works, as well as other Apps can get cell data.

I think that's what you're trying to confirm.

I'll check that later tonight unless someone else knows today.
 
I believe iOS takes care of this for you. If you're connected to a wifi network that it can't "talk to the Internet", it'll remain connected to it but move default route back to the Cellular. So your connection to the Stratux works, as well as other Apps can get cell data.

I think that's what you're trying to confirm.

I'll check that later tonight unless someone else knows today.

This works as you've described in the newer versions (.4+ i think?). Mine connects to the stratux and I still have 4G.
 
I believe iOS takes care of this for you. If you're connected to a wifi network that it can't "talk to the Internet", it'll remain connected to it but move default route back to the Cellular. So your connection to the Stratux works, as well as other Apps can get cell data.

I think that's what you're trying to confirm.

I'll check that later tonight unless someone else knows today.

Actually, I'll check this afternoon with my OBD-II adapter that uses WiFi and Dashcommand on my iPhone. I'll report back as well.

The other issue I had with BT on my original iPad was connectivity to non-MFI (not sure if that is the correct term for this - I look for that on hardware, like lightning cables) GPS devices. I had a BT GPS, and I had to jailbreak my iPad to get it to connect to it, as it was a non-cellular iPad. This was back in iOS 3 or 4 days, so that may have changed.

What I described with the gateways works, as the TCP/IP connection needs to know the address of the routers, and if it can't find the route on the first one, it goes to the second, and so forth. So, having 192.168.10.1 as the first one may be moot, as 192.168 are private IP addresses, so the TCP/IP stack may know that it will never be found on the other side of a 102.x.y.z router address.
 
Just reporting that I won't be checking tonight. Had unexpected errands and other stuff come up. Maybe tomorrow.
 
My Reyax GPS unit arrived today. Now I just need to add it to the unit, and get a box/case made up.

I can't wait to see how it works with the GPS unit.

Cliff
 
Let me know how it works out for you. I am not having any issues with the original one yet
 
Are any of you guys on the slack page for this project?
 
Yesterday I used my Stratux (latest release version) and noticed the traffic on my screen that was headed the same direction as me, was depicted as heading towards me.. (the diamond should have been pointing away from me)

The traffic was a twin Cessna and was leaving my Cherokee behind but the diamond never pointed the correct way.. Any ideas why it would do that?
 
Devs? Users? What's the audience? (I'm on Slack nearly 24/7 on multiple teams, so I'd add it if there's a reason to... what's usually going on there?)
Seems like most of the people that are on reddit, are on slack as well...including Chris Young, LithuanianAmerican, and others. Separate sections for AHRS, Antennas, Dev section, General Info, GPS support, EFB support, and others.
 
Seems like most of the people that are on reddit, are on slack as well...including Chris Young, LithuanianAmerican, and others. Separate sections for AHRS, Antennas, Dev section, General Info, GPS support, EFB support, and others.

Well, I'd add it and read along, if you don't mind sending an invite. Not really super interested in saying much there, and since slack teams are a little wonky on mobile anyway (have to switch teams) I'd only really see it while at work or at a desktop anyway... I'll toss ya a PM...
 
I believe iOS takes care of this for you. If you're connected to a wifi network that it can't "talk to the Internet", it'll remain connected to it but move default route back to the Cellular. So your connection to the Stratux works, as well as other Apps can get cell data.

I think that's what you're trying to confirm.

I'll check that later tonight unless someone else knows today.
Actually, I'll check this afternoon with my OBD-II adapter that uses WiFi and Dashcommand on my iPhone. I'll report back as well.

The other issue I had with BT on my original iPad was connectivity to non-MFI (not sure if that is the correct term for this - I look for that on hardware, like lightning cables) GPS devices. I had a BT GPS, and I had to jailbreak my iPad to get it to connect to it, as it was a non-cellular iPad. This was back in iOS 3 or 4 days, so that may have changed.

What I described with the gateways works, as the TCP/IP connection needs to know the address of the routers, and if it can't find the route on the first one, it goes to the second, and so forth. So, having 192.168.10.1 as the first one may be moot, as 192.168 are private IP addresses, so the TCP/IP stack may know that it will never be found on the other side of a 102.x.y.z router address.
I believe iOS takes care of this for you. If you're connected to a wifi network that it can't "talk to the Internet", it'll remain connected to it but move default route back to the Cellular. So your connection to the Stratux works, as well as other Apps can get cell data.

I think that's what you're trying to confirm.

I'll check that later tonight unless someone else knows today.
I did something silly... I just attached my iPhone to it (my Stratux) and tried to surf the 'net. It surfed ok, so my worries are in vain. I am using the O/S as the arbiter of traffic, and saying that an iPhone is the same as an iPad as far as this goes.

Bottom line: You can be attached to Stratux with an iPad via WiFi and still get on the Internet (via cellular) on the same iPad at the same time.
 
I did something silly... I just attached my iPhone to it (my Stratux) and tried to surf the 'net. It surfed ok, so my worries are in vain. I am using the O/S as the arbiter of traffic, and saying that an iPhone is the same as an iPad as far as this goes.

Bottom line: You can be attached to Stratux with an iPad via WiFi and still get on the Internet (via cellular) on the same iPad at the same time.

Yeah I was pretty sure that was going to work fine. Was going to test it today and Stratux didn't boot properly. Got home and hooked up a monitor and found out why. Power issue.

Anyone measured the current draw of a complete two receiver setup from the USB? I was surprised a 1A port wasn't enough to keep the Pi running once the wifi dongle goes active. 2.1A port works fine.
 
Anyone measured the current draw of a complete two receiver setup from the USB? I was surprised a 1A port wasn't enough to keep the Pi running once the wifi dongle goes active. 2.1A port works fine.

I don't have a two rx setup, but I can measure with and without the one rx I do have and report back.

Ooh, raspberry pi 3. Shiny...
 
Last edited:
I see this was posted above but in case anybody missed it, the easy days of a low-cost ADS-B solution using the Pi are coming to an end. The Raspberry has been upgraded with a must faster processor, wi-fi and BT built in, and gosh knows what else and of course the price has gone into the stratosphere. It now costs $35!

https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/
 
That's outrageous! $35! Oh wait, bluetooth is now included. :) Regarding power, I have a two FDR setup and never had a power issue, albeit I don't have AHRS as foreflight isn't allowing that to work. I have both a generic 4000mah/3.7v (1a) battery pack and a larger 10,000/3.7v (3a) Anker unit, which simply lasts much longer. I tend to use the Anker simply because I've never run it down.
 
I see this was posted above but in case anybody missed it, the easy days of a low-cost ADS-B solution using the Pi are coming to an end. The Raspberry has been upgraded with a must faster processor, wi-fi and BT built in, and gosh knows what else and of course the price has gone into the stratosphere. It now costs $35!

https://www.raspberrypi.org/blog/raspberry-pi-3-on-sale/

They keep this up, they'll have a laptop in another 20 years. :)
 
FWIW I see .6A with the SDR and 0.3 when I unplug it. YMMV.

edited to add: pi3 shows about the same.
 
Last edited:
FWIW I see .6A with the SDR and 0.3 when I unplug it. YMMV.

That's about what I guessed. I think the crash/reboot was happening at initialization of the wifi chicklet after the two receivers were already up, but I didn't bother looking at the logs other than try to catch it with my eyeballs.
 
image.jpeg image.jpeg I'm gonna try this with my attennas, I extended them and used double sided tape and attached them to either side of the windshield. I have noted in past flights sometimes I'd lose a tower (we don't have many out here in Northern California) so I'd have to slide the unit from one side to the other to get signal.. So maybe this might help? As soon as the weather gets better I'll report back..
 
I took the magnets out of the antenna bases, put velcro on. Strip of velcro at the bottom edge of windows, great way to mount the antennas so they don't fall off in the hot sun.
 
I ordered a 978 MHz antenna, I figure an aquarium suction cup should hold it in the window. I also picked up a pi3 and a nano sdr, hopefully resulting in a tidier system.

I also wonder if anyone has tried time multiplexing between 978 and 1090 so you can get by with a single rx/antenna.
 
I also wonder if anyone has tried time multiplexing between 978 and 1090 so you can get by with a single rx/antenna.

Is there some new physics that blocks a receive antenna from receiving two signals at the same time hooked to two separate receivers? ;)

I better let the folks that make multi couplers know. Mini-Circuits may have just lost their business model. ;)
 
Is there some new physics that blocks a receive antenna from receiving two signals at the same time hooked to two separate receivers?

No, but one rx dongle is cheaper than two ;) ADS-B updates at what, 2Hz or so? Toggle the center frequency between 978 and 1090 every few seconds and call it a day, maybe add a track filter if you're feeling spunky.
 
No, but one rx dongle is cheaper than two ;) ADS-B updates at what, 2Hz or so? Toggle the center frequency between 978 and 1090 every few seconds and call it a day, maybe add a track filter if you're feeling spunky.

You realize the dongles only cost about 15 minutes of flight time in my 182, right? I don't think anyone flying is going to sweat the cost of a second dongle very much.

The answer you seek is simple to find out. Go get the image and log into the console and shut down all the other web code and the watchdog stuff and then launch the SDR code for one band, wait exactly however long you want to listen for transmissions, then for the fastest cutover time, kill -9 that copy and launch it again for the other band. Not a perfect sample but it'll give you worst case.

The real problem is the time you're off one frequency and on the other. You're going to miss a lot of stuff. As you say, you can generate a track "coast" for the targets you have and assume they're going to keep flying that direction, but it's not very accurate. (There's already some target hysteresis in the display code for the screen I've noticed.)

The real problem - unless you have lots of time in your hands and nothing better to do, you're looking at many man-days of code work after that investigation to write a better way to switch and all that track guessing code, and you're saving $29. That's just not a very good use of your time.

And to build something that would send the two chunks of spectrum simultaneously up a single USB stream with no loss of sensitivity would probably drive the price of the SDR hardware well above $58 at retail. But research into the chipsets being made for other industries to see if one could be made to work by the datasheet, doing prototypes, and assembly of them into a workable product, would also take many man-hours.

You essentially would have to donate free time for months and have no intention of recouping it against two copies of a $29 retail price product made en masse in China for TV broadcast viewers? Never gonna find a way to make the economics of that work.

Enjoy the labor of love. I know I spent too much time answering the question just to show how nuts it would be to even bother. Of course if you're looking to pad an "embedded linux" and "SDR" resume to get a job doing that stuff, it's a great opportunity to do a bunch of work and write a white paper.
 
P.S. In that pseudo/test flow up there you can time the switching time right in the shell script.
 
Weren't you the one with the power problem with 2 receivers? ;)

It's a few tens of ms to switch bands, probably a few hours of work. The trick is finding a few free hours... in a row...

I've certainly spent more time on less useful things in the past. I had this video camera once. It was bad enough that it used some proprietary video format, but the decoder software was written criminally poorly; n^2 instead of n. Ended up rewriting that from scratch. Kept me up at night for a couple of weeks. It's an illness, like aviation.
 
Last edited:
Weren't you the one with the power problem with 2 receivers? ;)

It's a few tens of ms to switch bands, probably a few hours of work. The trick is finding a few free hours... in a row...

I've certainly spent more time on less useful things in the past. I had this video camera once. It was bad enough that it used some proprietary video format, but the decoder software was written criminally poorly; n^2 instead of n. Ended up rewriting that from scratch. Kept me up at night for a couple of weeks. It's an illness, like aviation.

The power issue was caused by me.

I wouldn't waste any time making the thing less reliable (missed transmissions) to save .2A.

Your story of re-writing the bad video code doesn't apply.

You'd be writing code to make it operate more poorly, adding band-switching code. The switch time is time that both receivers don't operate, and the time spent listening on one of the bands is missed time on the other.

Engineering toward unreliability in an aviation product to save $29, isn't worth any development time at all.

I completely understand a desire to make it better. This wouldn't.
 
The switch time is time that both receivers don't operate, and the time spent listening on one of the bands is missed time on the other.

That doesn't bother me so much, but going dual band for traffic might completely hose weather, which would be a deal breaker. Oh well.
 
Last edited:
Back
Top