Wingbits FAQ
Answers for the most commonly asked questions.
Last updated
Answers for the most commonly asked questions.
Last updated
This project is still in beta (which started in Nov 2023) and working through the current roadmap items. Wingbits has chosen Solana as the blockchain for rewarding participants. There is no mainnet token yet and therefore no need for a wallet.
At this time we are implementing a Testnet reward system.
Our goal for Mainnet is Q4 2024.
We could try to sell you on how it would help build the network, how it is an amazing community, and even that the ability to watch planes on your own hardware is pretty fun.
But, if that wasn't going to be enough, how about the fact all your submitted data is being stored and there will be retroactive rewards given for participation once the token is live on Mainnet?
You will be in very early.
A location hex is a res6 H3 hex that is used to claim your own station area that no one else can also install a station within. It is not used for any rewards calculation. This size was chosen as it allows many participants to still be a part of the project, while preventing extreme amounts of duplicate data (for example you and your closest neighbor running identical setups in a dense suburb and providing identical data).
A Skyhex (rewards hex) is a res3 H3 hex that is used to break up the sky into coverage sections that are rewarded daily to all contributors to that hex. This size was chosen based on evaluation of the geography around the globe and the processing requirements of smaller hexes.
There are 343 location (res6) hexes within each Skyhex (res3 hex).
An example of the Atlanta, GA area res3 Skyhex (rewards) size:
An example of the same Atlanta, GA area res6 location hex sizes (only about half of all res6 hexes within the above res3 hex are shown here):
You can image/prepare a unit locally by setting up the station in the dashboard with the appropriate future lat/lon details and then using those and the new station ID to configure the device, as you would with a local install. You should also make sure you have the usb receiver and the antenna/cable all connected during this setup/testing.
You may also want to look into a remote access solution such as Tailscale, so that you may remotely adjust gain or wifi settings (provided the host will hook up to ethernet initially).
Warning: To prevent the project from flagging the unit as improperly located on the network, please shut down the machine within 60 minutes of the initial "Online" status change.
Estimating bandwidth usage is very difficult as it varies drastically depending on your location. Some locations have very high air traffic daily while others have much less. We have seen usage of 10 GB a month all the way up to well over 100 GB a month.
We will be implementing bandwidth reduction methods very soon to reduce these numbers while still providing all the data customers will need.
If you are already running and wish to calculate your current usage: There is Bandwidth Usage graph on your ip/graphs1090/ url with an avg in and out kiloBytes per sec. Change your tab to a period that doesn't include your install (like 7 days as long as your install was over 7 days ago) and add those 2 numbers. Then ask google to convert that to gigabytes per day (google search "xx.x kB/s to gb per day"), then multiply by 30 or 31 days.
We are regularly evaluating addition of MLAT functionality and 978 MHz messaging based on business needs. Once we have plans to add either to the system, we will work with participants to implement.
This really depends on your goals with the device and the device type.
If you have an old helium device that contains a raspberry pi and you don't wish to dual-mine with Helium, then it is likely you can reimage the OS on the memory card (which may take a step or 2 for access) and use our Setup steps guide to accomplish this.
If you wish to continue mining helium tokens and you have ssh access to the device (you may have to google this or ask in discord), it is likely you can do the same as the above but without reimaging the OS.
If the device doesn't have ssh access and you still want to mine helium, there may be a 3rd party option. Come check our discord under the #unofficial_tools channel to see if there is a solution that will work.
A filter takes all incoming signals and attenuates those signals the further they deviate from the filter's tuning point (1090 mhz in this case). This stops out of band signals (everything else) from hitting the decoder and having to be dropped via software. Because of that, the decoder will have more available bandwidth for handling messages we care about.
The adsb specific receivers, that people buy most often, typically come with an LNA (amp) and a 1090mhz filter onboard. Check before buying to make sure you got the model with both as some brands have an option for no filter.
Most of the time you will not need an additional filter in that case (but likely would if your unit didn't include one), as it will cause a 3 db loss to your signal and only serve to further attenuate out of band signals.
Either PI Zero 2 W or PI 3B will suffice as a reasonable base for your setup. They will not have enough onboard RAM to accomplish multiple tasks if you wish to use them for more than just WingBits. The PI Zero 2 W has a really small form factor but will be used as a wifi unit and requires a microusb -> usb cable to connect the usb adsb receiver. It is also much cheaper typically than a 3B.
Using a PI 4, of any memory size, will open up the option for using the unit with more than just Wingbits as they start with at least 1 GB.
Using a PI 5 is overkill based on specs and cost. Typically if you are choosing this, it is because you have intent to use it for other reasons already.
If your PI hardware failed but the SD card is still working, you can simply move the SD card to your replacement PI and let it boot up. Everything should come up as before unless you are downgrading PIs from a PI4 to a PI2 and the older PI can't run the same OS.
If your SD card and/or the PI failed (perhaps unrecoverable surge damage), you can just follow the install steps again to image the OS onto the card and run the wingbits setup script. You will then use the original antenna ID during install. Don't forget to set location and gain again for readsb.
As for what is a good range or target number, there isn't actually a good answer. Your stats are primarily limited by the traffic your location can see, and then by the effectiveness of your setup to gather as many of those available messages as possible. It may sound like we are being difficult here, but let us provide an example:
If I asked you to go to the closest street corner in your location and count cars that pass by for 30 minutes, and also asked someone else in the project to go do the same... the results would likely be very different. If you counted 10 cars, that may be normal for your area. If they counted 324 cars, that might be their normal.
If I tell both of you that ~300 cars is good and ~10 cars is bad, you will feel like you are underperforming when you are not.
All you can reasonably do is to make sure you count as many cars as you can.
In the case here, get the antenna outdoors and up high enough to have clear 360 degree line of sight (no obstructions) and configure your optimal gain based on your setup. You can't do any better than that and for us to tell you any number or even range would be potentially very misleading.
Green - The station is currently streaming data Yellow - The station has not sent data in the last hour Red - The station has not sent data for over 8 hours
These are the most common reasons for a station to show offline on the Wingbits Stations page:
You haven't hit F5 to refresh the stations page.
The antenna is not plugged into the usb SDR via cable.
The antenna is not of the right type to receive 1090Mhz messages, such as a wifi antenna (or possibly even 868mhz or 915mhz).
The cable is not SMA Male (middle pin exists) on the SDR end, possibly reused from helium and you need an SMA adapter.
There are currently no flights being picked up (either due to zero flight traffic or one of the reasons above), which means zero data being sent to Wingbits, which means the server thinks you are offline.
The device id was manually entered wrong during setup or copy/pasted without a start or end character (use the copy link next to the id on the page). Check with "cat /etc/default/vector" on the device via ssh and compare with stations page.
If none of these resolved your offline status, make a post in Discord using the #setup-support channel and we may escalate to a ticket if needed.
This is for people comfortable using the basic text editor 'nano' under Linux.
SSH into your device and run the following:
sudo mkdir /var/globe_history
sudo chown readsb /var/globe_history
sudo nano /etc/default/readsb
During the nano edit of /etc/default/readsb, just update JSON_OPTIONS line to include the heatmap stuff, should look like the following when done:
JSON_OPTIONS="--json-location-accuracy 2 --range-outline-hours 24 --write-json=/run/readsb/ --heatmap-dir /var/globe_history --heatmap 30"
Restart readsb:
sudo systemctl restart readsb
Now wait maybe an hour (or longer if not during the busy air traffic part of the day). Although, you can start watching it in just a few minutes if you just want to see something happen... even though it won't be that useful yet.
After waiting, visit your tar1090 url in a browser as you would normally. Then update the url to add the ? and all the args and values after it, like in the two examples below, and hit enter.
http://192.168.x.xxx/tar1090/?heatmap=200000&heatRadius=2&heatAlpha=6
http://192.168.x.xxx/tar1090/?heatmap=200000&realHeat&heatRadius=3
Information on additional options you can use on the url can be found at the below link. Some of these can be really handy to compare stuff between 2 time windows, for example.
You have not set your location on your station for readsb. If the decoder doesn't know where you are, it can't figure out how far planes are away from you. Please check below for "how do I set the location".
Note: In the future the installation will automatically set this for you.
This can sometimes happen during a slightly failed install, even though all other graphs are showing. Run the command on the author's site to reinstall. In almost every case this will resolve it.
You can change the location from the command line with the following command (replace <lat> and <lon> with the values from the Antennas page on the Dashboard).
sudo readsb-set-location <lat> <lon>
Note: This may only work on a standard Wingbits install (not using a 3rd party solution).
You can change your gain using the following command (replace xx.x with a valid gain number). Note that the command will not output anything, unlike the location command.
sudo readsb-gain xx.x
Valid gain numbers are below. If you type in any other number, it will choose the closest valid option. The -10 option, for adsb, will essentially set the gain to 58.0.
0.0 0.9 1.4 2.7 3.7 7.7 8.7 12.5 14.4 15.7 16.6 19.7 20.7 22.9 25.4 28.0 29.7 32.8 33.8 36.4 37.2 38.6 40.2 42.1 43.4 43.9 44.5 48.0 49.6 -10
Note: -10 / 58.0 is almost always not the ideal gain.
If you like videos, watch this one:
https://www.youtube.com/watch?v=cNxDYCMjaYM
If instead you just want quick guidelines in text, keep reading.
Optimizing your gain is both art and science based on all your components, your installation, and the flight traffic available in your area. Some basic guidelines to find the "sweet spot" using your local http://ip/graphs1090/ url are:
Weakest signal line should be somewhere between -26db and -32db on Signal Level chart.
On top chart, Messages > -3dbfs should be under 10% (the closer to overhead flight paths and airports, the closer to 10% is acceptable).
For a standard 1090 antenna using an average cable w/ adsb focused usb receiver (like radarbox green), your best gain is likely between 43.4 and 49.6.
Currently, keep an eye primarily on messages/second received (with an eye also on avg max range, average aircraft tracked, and avg message rate/craft). You want these all as high as possible without breaking the previous guidelines.
Ultimately, you are trying to optimize for positions per second, which will be shown on your top/main chart as positions/s (RHS). RHS stands for 'use the right hand side scale of the chart'. The challenge is, it is difficult to just watch that one line and optimize, so we use all the above mentioned stuff to guide us to the intended results.