13. System Operation

13.1. Firmware Modes

The AltOS firmware build for the altimeters has two fundamental modes, “idle” and “flight”. Which of these modes the firmware operates in is determined at start up time. For TeleMetrum, TeleMega and EasyMega, which have accelerometers, the mode is controlled by the orientation of the rocket (well, actually the board, of course…) at the time power is switched on. If the rocket is “nose up”, then the flight computer assumes it’s on a rail or rod being prepared for launch, so the firmware chooses flight mode. However, if the rocket is more or less horizontal, the firmware instead enters idle mode. Since EasyMini doesn’t have an accelerometer we can use to determine orientation, “idle” mode is selected if the board is connected via USB to a computer, otherwise the board enters “flight” mode. TeleMini v1.0 selects “idle” mode if it receives a command packet within the first five seconds of operation.

At power on, the altimeter will beep out the battery voltage to the nearest tenth of a volt. Each digit is represented by a sequence of short “dit” beeps, with a pause between digits. A zero digit is represented with one long “dah” beep. Then there will be a short pause while the altimeter completes initialization and self test, and decides which mode to enter next.

In flight or “pad” mode, the altimeter engages the flight state machine, goes into transmit-only mode to send telemetry, and waits for launch to be detected. Flight mode is indicated by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights, followed by beeps or flashes indicating the state of the pyrotechnic igniter continuity. One beep/flash indicates apogee continuity, two beeps/flashes indicate main continuity, three beeps/flashes indicate both apogee and main continuity, and one longer “brap” sound which is made by rapidly alternating between two tones indicates no continuity. For a dual deploy flight, make sure you’re getting three beeps or flashes before launching! For apogee-only or motor eject flights, do what makes sense.

If idle mode is entered, you will hear an audible “di-dit” or see two short flashes (“I” for idle), and the flight state machine is disengaged, thus no ejection charges will fire. The altimeters also listen for the radio link when in idle mode for requests sent via TeleDongle. Commands can be issued in idle mode over either USB or the radio link equivalently. TeleMini v1.0 only has the radio link. Idle mode is useful for configuring the altimeter, for extracting data from the on-board storage chip after flight, and for ground testing pyro charges.

In “Idle” and “Pad” modes, once the mode indication beeps/flashes and continuity indication has been sent, if there is no space available to log the flight in on-board memory, the flight computer will emit a warbling tone (much slower than the “no continuity tone”)

See Understanding Beeps for a summary of all of the audio signals used.

Once landed, the flight computer will signal that by emitting the “Landed” sound described above, after which it will beep out the apogee height (in meters). Each digit is represented by a sequence of short “dit” beeps, with a pause between digits. A zero digit is represented with one long “dah” beep. The flight computer will continue to report landed mode and beep out the maximum height until turned off.

One “neat trick” of particular value when TeleMetrum, TeleMega or EasyMega are used with very large air-frames, is that you can power the board up while the rocket is horizontal, such that it comes up in idle mode. Then you can raise the air-frame to launch position, and issue a reset command via TeleDongle over the radio link to cause the altimeter to reboot and come up in flight mode. This is much safer than standing on the top step of a rickety step-ladder or hanging off the side of a launch tower with a screw-driver trying to turn on your avionics before installing igniters!

TeleMini v1.0 is configured solely via the radio link. Of course, that means you need to know the TeleMini radio configuration values or you won’t be able to communicate with it. For situations when you don’t have the radio configuration values, TeleMini v1.0 offers an emergency recovery mode. In this mode, TeleMini is configured as follows:

  • Sets the radio frequency to 434.550MHz
  • Sets the radio calibration back to the factory value.
  • Sets the callsign to N0CALL
  • Does not go to pad mode after five seconds.

To get into emergency recovery mode, first find the row of four small holes opposite the switch wiring. Using a short piece of small gauge wire, connect the outer two holes together, then power TeleMini up. Once the red LED is lit, disconnect the wire and the board should signal that it’s in idle mode after the initial five second startup period.

13.2. GPS

