New Featherweight GPS phone app available for Android and iOS

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
@DaHabes --

I had to download your files to see what you mean but now I see it.

It is something I also noticed about the Blue Raven low rate and high rate files.

This is your Summary file: MJH-TR2_summary_02-03-2024_14_34_05_.csv # flight time
And this is your Data file: MJH-TR2_05-20-2024_09_38_22.csv # download time

The Blue Raven App does much the same thing:

This is my Summary file: BlRv_SN0829_summary_05-11-2024_14_09_46_.csv # flight time
This is my high rate file: high_rate_05-11-2024_20_00_58.csv # download time
This is my low rate file: low_rate_05-11-2024_20_00_57.csv # download time

I may have changed the prefix on the summary file but the time stamp in the file name matched the flight time when I shared the file with my PeeCee.

I emailed the files from the phone to my PeeCee at 20:00 CDT and the low_rate and high_rate files used the download time stamps in the file names.

Maybe the same chunk of code could be enhanced in both apps ( GPS and Blue Raven ) to use the flight time instead of the wall clock time for all the files ?

Thanks for the reminder !

-- kjh
 
@DaHabes --

I had to download your files to see what you mean but now I see it.

It is something I also noticed about the Blue Raven low rate and high rate files.

This is your Summary file: MJH-TR2_summary_02-03-2024_14_34_05_.csv # flight time
And this is your Data file: MJH-TR2_05-20-2024_09_38_22.csv # download time

The Blue Raven App does much the same thing:

This is my Summary file: BlRv_SN0829_summary_05-11-2024_14_09_46_.csv # flight time
This is my high rate file: high_rate_05-11-2024_20_00_58.csv # download time
This is my low rate file: low_rate_05-11-2024_20_00_57.csv # download time

I may have changed the prefix on the summary file but the time stamp in the file name matched the flight time when I shared the file with my PeeCee.

I emailed the files from the phone to my PeeCee at 20:00 CDT and the low_rate and high_rate files used the download time stamps in the file names.

Maybe the same chunk of code could be enhanced in both apps ( GPS and Blue Raven ) to use the flight time instead of the wall clock time for all the files ?

Thanks for the reminder !

-- kjh
I think the reason was to make sure that each downloaded file has a unique file name. Otherwise we need to pop up a dialog box to ask about over-writing the file if it's re-downloaded.

I agree though that outside of troubleshooting the app download process, the launch time would be more useful than the download time for the automated file name. I'll put that on the to-do list.
 
Build 1.10 (328) is out now and available to download through the App Store for iOS. I'm working on doing some Android-specific testing now but build 328 should be out for Android soon.

The biggest improvement in this build is the way it handles the situation of multiple trackers and multiple ground stations. If you are flying a multi-stage flight, or just have multiple trackers for different rockets, I highly recommend it.

Using the new build, you have 2 ground stations to go with 2 trackers for a 2-stage flight, each GS will listen to its own tracker and log all the data to its own GS log even when switching the view back and forth between the two trackers. Or if you turn one GS off or only have one, it will automatically use one GS for both, by switching to the channel of whichever tracker you have selected to look at.

The file name convention has been changed to include the launch date and time rather than the download date and time. A side effect of this that is something we're still working on is the effect when you have 2 Blue Ravens launch together. You'll need to download and export them individually until the next release where we will also incorporate the Blue Raven's name to give them unique file names in that case.
 
Is it possible to pair a ground station and tracker to two phones simultaneously? I'd like to use the new app for a flight next weekend, but I've never used it before, and would like to also have the old app running on my dedicated Featherweight GPS ground station phone.

And secondly, I've never really messed around with downloading the GPS tracks. Just to be sure, the tracker will save the flight data after a power cycle right? I really don't want to lose out on a record because I screwed up downloading the data somehow.
 
Is it possible to pair a ground station and tracker to two phones simultaneously? I'd like to use the new app for a flight next weekend, but I've never used it before, and would like to also have the old app running on my dedicated Featherweight GPS ground station phone.

No, it’s one or the other. You’ll want to avoid having the iFIP running so that there isn’t an issue of which app has the connection. If you want to switch back and forth, you should force-quit the one you’re not using.
And secondly, I've never really messed around with downloading the GPS tracks. Just to be sure, the tracker will save the flight data after a power cycle right? I really don't want to lose out on a record because I screwed up downloading the data somehow.

