This post outlines how to install the BlueFlyVario_USB_TTL_GPS_IGC_v22 on the Kobo Nia. This combination of the best TTL_GPS Bluefly and the cheapest current model Kobo will give you a fully featured xcsoar based flight instrument.
Make sure you read to the end of the post before you begin. The Nia makes a good flight instrument, but there are some limitations.
There are many other models of Kobo and many ways to install a Bluefly. See BlueFlyVario_TTL_GPS_v11 Assembly with the Kobo Glo for an example and links to many other blog posts for other models. Also, see Nev’s page for much more information: http://gethighstayhigh.co.uk/kobo-self-build/.
Preparation
Order your Bluefly from the shop. This assembly shows the USB_TTL_GPS_IGC model, but you could also use the cheaper TTL_GPS model. The main advantage of the more expensive model is onboard IGC recording and easier Bluefly firmware upgrades.
Get a Kobo Nia from your local retailer or the internet.
Download a few things:
- xcsoar. The latest releases are not compatible with the Nia and at the time of writing this post you need to use a 6.8 version. I used 6.8.17.
- The 3d printable files for the new v22 TTL_GPS case, lid and button.
- This is optional, but does make the install a bit neater.
- I printed these items in PLA on an old 3d printer and there was a little clean up with a knife required to make them fit, especially around the button.
- Get this Bluefly.xci file for the xcsoar menu.
Prepare the Nia
Before anything, make sure you Nia is working normally as an ebook. Create a Kobo account, do the suggested firmware updates, then shut it down.
Take the back cover off the Nia. You should be able to pry it loose around the edge. It will look like this:
Backup the sdcard by creating a full disk image with of it with win32diskimager. See step 3 here.
Wires are soldered onto the TTL port. In this example I have used solid core 30AWG winding wire. Use a hot soldering iron but work quickly so you don't damage the PCB. Check carefully for jumped solder tracks. Note the small 3mm hole drilled through the bezel of the kobo that all of the wires go through. I could have made this smaller.
Solder each of the wires to the Bluefly. Make sure that the connections are:
- Kobo GND - Bluefly GND
- Kobo RX - Bluefly Tx
- Kobo TX - Bluefly Rx
- Kobo V - Bluefly V
- Port: ttymxc0
- Baud rate: 115200
- Driver: Bluefly
- The xci file adds a bunch of menu options which send commands and settings to the Bluefly.
- It also adds a special gce event which restarts the Bluefly when the xcsoar detects a landing. This forces the IGC file on the Bluefly to be saved.
- There is not a specific version of xcsoar that has been built for the Nia. xcsoar kobo versions try to work out what model of kobo it is running on during startup then selects particular linux drivers and a bunch of other kobo linux things. The 6.8 versions work, and I expect that a future 7.x version will work, but at the moment suggested fixes have not been included in a release.
- The underlying kobo linux operating system uses the ttl serial port we connect the Bluefly to during the device boot process. If it reads characters from the Bluefly at a critical point in the first few seconds then the boot will hang (this is why there is is nothing sent from the Bluefly until after startDelayMS). Additionally, there are around 2500 characters sent from the kobo to the Bluefly in the first 10 seconds. The most recent firmware on the Bluefly addresses both of these issues.
- The kobo linux serial processing driver only has so much capacity and it is possible that from time to time there will be buffer overflows on the kobo side. Practically, this results in characters not being received by xcsoar. By using sentences with a checksum bad sentences are just ignored and we can recover gracefully.