AltOS

AltOS is the name of Keith's firmware "operating system" for Altus Metrum products.

In addition to the firmware for hardware products like TeleMetrum, TeleMini, and TeleDongle, the AltOS source tree also includes AltosUI, which provides for flight monitoring, post-flight analysis, device configuration and firmware updating. AltosUI runs on Linux, Mac OS X and Windows. It's written in Java and offers the same functionality and interface on all three platforms. A small platform-specific library communicates with the USB interface on the Altus Metrum devices.

There are also Linux-specific tools that provide lower level access to the devices which are useful for developing firmware for the devices.

We maintain a list of launch site GPS coordinates. If your favorite launch site isn't included, please let us know!

Available Versions

There is a single manual for most Altus Metrum products, which is available in html and pdf formats.

We also have an AltOS internals document for programmers in html and pdf formats, and a document describing the AltOS over the radio protocol in html and pdf formats.

If you're running Windows 8, you should take a look at Installing AltosUI on Windows 8 which will help you install the operating system drivers needed to communicate with the USB hardware.

If you're running a recent version of Mac OS X, you'll probably need to read Installing AltosUI on Mac OS X. This describes how to get rid of the the 'App is damaged' messages and run the program.

Each available download includes AltosUI, documentation, and firmware updates for all current products.

Release Notes for Version 1.9.10

Version 1.9.10

This release contains a couple of bug fixes for ground station software.

AltosUI

  • Rework the windows DLL build to make AltosUI run on more instances of Windows 10.

AltosDroid

  • Adapt to Android security changes which prevent AltosDroid from storing flights in /storage/emulated/0/AltusMetrum. Now, flights are stored in /storage/emulated/0/media/org.altusmetrum.AltosDroid/AltusMetrum instead. Also, AltosDroid will display an error message if flight data cannot be logged.

Release Notes for Version 1.9.9

Version 1.9.9

This release contains a critical bug fix for a problem introduced in version 1.9.8 for TeleMega and EasyMega boards. This problem occurs when using the stored configuration from 1.9.7 or earlier.

If you are running 1.9.8 or are upgrading from 1.9.8 on any version of TeleMega or EasyMega, you must reconfigure all pyro channels, recalibrate accelerometers, reset the APRS interval, adjust the beep tone and reset the pyro time.

AltOS

  • Fix EasyMega and TeleMega upgrade process from 1.9.7 or earlier. 1.9.8 introduced larger delay values, which required modifying the configuration in-place, and the 1.9.8 version had a flaw which broke the pyro channel config and all of the config values beyond that in memory, including APRS interval, IMU accel calibation, beep tone and pyro time.

  • Fix TeleMega v5.0 mag sensor driver. This driver was quite broken due to developing it in the presence of the magnetic beeper on the board. Because of that beeper, the values this sensor records are not accurate. Fortunately, they are not used for controlling the flight.

AltosUI

  • Parse TeleMega v5.0 log files. A missing check in the code meant that the TeleMega v5.0 log files would cause an error when attempting to load them. Logs saved with AltosUI 1.9.8 were not affected, only the presentation of the data was broken.

Release Notes for Version 1.9.8

Version 1.9.8

AltOS

  • Add support for TeleMega v5.0

  • Extend extra pyro channel times to support delay > 327 seconds

AltosUI

  • Support ARM devices in Linux binary release

  • Add support for TeleMega v5.0

AltosDroid

  • Show tilt angle in pad and flight tabs

  • Show altitude as well as height (useful for TeleGPS)

  • Support devices without GPS receivers

MicroPeak GUI

  • Show error dialog if device open fails

Release Notes for Version 1.9.7

Version 1.9.7

AltOS

  • Fix TeleGPS logging so that new data are appended to an existing log correctly

AltosUI

  • Support Mac OS X 11 (Big Sur)

  • Support Monitor Idle on Easy Timer

  • Fix TeleMega v4.0 and TeleMetrum v3.0 configuration in Antenna Down mode

  • Show launch sites in Load Maps view

  • Add IMU header names to CSV files

  • Clean up TeleGPS log corruption due to firmware bugs during firmware update

