Sunday 22 March 2015

BlueFlyVario_TTL_GPS_v10 improvements

It has been a long time in between blog posts (almost 11 weeks)! This little hobby continues to keep me too busy. It has been one of the worst flying seasons in Canberra for many years which has given me time to continue production, build weather stations (the freeflightwx), and work on the BlueFlyVario.

I have been working on some new devices. In a future post I will describe plans for a BlueFly model that includes Blutooth, GPS, an SDCard for recording tracks, and USB computer interface. However, this post is all about improvements to the TTL_GPS model to make the GPS work better.

The issues

A few pilots reported that the BlueFlyVario_TTL_GPS with Kobo/xcSoar combination occasionally dropped portions of the track or had difficulty maintaining a satellite fix. With the help of our community of pilots I have determined that there are two distinct issues, both of which have now been addressed.

The first issues is a simple firmware error. In the firmware version M01 to M04 the GPS sentences being sent from the PA6H GPS were being clipped if the sentence length was longer than 79 characters. A NMEA sentence can be up to 80 visible characters long. Unfortunately, the bug clipped the sentence when it was longer than 79 characters, meaning the GPS data was not being transferred through to the Kobo. There are only some very particular circumstances when the PA6H would use the full 80 characters. The PA6H needs a DGPS fix (which we do not get in Australia) and needed to fix 10 or more satellites. In strong signal areas of Europe this can happen, and was causing dropouts which were very difficult to understand. The fix was super simple and has been rolled into the M05 firmware release (which will be on the support page of the website shortly). Unless you are having issues with a bad GPS track, and the NMEA log shows you are getting dropouts, then I would not worry about upgrading the firmware.

The second issue is associated with power supply noise and the ability of the GPS to get a good fix. I postulated that there are a few causes of the GPS power supply noise:
  • Broadband power supply noise from the 3.3v UART power from the Kobo. I measure that as around 70 to 100 mV pp (measured on an oscilloscope with AC coupling, 1x probe)
  • Broadband power supply EM emissions from the Kobo which are picked up by wires or the BlueFly/GPS circuitry. 
  • EM emissions from the Kobo which are at GPS frequencies (or appropriate multiples) and increase the baseline a real GPS signal must overcome. 
1 and 2 combine to affect GPS power supply noise on the BlueFly module. In the rev2 board on the first realease of the v10 the noise was filtered with only a 0.1uf cap at the input to the GPS, but further upstream the TC1015 regulator has 1uf on both the supply and output. This gets the Vpp down to less than the PA6H spec requirements of 50mV pp.

Improving power supply noise on the rev 2

If you have a BlueFlyVario_TTL_GPS_v10 with a rev2 board then you can adopt the following strategies to reduce power supply noise:
  • Make sure the wires which connect the BlueFly module to the Kobo are as short as possible, less than 5cm if possible. 
  • If the wires are longer, include a twist in the VCC/GND pair and the Tx/Rx pair.
  • Make sure that the wires are not routed across the middle of the Kobo PCB. 
  • Make sure that all solder joints are clean of flux. A little acetone on a small cotton swab will help clean any connections you have made. 
  • While the VBACKUP can improve time to first fix when you first turn it on, the long wire can also pick up electrical noise so you should consider if it is really needed. 
Further improvements - The rev 3 pcb

To further reduce power supply noise we needed a new pcb layout and some extra filtering components. The latest batch of BlueFlyVario_TTL_GPS_v10 pcbs are a new rev3 layout. I will be shipping rev3 pcb with all BlueFlyVario_TTL_GPS_v10 orders from now on. 

The rev 3 pcb incorporates the following changes:
  • Improvements to the ground plane under the GPS. This means that I removed the external pads for hacking to communicate with the GPS. If you want to get super serious about customizing your GPS you will have to solder to the PA6H pads instead. I am pretty sure that will only affect less than 1% of users.
  • Added Tx/Rx resistors for communication between the micro-controller and the GPS. This reduces noise on those lines.
  • Added an extra cap and ferrite to the power supply to make an LCC filter (600 ohm ferrite, 1uf, 0.01uf)
  • Moved the pressure sensor a little to make the neoprene fit over it better.
  • Moved the blue (or red) LED away from the pressure sensor.
All of these changes reduce the power supply noise, which in turn should improve the GPS performance. I remain confident that the rev2 board works well, but this new board should be just a little better. I have attached a schematic and layout below.