After your flight, the data should download automatically. Be patient if you’re also flying a Blue Raven because those files take a long time to download if they go first. After a power cycle, one flight is kept in in-volatile memory while the other half of memory is cleared to prepare for the next flight. To minimize the risk of losing data, check that the flight data you want has downloaded and exported and looks good before powering off the tracker. The most recent builds are good about downloading cleanly even if the download is interrupted, but if for some reason the data doesn’t look good, you can re-download by clicking the repeat button on the summary page for the flight.
 
No, it’s one or the other. You’ll want to avoid having the iFIP running so that there isn’t an issue of which app has the connection. If you want to switch back and forth, you should force-quit the one you’re not using.


After your flight, the data should download automatically. Be patient if you’re also flying a Blue Raven because those files take a long time to download if they go first. After a power cycle, one flight is kept in in-volatile memory while the other half of memory is cleared to prepare for the next flight. To minimize the risk of losing data, check that the flight data you want has downloaded and exported and looks good before powering off the tracker. The most recent builds are good about downloading cleanly even if the download is interrupted, but if for some reason the data doesn’t look good, you can re-download by clicking the repeat button on the summary page for the flight.

So it sounds like the best approach would be to use the ifip device for tracking, and then once the rocket is recovered, power it off and download onto my Android phone. I'm just kicking myself for forgetting to bring my tracker to NSL to try out the Android app.
 
So it sounds like the best approach would be to use the ifip device for tracking, and then once the rocket is recovered, power it off and download onto my Android phone. I'm just kicking myself for forgetting to bring my tracker to NSL to try out the Android app.

I don't think there is any advantage to using the older iFIP app rather than the new app. With the new app, prelaunch, you can see the health of the LoRa connection and GPS reception, and battery health all in one screen. The voice telemetry of the new app is better, with more vertical velocity call-outs after apogee. And new new app has a map view that helps a lot in recovery.
 
I don't think there is any advantage to using the older iFIP app rather than the new app. With the new app, prelaunch, you can see the health of the LoRa connection and GPS reception, and battery health all in one screen. The voice telemetry of the new app is better, with more vertical velocity call-outs after apogee. And new new app has a map view that helps a lot in recovery.
That's good to hear. I'm just nervous about doing something new with my electronics on an ambitious flight.
 
I don't think there is any advantage to using the older iFIP app rather than the new app. With the new app, prelaunch, you can see the health of the LoRa connection and GPS reception, and battery health all in one screen. The voice telemetry of the new app is better, with more vertical velocity call-outs after apogee. And new new app has a map view that helps a lot in recovery.
Can you explain a bit about what the LoRa readout means? I assume the top value is the max range and the lower one is % of max signal, but I’d like to be sure. In the screenshot below, the LoRa signal looks quite weak compared to what I have seen in other launches, so I just want to verify what I’m seeing.

Thanks,

Tony

IMG_8577.jpeg
 
The voice telemetry of the new app is better, with more vertical velocity call-outs after apogee.
I flew 5 flights with my Featherweight tracker a few weeks ago and this was not my experience using the (current at the time) v1.0.9 of the new app on my iPhone. In every case, the voice call outs barely worked during ascent (seemed to be significantly delayed and few and far between) and the callouts stopped altogether following apogee.

Otherwise the new app seems to be a nice improvement over the older iFIP, and I was able to successfully track all my flights with it. The modern UI is a much welcome change! I do have a few suggestions for things I would personally like to see though:

1) The ability to display the coordinates of the rocket on the main tracking screen as well as the ability to copy the coordinates for pasting into Google Maps or similar without having to enter into the map view.

2) In the map view, an option not to record or display the track of the rocket and ground station UNTIL launch is detected (this would avoid any movement in the prep area and to the pad prior to launch being shown on the map).

3) A more stable connection between the phone and ground station. My main grievance here is that switching to a different app (but leaving the tracker app running in the background) or locking my phone seems to stop the app from communicating with the ground station, and it can take a while for the connection to be established again after unlocking or switching back to the app on my phone. I also noticed that the app will sometimes momentarily drop the connection with the ground station even if it is running in the foreground the whole time, though this never occurred for me during a flight. (I'll note too that I helped someone at the launch set up a new Featherweight tracker with an Android phone and noticed this same issue with the Android version.)

4) The ability to log flight data from previous flights into the app by importing from a .csv file.

Thanks!
 
