Friday 23 May 2014

BlueFlyVario_TTL_GPS_v9 Released

The BlueFlyVario_TTL_v8 has proven to be very popular to use with the Kobo. I think that most people who have ordered one want to use it with a GPS, so today I am happy to release the next version with an included GPS and upgraded firmware - the BlueFlyVario_TTL_GPS_v9.

GPS Selection

I chose the Global Top PA6H GPS for a few reasons:
  • It is pretty cheap.
  • It has good performance for low power consumption. 
  • It is small.
  • It has a sleep mode. 
  • Many people have used it (or the Adafruit Ultimate one, which is pretty much the same with slightly tweaked firmware). 
Description

The new device is shown in the image below. From a hardware perspective the only key addition was the GPS and associated LED, resistor and capacitor. 



I initially added a small switch in near the ttl serial to switch the voltage, but discovered that the Tx and Rx lines keep the device powered and sucking power. So I did not include the switch, and instead have added some firmware settings to reduce power. The device includes a neoprene cover over the pressure sensor and the device is encased in heatshrink. Also note that the TTL_GPS_v9 is shipped with the 1x4P 2.54mm header and the 4 pin dupont connector

Kobo Installation

This device is specifically targeted at installing on the Kobo. The directions in my previous blog post are all still applicable. Some users will want to solder wires directly to the device (from the back) then drill 4 x 1mm holes into the Kobo at an appropriate spot, put the wires through, then solder them to the circuit board. Others will want to solder on the 4x1P header and use the dupont connector. Post your installation pictures on the Facebook page

Firmware Updates

The v9 firmware has some important updates to hardware settings and commands:


Settings:
  • uart2BRG - $BR2 xxx* - where xxx is used for altering the baud rate of U2 (the main output). This should really only be used with extreme care, but there are a few cases where it is the only way to communicate with the GPS via the micro. 
  • uartPassthrough - $BPT x* - where x is a boolean used for passing characters received on U2 through the micro to U1. Due to different baud rates (U2 > U1) the characters are stored in a FIFO buffer of length 100. This length allows for normal NMEA commands when the baud rates are different. 
  • uart1Raw - $BUR x* - where x is a boolean used to indicate if characters received at U1 are should passed straight through to U2 or recorded line by line (i.e. $...<LF>) and then multiplexed with pressure output. This is used to allow bulk transfer of information that is sent by GPS other than standard NMEA sentences. 
  • greenLED - $BLD x* - where x is a boolean to indicate if the green LED is lighted for each lift beep.
  • outputMode - I added a new outputMode = 4, which essentially stops the pressure output. 
Commands:
  • $RST* to reset the module, essentially a hot reboot. 
  • $RSX* to reset the module and reset all of the hardware settings to factory defaults, an extended hot reboot equivalent to start up with programming pads 2 and 4 shorted. 
  • $SLP* to send the module to sleep mode. Note it also sends the PA6H GPS to sleep mode using the PMTK standby command. The micro plus pressure sensor consumes about 0.05mA in sleep mode, but the GPS still consumes about 1.5mA. To wake from sleep mode without a power cycle you just send any character to the module on U2. This will then force a hot reboot, and you are back to the power on state, including the GPS. 
I should get around to updating the hardware settings manual and BFVDesktop app for these new settings by the time shipments arrive. 

The TTL_v8 and v8(Bluetooth versions)

I will be shipping future BlueFlyVario_TTL_v8 and BlueFlyVario_v8 (Bluetooth) with the new V9 firmware from today.

However, note that the BlueFlyVario_v8 (Bluetooth) are currently on back order. I am still waiting on components (sorry). I should be able to ship in a few weeks. 

Schematics

The schematic and pcb layout for the new device is shown below.