AltosDroid

  • Support older devices back to Android version 5.1

  • Fix a number of issues that could result in app crashes

Release Notes for Version 1.9.6

Version 1.9.6

AltOS

  • Fix EasyTimer bug where it might mis-detect boost (either detect it early or not at all) due to small errors in accelerometer calibration leading to large accumulated error in speed.

  • Adjust self-test of new 9-axis IMU (BMX-160) so that it doesn’t think the part has a failure when tested sitting horizontally.

Release Notes for Version 1.9.5

Version 1.9.5

AltOS

  • Add Booster mode for all dual-deploy altimeters. Select "Separation & Apogee" mode in AltosUI to fire the 'main' channel at first motor burnout and the 'apogee' channel at apogee.

  • Improve reliability of stm32l firmware under heavy load. This was found using Monitor Idle on TeleMega with all flash slots full of data which would occasionally lock up.

  • Fix orientation label in AltosUI for devices with radios. This makes the orientation say 'Antenna up' and 'Antenna Down' for TeleMetrum and TeleMega again.

  • Fix log data for pyro channels which were inhibited (often because of a tilt limit). They used to report 'fired' as soon as they were inhibited, which was misleading. Now they never report as having been fired.

  • Allow Igniter Test to fire each igniter more than once.

AltosUI

  • Improve performance of Monitor Idle mode by sending less data for each update.

  • Improve Mac OS X install scripts so that they work on Catalina. This involves sending the user to get Java from the AdoptOpenJDK project which provides a version that works with Java applications.

  • Make larger dialogs scrollable for use on smaller screens.

  • Fix troubles re-flashing EasyMega boards running older firmware.

  • Add TeleMetrum v3.0 firmware to the Windows AltosUI packages.

Release Notes for Version 1.9.4

Version 1.9.4

AltOS

  • Fixed firmware for TeleDongle v3.0 and TeleBT v4.0. Version 1.9.3 bricked those devices requiring them to be opened up to get them working again.

  • Fixed firmware for EasyMini v1.0. Changes in the storage code caused it to use significantly more RAM which made the interrupt stack smash into other data structures and cause the device to panic at startup time.

AltosUI

  • Add TeleMetrum v3.0 firmware to the Linux and Mac OSX AltosUI packages.

Release Notes for Version 1.9.3

Version 1.9.3

AltOS

  • Add APRS offset. Allows multiple APRS transmitters to coordinate when transmission occurs to allow them to share a frequency.

  • Fix max log size. Flight computer storage is erased in 64kB chunks. Adjust max log size to be a multiple of this size.

  • Check flight erasing more carefully. Handle interrupting erasing in the middle.

  • Add EasyTimer support.

AltosUI, TeleGPS, MicroPeak

  • Add configuration support for APRS offset.

  • Adjust flight log sizes to be a multiple of the flight computer erase block size.

  • Report barometric pad altitude in Pad tab for TeleMini.

Release Notes for Version 1.9.2

Version 1.9.2

AltOS

  • Add support for TeleMega v4.0

  • Fix time wrapping issue with TeleLCO and TeleFire

AltosUI, TeleGPS, MicroPeak

  • Add column in AltosUI for IMU data from TeleMega and EasyMega

AltosDroid

  • Allow sorting of trackers by call, serial, frequency or age

  • Offer selection of font sizes

  • Various bug fixes for older Android versions

Release Notes for Version 1.9.1

Version 1.9.1

AltOS

  • Add support for TeleMetrum v3.0

  • Fix accel cal value when changing EasyMega v2.0 pad orientation

  • Correct EasyMega v2.0 magnetometer data axes

  • Fix EasyMega v2.0 idle monitor display of IMU data

  • Report all sensor failures at power-up time.