3) A more stable connection between the phone and ground station. My main grievance here is that switching to a different app (but leaving the tracker app running in the background) or locking my phone seems to stop the app from communicating with the ground station, and it can take a while for the connection to be established again after unlocking or switching back to the app on my phone. I also noticed that the app will sometimes momentarily drop the connection with the ground station even if it is running in the foreground the whole time, though this never occurred for me during a flight. (I'll note too that I helped someone at the launch set up a new Featherweight tracker with an Android phone and noticed this same issue with the Android version.)

Hmm, this is a deal-breaker. I experienced this on a couple Android Bluetooth GPS apps with another tracker. Even rotating from portrait to landscape display would lose the connection.

I finally got my FW tracker, iFIP, and iPhone all behaving nicely for connection, tracking, and downloads. As mentioned above, I am a little leery of switching apps, especially on a big flight. I guess I will practice with the new app on a flight that is easily visible.
 
Can you explain a bit about what the LoRa readout means? I assume the top value is the max range and the lower one is % of max signal, but I’d like to be sure. In the screenshot below, the LoRa signal looks quite weak compared to what I have seen in other launches, so I just want to verify what I’m seeing.

Thanks,

Tony

<<snip pic>>
Tony --

I'll let Adrian explain the LoRa graph in the Featherweight app but maybe another bit of info might be helpful.

My Android Phone 'got lost' several times at the TXSO Launch over the Memorial Day Weekend in Seymour, TX.

I saw a notification on my Samsung phone that said something to the effect of 'lost GPS signal'.

LoRa is an ad-hoc network and I wonder if there is spotty LoRa coverage out there at the Rocket Ranch ?

I ignored the message on my phone but when I went to take a picture of my rocket on the pad, I got the following pic.

Note the Lat / Lon / Location settings at the bottom and the empty google map square.
tp-i211-bad-gps-pad.jpg

That is definitely my rocket on Pad C2 at Seymour but the GPS Map Camera App reported that I was in Hearne, TX which is where I last used the App !

I also noticed on the way home along the CR and FM Roads that my phone threw the same error a few times and got lost !

That was a little more alarming than the bad coordinates on the pad pic because Google Map Directions leave me with tunnel vision and I had no idea where I really was :)

Anyhow ... HTH ...

-- kjh

p.s. this is a fairly lucid explanation of LoRa Tracking: MOKO SMART > How and When Can You Benefit From LoRa GPS Tracker

p.p.s. after I used the GPS Map Camera App to take a picture of my rocket in the tree, I was able to take another pic of pad C2 with the proper coordinates.

This is 'my' mesquite tree where my rocket landed:
tp-i211-gps-tree.jpg

And this was the pad later in the day when we got back from looking for your rocket:
tp-i211-pad-gps.jpg

Note that both of these GPS Map Camera pics have good GPS coords and locations.
 
Last edited:
Can you explain a bit about what the LoRa readout means? I assume the top value is the max range and the lower one is % of max signal, but I’d like to be sure. In the screenshot below, the LoRa signal looks quite weak compared to what I have seen in other launches, so I just want to verify what I’m seeing.

Thanks,

Tony

View attachment 649768

The top one is max range, and the bottom one is supposed to be the packet success rate for recent packets, but the last release build had a problem with the success rate metric.

With range that low, it indicates either a problem like a broken antenna, or maybe a whip antenna folded over, and/or a rocket that is blocked by the rails of a tower.
 
Last edited:
I flew 5 flights with my Featherweight tracker a few weeks ago and this was not my experience using the (current at the time) v1.0.9 of the new app on my iPhone. In every case, the voice call outs barely worked during ascent (seemed to be significantly delayed and few and far between) and the callouts stopped altogether following apogee.
Was this Android or iOS? The voice callouts have been working well for me in iOS release 1.0.10.
Otherwise the new app seems to be a nice improvement over the older iFIP, and I was able to successfully track all my flights with it. The modern UI is a much welcome change! I do have a few suggestions for things I would personally like to see though:

1) The ability to display the coordinates of the rocket on the main tracking screen as well as the ability to copy the coordinates for pasting into Google Maps or similar without having to enter into the map view.

2) In the map view, an option not to record or display the track of the rocket and ground station UNTIL launch is detected (this would avoid any movement in the prep area and to the pad prior to launch being shown on the map).
One option is to delete the traces leading up to the launch as part of your pre-launch routine. If you click on the trace it will ask if you want to delete the previous trace. Fresh data will still be plotted.
3) A more stable connection between the phone and ground station. My main grievance here is that switching to a different app (but leaving the tracker app running in the background) or locking my phone seems to stop the app from communicating with the ground station, and it can take a while for the connection to be established again after unlocking or switching back to the app on my phone. I also noticed that the app will sometimes momentarily drop the connection with the ground station even if it is running in the foreground the whole time, though this never occurred for me during a flight. (I'll note too that I helped someone at the launch set up a new Featherweight tracker with an Android phone and noticed this same issue with the Android version.)
This issue is currently our top priority, and I expect it will be corrected in the next release. In the meantime, if you find phone has stopped communicating with the ground station, power cycling the ground station is the fastest and easiest way to get it back.
4) The ability to log flight data from previous flights into the app by importing from a .csv file.
How would you use this proposed feature?