TeleMetrum and TeleMega include a complete GPS receiver. A complete explanation of how GPS works is beyond the scope of this manual, but the bottom line is that the GPS receiver needs to lock onto at least four satellites to obtain a solid 3 dimensional position fix and know what time it is.

The flight computers provide backup power to the GPS chip any time a battery is connected. This allows the receiver to “warm start” on the launch rail much faster than if every power-on were a GPS “cold start”. In typical operations, powering up on the flight line in idle mode while performing final air-frame preparation will be sufficient to allow the GPS receiver to cold start and acquire lock. Then the board can be powered down during RSO review and installation on a launch rod or rail. When the board is turned back on, the GPS system should lock very quickly, typically long before igniter installation and return to the flight line are complete.

13.4. Ground Testing

An important aspect of preparing a rocket using electronic deployment for flight is ground testing the recovery system. Thanks to the bi-directional radio link central to the Altus Metrum system, this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket with less work than you may be accustomed to with other systems. It can even be fun!

Just prep the rocket for flight, then power up the altimeter in “idle” mode (placing air-frame horizontal for TeleMetrum or TeleMega, or selecting the Configure Altimeter tab for TeleMini). This will cause the firmware to go into “idle” mode, in which the normal flight state machine is disabled and charges will not fire without manual command. You can now command the altimeter to fire the apogee or main charges from a safe distance using your computer and the Fire Igniter tab to complete ejection testing.

13.6. APRS

TeleMetrum v2.0 and TeleMega can send APRS if desired, and the interval between APRS packets can be configured. As each APRS packet takes a full second to transmit, we recommend an interval of at least 5 seconds to avoid consuming too much battery power or radio channel bandwidth. You can configure the APRS interval using AltosUI; that process is described in Configure Altimeter.

AltOS supports both compressed and uncompressed APRS position report data formats. The compressed format provides for higher position precision and shorter packets than the uncompressed APRS format. We’ve found some older APRS receivers that do not handle the compressed format. The Kenwood TH-72A requires the use of uncompressed format to display altitude information correctly. The Yaesu FT1D requires the use of compressed format to display altitude information.

APRS packets include an SSID (Secondary Station Identifier) field that allows one operator to have multiple transmitters. AltOS allows you to set this to a single digit from 0 to 9, allowing you to fly multiple transmitters at the same time while keeping the identify of each one separate in the receiver. By default, the SSID is set to the last digit of the device serial number.

The APRS packet format includes a comment field that can have arbitrary text in it. AltOS uses this to send status information as shown in the following table.

Table 13.1 Altus Metrum APRS Comments
Field Example Description
1 L GPS Status U for unlocked, L for locked
2 6 Number of Satellites in View
3 B4.0 Altimeter Battery Voltage
4 A3.7 Apogee Igniter Voltage
5 M3.7 Main Igniter Voltage
6 1286 Device Serial Number
4 1286 Device Serial Number

Here’s an example of an APRS comment showing GPS lock with 6 satellites in view, a primary battery at 4.0V, and apogee and main igniters both at 3.7V from device 1286.

L6 B4.0 A3.7 M3.7 1286

Here’s an example of an APRS comment showing GPS lock with 6 satellites in view and a primary battery at 4.0V from device 1876.

L6 B4.0 1876

Make sure your primary battery is above 3.8V any connected igniters are above 3.5V and GPS is locked with at least 5 or 6 satellites in view before flying. If GPS is switching between L and U regularly, then it doesn’t have a good lock and you should wait until it becomes stable.

If the GPS receiver loses lock, the APRS data transmitted will contain the last position for which GPS lock was available. You can tell that this has happened by noticing that the GPS status character switches from L to U. Before GPS has locked, APRS will transmit zero for latitude, longitude and altitude.

13.7. Configurable Parameters

Configuring an Altus Metrum altimeter for flight is very simple. Even on our baro-only TeleMini and EasyMini boards, the use of a Kalman filter means there is no need to set a “mach delay”. All of the configurable parameters can be set using AltosUI. Read Configure Altimeter for more information.