AltosUI, TeleGPS, MicroPeak

  • Display error message when attempting to graph unknown format file.

  • Make it possible to disable APRS once enabled.

  • Display some data for point near cursor in map tab.

  • Support upgrading devices from pre-1.8 firmware

  • Wait for Windows to prepare new devices during firmware upgrade. This should avoid the “COMxx: open failed” message.

Note that older versions are still available if you really need them for some reason.

Source Code

The latest source, which may include unreleased work in progress, is always available from git.gag.com in the project fw/altos.

We've gathered a few notes on buidling AltOS.

Future Plans

Bug reports, feature requests, and planning for AltOS releases happens on the Altus Metrum Trac Site.

A number of features are implemented or in process in the sources available in our publicly visible repository that are not part of the current stable release.

  • Motor characterization. Because TeleMetrum contains a high-resolution, high-frequency accelerometer, it is possible to take the data from that and compute an accurate thrust curve for the motor.

  • Comprehensive PDF and/or HTML -based flight report. Construct a complete report of the flight suitable for publication on the web that includes graphs of the flight and details about motor performance etc.

  • Publish flight data to the Altus Metrum web site. This will allow you to share your flight data with others, and let you download flights published by others.

There are any number of additions that could be made to this list; feel free to send along ideas that you’ve got. Of course, all of this software is licensed under the GNU General Public License, so you can get the source and hack on it in the comfort of your own home.

Platform Specific Notes

Linux

If you use Debian, you can simply install the 'altos' package from any Debian mirror, like so:

    apt-get update
    apt-get install altos

If you use some other distribution of Linux, then a Linux package of our second-generation Java bits that should run on any distribution with a modern Java version is also available. Unlike the Debian pacakge, which depends on various libraries already part of the Debian distribution, this package includes a "fat" jar file with all of the Java libraries that aren't part of the basic Java runtime environment included, so it should "just work" on any system with Java 6. Development and testing is done with OpenJDK 6, but current downloads from java.com should be fine too.

If you'd rather build from source, our source tree includes documentation on how to build packages for various Linux systems such as Arch Linux, and the debian/ directory contains all the control files for building the Debian packages on other architectures or derivatives such as Ubuntu.

Bdale has also created a theme for GDM that he uses on his primary notebook, and the Simple Login Manager that he uses on all of his other machines and which is ideally suited for machines dedicated to AltOS ground station use. It includes a photo of a drag-race between nearly-identical rockets built by Keith and Bdale, that was the first time either of us gave TeleMetrum complete control of a rocket flight without some other backup! See the themes/ directory in the source tree (the themes are included in the Debian package).

Mac

A Mac OS X package that is compatible with versions 10.5 "Leopard" and later. The Mac operating system includes Java, and all Altus Metrum products show up as simple USB serial ports, so this should just work with no additional drivers or other dependency issues. Older versions of the Mac operating system, and even newer versions for PowerPC-based machines, come with Java version 5 or older, which is too old for use with Altus Metrum software. We know of no way to update the Java version other than upgrading to a newer operating system (for Intel based macs) or purchasing new hardware (for PowerPC based macs).

If you have trouble installing on a Mac, and are getting errors about the package being corrupt, you may not be configured to allow installation of software from arbitrary sources. One customer running 10.8.1 reported that he was able to work around this by going to "System Preferences", "Security & Privacy", "General", and then clicking the "Anywhere" radio button where it askes "Allow applications downloaded from:".

Windows

Our Windows package is known to work on at least some flavors of XP, Vista, and Windows 7 Enterprise. If you don't already have Java installed, download and install a current Java 6 version from java.com first. Then download our installer and run it. Windows already has the required USB serial device driver, and our package should do the right things to bind it to our devices, but if you get a complaint about the device being unrecognized, try pointing to the copy of the telemetrum.inf file included in the package directory manually.

Note that on some Windows 7 systems, it may be necessary to install AltOS using 'compatibility mode'. You can set this mode by changing the properties of the installer .exe.

License

The firmware and associated software are licensed GPL version 2