Thanks for the feedback!
 
Tony --

I'll let Adrian explain the LoRa graph in the Featherweight app but maybe another bit of info might be helpful.

My Android Phone 'got lost' several times at the TXSO Launch over the Memorial Day Weekend in Seymour, TX.

I saw a notification on my Samsung phone that said something to the effect of 'lost GPS signal'.

LoRa is an ad-hoc network and I wonder if there is spotty LoRa coverage out there at the Rocket Ranch ?

I ignored the message on my phone but when I went to take a picture of my rocket on the pad, I got the following pic.

Note the Lat / Lon / Location settings at the bottom and the empty google map square.
View attachment 649783

That is definitely my rocket on Pad C2 at Seymour but the GPS Map Camera App reported that I was in Hearne, TX which is where I last used the App !

I also noticed on the way home along the CR and FM Roads that my phone threw the same error a few times and got lost !

That was a little more alarming than the bad coordinates on the pad pic because Google Map Directions leave me with tunnel vision and I had no idea where I really was :)
This sounds like it was just an issue of your phone's GPS receiver having trouble. LoRa is a separate radio that communicates on a separate frequency from the GPS signals. There isn't any direct interaction between the GPS receiver and the LoRa radios.
 
Was this Android or iOS? The voice callouts have been working well for me in iOS release 1.0.10.
This was iOS running the 1.0.9 release of the app. Was anything related to the voice callouts changed in 1.0.10 for the iOS release?

One option is to delete the traces leading up to the launch as part of your pre-launch routine. If you click on the trace it will ask if you want to delete the previous trace. Fresh data will still be plotted.

This issue is currently our top priority, and I expect it will be corrected in the next release. In the meantime, if you find phone has stopped communicating with the ground station, power cycling the ground station is the fastest and easiest way to get it back.
Awesome to hear! :)

How would you use this proposed feature?
I have several exported .csv files of data saved on my computer from previous flights back when I was using the iFIP app. I'd like to store a copy of the data from all those flights in the new app and have it appear in my list of flights. I would also like to be able to copy flight data to other phones running the app.
 
Build 344 is out for Android now. It has support for using 2 pairs of trackers and ground stations, or using multiple trackers with one ground station. Also, the voice telemetry issues have been corrected. Several other improvements, including more reliable Bluetooth connections. I'm regression testing the iOS version of build 344 today.
 
Any tips on keeping the tracker connected while waiting for launch? Mine kept disconnecting while the rocket was on the pad the past 2 times I've used it. On the devices screen the ground station says connected and the tracker will also be connected, but goes to disconnected while I'm waiting to launch. When it says disconnected, I can go to the tracker screen, and it shows that it has a good lock on satellites and the arrow points at the rocket. The tracker is mounted in the nosecone on a 3d printed sled on 1/4" threaded rod. I'm always careful to not put anything between me and the rocket that would cause it to disconnect. Thanks for any help!
 
Any tips on keeping the tracker connected while waiting for launch? Mine kept disconnecting while the rocket was on the pad the past 2 times I've used it. On the devices screen the ground station says connected and the tracker will also be connected, but goes to disconnected while I'm waiting to launch. When it says disconnected, I can go to the tracker screen, and it shows that it has a good lock on satellites and the arrow points at the rocket. The tracker is mounted in the nosecone on a 3d printed sled on 1/4" threaded rod. I'm always careful to not put anything between me and the rocket that would cause it to disconnect. Thanks for any help!
The tracker is expected to be disconnected from Bluetooth while waiting for the launch. The LoRa radio between your tracker and the GS is what sends back the data during the flight. The devices page now shows the BLE connection status separately from the LoRa radio status.
 
The tracker is expected to be disconnected from Bluetooth while waiting for the launch. The LoRa radio between your tracker and the GS is what sends back the data during the flight. The devices page now shows the BLE connection status separately from the LoRa radio status.
Awesome, thanks! I was seeing the word disconnected and freaking out over nothing then.
 
