Product Updates

New Nano altimeter firmware (v1.53)

NNeil Bowen4 min read
Hi Everyone,

Update necessity: Strongly advised! 

We've released a new firmware for the Nano altimeter. This update addresses a discovered bug affecting file storage stability and adds a few new features.
You can install the new firmware at our online updater tool here: https://www.altimetercloud.com/support/update_tool/

image.png
Features & fixes summary
  • Fixed corruption issues with the file system when the USB cable is removed during any file changes.
  • Constant remounting when ejecting or setting up device notices
  • Increased the maximum logging speed to 300Hz 
  • Option to use the new ultra compressed Altimeter Cloud log format instead of CSV files allowing you to store 10-15x more flights on your device without any loss in data. 
  • Removed `memmove` operations on the pre flight RAM buffers, ensuring higher speed options work seamlessly. And very slightly increasing battery life. 
  • Added compatibility for the persistent data block during updates to retain certain information when updating or factory resetting.
  • Added the last 4 characters of your device serial to the flight log name for easy identification of the device used.
 
USB (FAT16) file system corruption issues
When power is interrupted at the wrong moment, a cable pulled while the drive is being written to, for example, the flash chip can be left mid-erase, and the resulting damage to the file table isn't visible: the drive still mounts and simply reports every file as being much smaller than it is. 
The new firmware fixes this. FAT16 keeps two copies of the file table, and the altimeter now checks both every time it starts up, spots the damaged one by comparing them, and rebuilds it from the good copy before anything else happens.
It also now measures free space from the file table itself rather than by adding up file sizes, so space lost this way can no longer hide, and it verifies each flight log by reading it back after saving, if that check fails, the flight is kept in the backup memory and rewritten on the next power-up instead of being lost.
We've tested this on a unit here by deliberately pulling the cable during writes: the damage occurs as expected and the altimeter repairs itself on the next start, with the flight data intact.  
 
300Hz logging speed
The Nano now supports 50Hz, 100Hz, 200Hz, 250Hz and 300Hz logging speeds bringing it in line with the Mercury.
The new default setting is 250Hz with a hybrid ratio of 1:6. This means it will log at 250Hz from launch through 5 seconds after apogee. It then drops to 1/6th speed ~41Hz until within 20 meters of landing and jumps back to 250Hz.
You will see much more data from your accelerometer and gyroscope where it matters as a result.
As always, all of these settings are fully adjustable for your needs. 
 
Constant remounting when ejecting the USB device or always saying setting up device on connection
This was caused by our Android fix. Some Android devices don't like reconnecting to a USB device if the cable was pulled out so we used a random serial ID on the USB connection.
This resulted in Windows and Apple devices seeing it as a new device each time you eject or disconnect it.
The Android-safe setting has been moved to an option that is off by default. Most Android devices will still work fine without it on, but if you're stuck it's still there. 
 
ACLZ filelogs (Altimeter Cloud Log format)
We've been developing a new log format for our Jupiter flight computer so that flight logs can be transported efficiently via cellular and LoRa radio communication links. This new format keeps every bit of data just like a CSV but uses between 10 and 20 times lessstorage to achieve it.
These logs are not human readable like a CSV file, however, they let you store at least 10 times more flight logs on your Nano.
You can still upload logs using the Altimeter Cloud uploader; secure verification still works, and you can even download a CSV from the flight page on the Altimeter Cloud website. 
The choice is yours - CSV is still the default and you just set the log_format setting in the settings file from 0 to 1 to switch to ACLZ.
Its official description for anyone interested is: a columnar, delta-and-varint encoded, Ed25519-signed multi-rate flight log in a single LZMA stream. 

image.png
Example of the ACLZ from a test throw at my desk: these flight logs would normally be 300KB in CSV.

Memmove flight buffer removal
The pre flight buffer is constantly shifts itself with each new entry using `memmove` operations. This uses significant RAM throughput and limits how long the altimeter can sleep between samples.
We now use a pointer instead and don't move the samples at all.
It restricted the Nano pre-flight to around 260Hz maximum speed, but after the changes it can now technically exceed 400-500Hz, although storing that much data is impractical.
This gives us more sleep time, reliable 300Hz operation, and slightly better battery life in all modes and speeds. 

Persistant data block
We are modifying all our firmware and updater tool to support a 4KB block of flash memory that can be read and restored during the firmware installation process (erase and update).
The Nano now supports this and currently will restore its internal flightid and calibration values after updates.