Awesome, thanks! I was seeing the word disconnected and freaking out over nothing then.
That is confusing to a lot of new users I’ve found. The tracker really only needs to be connected via Bluetooth when you want to rename it or change the assigned channel. As Adrain mentions, in normal operation, the tracker communicates with the ground station via LoRa, and the ground station talks to the phone via Bluetooth. Once you’ve setup a tracker, you may never need to connect to it via Bluetooth again.

@Adrian A – maybe show three connection states for a tracker – Bluetooth, LoRa, and Disconnected (or Offline). I don’t know how hard that would be to do, but it might make things clearer for end users.


Tony
 
That is confusing to a lot of new users I’ve found. The tracker really only needs to be connected via Bluetooth when you want to rename it or change the assigned channel. As Adrain mentions, in normal operation, the tracker communicates with the ground station via LoRa, and the ground station talks to the phone via Bluetooth. Once you’ve setup a tracker, you may never need to connect to it via Bluetooth again.

@Adrian A – maybe show three connection states for a tracker – Bluetooth, LoRa, and Disconnected (or Offline). I don’t know how hard that would be to do, but it might make things clearer for end users.


Tony

In the long range situation, the devices list now shows "BLE Connecting" in yellow and "LoRa ok" in green, like the one at the bottom:

IMG_3340.png

On Android, the BLE status is shown as a red "BLE Disconnected" rather than "BLE Connecting" along with the green "LoRa ok"

Maybe it would be even clearer if the state is shown as "LoRa Only"
 
In the long range situation, the devices list now shows "BLE Connecting" in yellow and "LoRa ok" in green, like the one at the bottom:

View attachment 654900

On Android, the BLE status is shown as a red "BLE Disconnected" rather than "BLE Connecting" along with the green "LoRa ok"

Maybe it would be even clearer if the state is shown as "LoRa Only"

Thanks for these explanations and improvements to the UI - I am definitely one of those people that was thoroughly confused about the "Disconnected" status and always wondered if the rocket would still track. Now that I understand the way it works, it will be a lot less stress inducing waiting for the launch! Thanks!

May be a dumb question, but are the same build numbers for iOS vs Android (i.e. - 344) functionally identical between the two phone systems or do some differences still exist? Maybe a better way to ask the question - I have been using both an Android and an Apple (iPad) to handle multiple base stations and multiple trackers. I don't see a difference between the two platforms, but, is one better than the other (not asking whether Apple or Android is better - not trying to start a holy war! Just asking if the Blue Raven app is better in any way on Apple vs Android since I have both available).

Thanks again for all the dev work - very much earning trust and keeping me a loyal customer!!
 
May be a dumb question, but are the same build numbers for iOS vs Android (i.e. - 344) functionally identical between the two phone systems or do some differences still exist? Maybe a better way to ask the question - I have been using both an Android and an Apple (iPad) to handle multiple base stations and multiple trackers. I don't see a difference between the two platforms, but, is one better than the other (not asking whether Apple or Android is better - not trying to start a holy war! Just asking if the Blue Raven app is better in any way on Apple vs Android since I have both available).

Not a dumb question at all. When the build number is the same, then the code that is common for both platforms is the same, so generally the UI and features are the same. Both platforms also need some native code to deal with platform-specific idiosyncrasies. For example, build 344 is available for Android because we have been focusing on Android development in the past few weeks to get it caught up with the features we released on iOS a few weeks ago. But 344 failed regression testing on iOS because of an intermittent problem doing over-the-air updates that is specific to iOS. We'll get that straightened out and then move on.

Two performance differences between the two platforms are that the downloads and over-the-air updates are faster on iOS, and the tracker pointer is a little more stable and accurate on iOS, possibly due to a more stable and accurate estimate for the phone location. So if you have a choice, the Featherweight UI performance is a little better on iOS in my experience.
 
Not a dumb question at all. When the build number is the same, then the code that is common for both platforms is the same, so generally the UI and features are the same. Both platforms also need some native code to deal with platform-specific idiosyncrasies. For example, build 344 is available for Android because we have been focusing on Android development in the past few weeks to get it caught up with the features we released on iOS a few weeks ago. But 344 failed regression testing on iOS because of an intermittent problem doing over-the-air updates that is specific to iOS. We'll get that straightened out and then move on.

Two performance differences between the two platforms are that the downloads and over-the-air updates are faster on iOS, and the tracker pointer is a little more stable and accurate on iOS, possibly due to a more stable and accurate estimate for the phone location. So if you have a choice, the Featherweight UI performance is a little better on iOS in my experience.

Thanks!
 
Back
Top