update docs
[web/altusmetrum] / AltOS / doc / altusmetrum.html
index 4edd96652586ebeab03e65dec7717191a68243af..8773af2c7e1ac5256d7974270fcfeb71d449fd54 100644 (file)
-<html><head><meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1"><title>TeleMetrum</title><meta name="generator" content="DocBook XSL Stylesheets V1.75.2"></head><body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF"><div class="book" title="TeleMetrum"><div class="titlepage"><div><div><h1 class="title"><a name="id2276207"></a>TeleMetrum</h1></div><div><h2 class="subtitle">Owner's Manual for the TeleMetrum System</h2></div><div><div class="author"><h3 class="author"><span class="firstname">Bdale</span> <span class="surname">Garbee</span></h3></div></div><div><div class="author"><h3 class="author"><span class="firstname">Keith</span> <span class="surname">Packard</span></h3></div></div><div><p class="copyright">Copyright © 2010 Bdale Garbee and Keith Packard</p></div><div><div class="legalnotice" title="Legal Notice"><a name="id2559812"></a><p>
-        This document is released under the terms of the 
-        <a class="ulink" href="http://creativecommons.org/licenses/by-sa/3.0/" target="_top">
-          Creative Commons ShareAlike 3.0
-        </a>
-        license.
-      </p></div></div><div><div class="revhistory"><table border="1" width="100%" summary="Revision history"><tr><th align="left" valign="top" colspan="2"><b>Revision History</b></th></tr><tr><td align="left">Revision 0.3</td><td align="left">12 November 2010</td></tr><tr><td align="left" colspan="2">
-          Add instructions for re-flashing devices using AltosUI
-        </td></tr><tr><td align="left">Revision 0.2</td><td align="left">18 July 2010</td></tr><tr><td align="left" colspan="2">Significant update</td></tr><tr><td align="left">Revision 0.1</td><td align="left">30 March 2010</td></tr><tr><td align="left" colspan="2">Initial content</td></tr></table></div></div></div><hr></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="chapter"><a href="#id2555013">1. Introduction and Overview</a></span></dt><dt><span class="chapter"><a href="#id2540100">2. Getting Started</a></span></dt><dd><dl><dt><span class="section"><a href="#id2559795">FAQ</a></span></dt></dl></dd><dt><span class="chapter"><a href="#id2546901">3. Specifications</a></span></dt><dt><span class="chapter"><a href="#id2574755">4. Handling Precautions</a></span></dt><dt><span class="chapter"><a href="#id2547133">5. Hardware Overview</a></span></dt><dt><span class="chapter"><a href="#id2552998">6. Operation</a></span></dt><dd><dl><dt><span class="section"><a href="#id2556146">Firmware Modes </a></span></dt><dt><span class="section"><a href="#id2557858">GPS </a></span></dt><dt><span class="section"><a href="#id2572262">Ground Testing </a></span></dt><dt><span class="section"><a href="#id2572259">Radio Link </a></span></dt><dt><span class="section"><a href="#id2542980">Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#id2563251">Radio Channel</a></span></dt><dt><span class="section"><a href="#id2554165">Apogee Delay</a></span></dt><dt><span class="section"><a href="#id2571971">Main Deployment Altitude</a></span></dt></dl></dd><dt><span class="section"><a href="#id2550600">Calibration</a></span></dt><dd><dl><dt><span class="section"><a href="#id2574322">Radio Frequency</a></span></dt><dt><span class="section"><a href="#id2564433">Accelerometer</a></span></dt></dl></dd></dl></dd><dt><span class="chapter"><a href="#id2554553">7. Updating Device Firmware</a></span></dt><dd><dl><dt><span class="section"><a href="#id2569887">Updating TeleMetrum Firmware</a></span></dt><dt><span class="section"><a href="#id2552683">Updating TeleDongle Firmware</a></span></dt></dl></dd><dt><span class="chapter"><a href="#id2539483">8. Using Altus Metrum Products</a></span></dt><dd><dl><dt><span class="section"><a href="#id2558109">Being Legal</a></span></dt><dd><dl><dt><span class="section"><a href="#id2554650">In the Rocket</a></span></dt><dt><span class="section"><a href="#id2572268">On the Ground</a></span></dt><dt><span class="section"><a href="#id2569008">Data Analysis</a></span></dt><dt><span class="section"><a href="#id2563568">Future Plans</a></span></dt></dl></dd><dt><span class="section"><a href="#id2567979">
-        How GPS Works
-      </a></span></dt></dl></dd></dl></div><div class="chapter" title="Chapter 1. Introduction and Overview"><div class="titlepage"><div><div><h2 class="title"><a name="id2555013"></a>Chapter 1. Introduction and Overview</h2></div></div></div><p>
-      Welcome to the Altus Metrum community!  Our circuits and software reflect
-      our passion for both hobby rocketry and Free Software.  We hope their
-      capabilities and performance will delight you in every way, but by
-      releasing all of our hardware and software designs under open licenses,
-      we also hope to empower you to take as active a role in our collective
-      future as you wish!
-    </p><p>
-      The focal point of our community is TeleMetrum, a dual deploy altimeter 
-      with fully integrated GPS and radio telemetry as standard features, and
-      a "companion interface" that will support optional capabilities in the 
-      future.
-    </p><p>    
-      Complementing TeleMetrum is TeleDongle, a USB to RF interface for 
-      communicating with TeleMetrum.  Combined with your choice of antenna and 
-      notebook computer, TeleDongle and our associated user interface software
-      form a complete ground station capable of logging and displaying in-flight
-      telemetry, aiding rocket recovery, then processing and archiving flight
-      data for analysis and review.
-    </p><p>
-      More products will be added to the Altus Metrum family over time, and
-      we currently envision that this will be a single, comprehensive manual
-      for the entire product family.
-    </p></div><div class="chapter" title="Chapter 2. Getting Started"><div class="titlepage"><div><div><h2 class="title"><a name="id2540100"></a>Chapter 2. Getting Started</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2559795">FAQ</a></span></dt></dl></div><p>
-      This chapter began as "The Mere-Mortals Quick Start/Usage Guide to 
-      the Altus Metrum Starter Kit" by Bob Finch, W9YA, NAR 12965, TRA 12350, 
-      w9ya@amsat.org.  Bob was one of our first customers for a production
-      TeleMetrum, and the enthusiasm that led to his contribution of this
-      section is immensely gratifying and highy appreciated!
-    </p><p>
-      The first thing to do after you check the inventory of parts in your 
-      "starter kit" is to charge the battery by plugging it into the 
-      corresponding socket of the TeleMetrum and then using the USB A to B 
-      cable to plug the Telemetrum into your computer's USB socket. The 
-      TeleMetrum circuitry will charge the battery whenever it is plugged 
-      into the usb socket. The TeleMetrum's on-off switch does NOT control 
-      the charging circuitry.  When the GPS chip is initially searching for
-      satellites, the unit will pull more current than it can pull from the
-      usb port, so the battery must be plugged in order to get a good 
-      satellite lock.  Once GPS is locked the current consumption goes back 
-      down enough to enable charging while 
-      running. So it's a good idea to fully charge the battery as your 
-      first item of business so there is no issue getting and maintaining 
-      satellite lock.  The yellow charge indicator led will go out when the 
-      battery is nearly full and the charger goes to trickle charge.
-    </p><p>
-      The other active device in the starter kit is the half-duplex TeleDongle 
-      rf link.  If you plug it in to your computer it should "just work",
-      showing up as a serial port device.  If you are using Linux and are
-      having problems, try moving to a fresher kernel (2.6.33 or newer), as
-      there were some ugly USB serial driver bugs in earlier versions.
-    </p><p>
-      Next you should obtain and install the AltOS utilities.  The first
-      generation sofware was written for Linux only.  New software is coming
-      soon that will also run on Windows and Mac.  For now, we'll concentrate
-      on Linux.  If you are using Debian, an 'altos' package already exists, 
-      see http://altusmetrum.org/AltOS for details on how to install it.
-      User-contributed directions for building packages on ArchLinux may be 
-      found in the contrib/arch-linux directory as PKGBUILD files.
-      Between the debian/rules file and the PKGBUILD files in 
-      contrib, you should find enough information to learn how to build the 
-      software for any other version of Linux.
-    </p><p>
-      When you have successfully installed the software suite (either from 
-      compiled source code or as the pre-built Debian package) you will 
-      have 10 or so executable programs all of which have names beginning 
-      with 'ao-'.
-      ('ao-view' is the lone GUI-based program, the rest are command-line 
-      oriented.) You will also have man pages, that give you basic info 
-      on each program.
-      You will also get this documentation in two file types in the doc/ 
-      directory, telemetrum-doc.pdf and telemetrum-doc.html.
-      Finally you will have a couple control files that allow the ao-view 
-      GUI-based program to appear in your menu of programs (under 
-      the 'Internet' category). 
-    </p><p>
-      Both Telemetrum and TeleDongle can be directly communicated 
-      with using USB ports. The first thing you should try after getting 
-      both units plugged into to your computer's usb port(s) is to run 
-      'ao-list' from a terminal-window to see what port-device-name each 
-      device has been assigned by the operating system. 
-      You will need this information to access the devices via their 
-      respective on-board firmware and data using other command line
-      programs in the AltOS software suite.
-    </p><p>
-      To access the device's firmware for configuration you need a terminal
-      program such as you would use to talk to a modem.  The software 
-      authors prefer using the program 'cu' which comes from the UUCP package
-      on most Unix-like systems such as Linux.  An example command line for
-      cu might be 'cu -l /dev/ttyACM0', substituting the correct number 
-      indicated from running the
-      ao-list program.  Another reasonable terminal program for Linux is
-      'cutecom'.  The default 'escape' 
-      character used by CU (i.e. the character you use to
-      issue commands to cu itself instead of sending the command as input 
-      to the connected device) is a '~'. You will need this for use in 
-      only two different ways during normal operations. First is to exit 
-      the program by sending a '~.' which is called a 'escape-disconnect' 
-      and allows you to close-out from 'cu'. The
-      second use will be outlined later.
-    </p><p>
-      Both TeleMetrum and TeleDongle share the concept of a two level 
-      command set in their firmware.  
-      The first layer has several single letter commands. Once 
-      you are using 'cu' (or 'cutecom') sending (typing) a '?' 
-      returns a full list of these
-      commands. The second level are configuration sub-commands accessed 
-      using the 'c' command, for 
-      instance typing 'c?' will give you this second level of commands 
-      (all of which require the
-      letter 'c' to access).  Please note that most configuration options
-      are stored only in DataFlash memory, and only TeleMetrum has this
-      memory to save the various values entered like the channel number 
-      and your callsign when powered off.  TeleDongle requires that you
-      set these each time you plug it in, which ao-view can help with.
-    </p><p>
-      Try setting these config ('c' or second level menu) values.  A good
-      place to start is by setting your call sign.  By default, the boards
-      use 'N0CALL' which is cute, but not exactly legal!
-      Spend a few minutes getting comfortable with the units, their 
-      firmware, and 'cu' (or possibly 'cutecom').
-      For instance, try to send 
-      (type) a 'c r 2' and verify the channel change by sending a 'c s'. 
-      Verify you can connect and disconnect from the units while in your
-      terminal program by sending the escape-disconnect mentioned above.
-    </p><p>
-      Note that the 'reboot' command, which is very useful on TeleMetrum, 
-      will likely just cause problems with the dongle.  The *correct* way
-      to reset the dongle is just to unplug and re-plug it.
-    </p><p>
-      A fun thing to do at the launch site and something you can do while 
-      learning how to use these units is to play with the rf-link access 
-      of the TeleMetrum from the TeleDongle.  Be aware that you *must* create
-      some physical separation between the devices, otherwise the link will 
-      not function due to signal overload in the receivers in each device.
-    </p><p>
-      Now might be a good time to take a break and read the rest of this
-      manual, particularly about the two "modes" that the TeleMetrum 
-      can be placed in and how the position of the TeleMetrum when booting 
-      up will determine whether the unit is in "pad" or "idle" mode.
-    </p><p>
-      You can access a TeleMetrum in idle mode from the Teledongle's USB 
-      connection using the rf link
-      by issuing a 'p' command to the TeleDongle. Practice connecting and
-      disconnecting ('~~' while using 'cu') from the TeleMetrum.  If 
-      you cannot escape out of the "p" command, (by using a '~~' when in 
-      CU) then it is likely that your kernel has issues.  Try a newer version.
-    </p><p>
-      Using this rf link allows you to configure the TeleMetrum, test 
-      fire e-matches and igniters from the flight line, check pyro-match 
-      continuity and so forth. You can leave the unit turned on while it 
-      is in 'idle mode' and then place the
-      rocket vertically on the launch pad, walk away and then issue a 
-      reboot command.  The TeleMetrum will reboot and start sending data 
-      having changed to the "pad" mode. If the TeleDongle is not receiving 
-      this data, you can disconnect 'cu' from the Teledongle using the 
-      procedures mentioned above and THEN connect to the TeleDongle from 
-      inside 'ao-view'. If this doesn't work, disconnect from the
-      TeleDongle, unplug it, and try again after plugging it back in.
-    </p><p>
-      Eventually the GPS will find enough satellites, lock in on them, 
-      and 'ao-view' will both auditorially announce and visually indicate 
-      that GPS is ready.
-      Now you can launch knowing that you have a good data path and 
-      good satellite lock for flight data and recovery.  Remember 
-      you MUST tell ao-view to connect to the TeleDongle explicitly in 
-      order for ao-view to be able to receive data.
-    </p><p>
-      Both RDF (radio direction finding) tones from the TeleMetrum and 
-      GPS trekking data are available and together are very useful in 
-      locating the rocket once it has landed. (The last good GPS data 
-      received before touch-down will be on the data screen of 'ao-view'.)
-    </p><p>
-      Once you have recovered the rocket you can download the eeprom 
-      contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
-      either a USB cable or over the radio link using TeleDongle.
-      And by following the man page for 'ao-postflight' you can create 
-      various data output reports, graphs, and even kml data to see the 
-      flight trajectory in google-earth. (Moving the viewing angle making 
-      sure to connect the yellow lines while in google-earth is the proper
-      technique.)
-    </p><p>
-      As for ao-view.... some things are in the menu but don't do anything 
-      very useful.  The developers have stopped working on ao-view to focus
-      on a new, cross-platform ground station program.  So ao-view may or 
-      may not be updated in the future.  Mostly you just use 
-      the Log and Device menus.  It has a wonderful display of the incoming 
-      flight data and I am sure you will enjoy what it has to say to you 
-      once you enable the voice output!
-    </p><div class="section" title="FAQ"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2559795"></a>FAQ</h2></div></div></div><p>
-        The altimeter (TeleMetrum) seems to shut off when disconnected from the
-        computer.  Make sure the battery is adequately charged.  Remember the
-        unit will pull more power than the USB port can deliver before the 
-        GPS enters "locked" mode.  The battery charges best when TeleMetrum
-        is turned off.
-      </p><p>
-        It's impossible to stop the TeleDongle when it's in "p" mode, I have
-        to unplug the USB cable?  Make sure you have tried to "escape out" of 
-        this mode.  If this doesn't work the reboot procedure for the 
-        TeleDongle *is* to simply unplug it. 'cu' however will retain it's 
-        outgoing buffer IF your "escape out" ('~~') does not work. 
-        At this point using either 'ao-view' (or possibly
-        'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
-        communication.
-      </p><p>
-        The amber LED (on the TeleMetrum/altimeter) lights up when both 
-        battery and USB are connected. Does this mean it's charging? 
-        Yes, the yellow LED indicates the charging at the 'regular' rate. 
-        If the led is out but the unit is still plugged into a USB port, 
-        then the battery is being charged at a 'trickle' rate.
-      </p><p>
-        There are no "dit-dah-dah-dit" sound like the manual mentions?
-        That's the "pad" mode.  Weak batteries might be the problem.
-        It is also possible that the unit is horizontal and the output 
-        is instead a "dit-dit" meaning 'idle'.
-      </p><p>
-        It's unclear how to use 'ao-view' and other programs when 'cu' 
-        is running. You cannot have more than one program connected to 
-        the TeleDongle at one time without apparent data loss as the 
-        incoming data will not make it to both programs intact. 
-        Disconnect whatever programs aren't currently being used.
-      </p><p>
-        How do I save flight data?   
-        Live telemetry is written to file(s) whenever 'ao-view' is connected 
-        to the TeleDongle.  The file area defaults to ~/altos
-        but is easily changed using the menus in 'ao-view'. The files that 
-        are written end in '.telem'. The after-flight
-        data-dumped files will end in .eeprom and represent continuous data 
-        unlike the rf-linked .telem files that are subject to the 
-        turnarounds/data-packaging time slots in the half-duplex rf data path. 
-        See the above instructions on what and how to save the eeprom stored 
-        data after physically retrieving your TeleMetrum.  Make sure to save
-        the on-board data after each flight, as the current firmware will
-        over-write any previous flight data during a new flight.
-      </p></div></div><div class="chapter" title="Chapter 3. Specifications"><div class="titlepage"><div><div><h2 class="title"><a name="id2546901"></a>Chapter 3. Specifications</h2></div></div></div><div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem"><p>
-          Recording altimeter for model rocketry.
-        </p></li><li class="listitem"><p>
-          Supports dual deployment (can fire 2 ejection charges).
-        </p></li><li class="listitem"><p>
-          70cm ham-band transceiver for telemetry downlink.
-        </p></li><li class="listitem"><p>
-          Barometric pressure sensor good to 45k feet MSL.
-        </p></li><li class="listitem"><p>
-          1-axis high-g accelerometer for motor characterization, capable of 
-          +/- 50g using default part.
-        </p></li><li class="listitem"><p>
-          On-board, integrated GPS receiver with 5hz update rate capability.
-        </p></li><li class="listitem"><p>
-          On-board 1 megabyte non-volatile memory for flight data storage.
-        </p></li><li class="listitem"><p>
-          USB interface for battery charging, configuration, and data recovery.
-        </p></li><li class="listitem"><p>
-          Fully integrated support for LiPo rechargeable batteries.
-        </p></li><li class="listitem"><p>
-          Uses LiPo to fire e-matches, support for optional separate pyro 
-          battery if needed.
-        </p></li><li class="listitem"><p>
-          2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube.
-        </p></li></ul></div></div><div class="chapter" title="Chapter 4. Handling Precautions"><div class="titlepage"><div><div><h2 class="title"><a name="id2574755"></a>Chapter 4. Handling Precautions</h2></div></div></div><p>
-      TeleMetrum is a sophisticated electronic device.  When handled gently and
-      properly installed in an airframe, it will deliver impressive results.
-      However, like all electronic devices, there are some precautions you
-      must take.
-    </p><p>
-      The Lithium Polymer rechargeable batteries used with TeleMetrum have an 
-      extraordinary power density.  This is great because we can fly with
-      much less battery mass than if we used alkaline batteries or previous
-      generation rechargeable batteries... but if they are punctured 
-      or their leads are allowed to short, they can and will release their 
-      energy very rapidly!
-      Thus we recommend that you take some care when handling our batteries 
-      and consider giving them some extra protection in your airframe.  We 
-      often wrap them in suitable scraps of closed-cell packing foam before 
-      strapping them down, for example.
-    </p><p>
-      The TeleMetrum barometric sensor is sensitive to sunlight.  In normal 
-      mounting situations, it and all of the other surface mount components 
-      are "down" towards whatever the underlying mounting surface is, so
-      this is not normally a problem.  Please consider this, though, when
-      designing an installation, for example, in a 29mm airframe with a 
-      see-through plastic payload bay.
-    </p><p>
-      The TeleMetrum barometric sensor sampling port must be able to 
-      "breathe",
-      both by not being covered by foam or tape or other materials that might
-      directly block the hole on the top of the sensor, but also by having a
-      suitable static vent to outside air.  
-    </p><p>
-      As with all other rocketry electronics, TeleMetrum must be protected 
-      from exposure to corrosive motor exhaust and ejection charge gasses.
-    </p></div><div class="chapter" title="Chapter 5. Hardware Overview"><div class="titlepage"><div><div><h2 class="title"><a name="id2547133"></a>Chapter 5. Hardware Overview</h2></div></div></div><p>
-      TeleMetrum is a 1 inch by 2.75 inch circuit board.  It was designed to
-      fit inside coupler for 29mm airframe tubing, but using it in a tube that
-      small in diameter may require some creativity in mounting and wiring 
-      to succeed!  The default 1/4
-      wave UHF wire antenna attached to the center of the nose-cone end of
-      the board is about 7 inches long, and wiring for a power switch and
-      the e-matches for apogee and main ejection charges depart from the 
-      fin can end of the board.  Given all this, an ideal "simple" avionics 
-      bay for TeleMetrum should have at least 10 inches of interior length.
-    </p><p>
-      A typical TeleMetrum installation using the on-board GPS antenna and
-      default wire UHF antenna involves attaching only a suitable
-      Lithium Polymer battery, a single pole switch for power on/off, and 
-      two pairs of wires connecting e-matches for the apogee and main ejection
-      charges.  
-    </p><p>
-      By default, we use the unregulated output of the LiPo battery directly
-      to fire ejection charges.  This works marvelously with standard 
-      low-current e-matches like the J-Tek from MJG Technologies, and with 
-      Quest Q2G2 igniters.  However, if you
-      want or need to use a separate pyro battery, you can do so by adding
-      a second 2mm connector to position B2 on the board and cutting the
-      thick pcb trace connecting the LiPo battery to the pyro circuit between
-      the two silk screen marks on the surface mount side of the board shown
-      here [insert photo]
-    </p><p>
-      We offer two choices of pyro and power switch connector, or you can 
-      choose neither and solder wires directly to the board.  All three choices
-      are reasonable depending on the constraints of your airframe.  Our
-      favorite option when there is sufficient room above the board is to use
-      the Tyco pin header with polarization and locking.  If you choose this
-      option, you crimp individual wires for the power switch and e-matches
-      into a mating connector, and installing and removing the TeleMetrum
-      board from an airframe is as easy as plugging or unplugging two 
-      connectors.  If the airframe will not support this much height or if
-      you want to be able to directly attach e-match leads to the board, we
-      offer a screw terminal block.  This is very similar to what most other
-      altimeter vendors provide and so may be the most familiar option.  
-      You'll need a very small straight blade screwdriver to connect
-      and disconnect the board in this case, such as you might find in a
-      jeweler's screwdriver set.  Finally, you can forego both options and
-      solder wires directly to the board, which may be the best choice for
-      minimum diameter and/or minimum mass designs. 
-    </p><p>
-      For most airframes, the integrated GPS antenna and wire UHF antenna are
-      a great combination.  However, if you are installing in a carbon-fiber
-      electronics bay which is opaque to RF signals, you may need to use 
-      off-board external antennas instead.  In this case, you can order
-      TeleMetrum with an SMA connector for the UHF antenna connection, and
-      you can unplug the integrated GPS antenna and select an appropriate 
-      off-board GPS antenna with cable terminating in a U.FL connector.
-    </p></div><div class="chapter" title="Chapter 6. Operation"><div class="titlepage"><div><div><h2 class="title"><a name="id2552998"></a>Chapter 6. Operation</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2556146">Firmware Modes </a></span></dt><dt><span class="section"><a href="#id2557858">GPS </a></span></dt><dt><span class="section"><a href="#id2572262">Ground Testing </a></span></dt><dt><span class="section"><a href="#id2572259">Radio Link </a></span></dt><dt><span class="section"><a href="#id2542980">Configurable Parameters</a></span></dt><dd><dl><dt><span class="section"><a href="#id2563251">Radio Channel</a></span></dt><dt><span class="section"><a href="#id2554165">Apogee Delay</a></span></dt><dt><span class="section"><a href="#id2571971">Main Deployment Altitude</a></span></dt></dl></dd><dt><span class="section"><a href="#id2550600">Calibration</a></span></dt><dd><dl><dt><span class="section"><a href="#id2574322">Radio Frequency</a></span></dt><dt><span class="section"><a href="#id2564433">Accelerometer</a></span></dt></dl></dd></dl></div><div class="section" title="Firmware Modes"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2556146"></a>Firmware Modes </h2></div></div></div><p>
-        The AltOS firmware build for TeleMetrum has two fundamental modes,
-        "idle" and "flight".  Which of these modes the firmware operates in
-        is determined 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 TeleMetrum 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.
-      </p><p>
-        At power on, you will hear three beeps 
-        ("S" in Morse code for startup) and then a pause while 
-        TeleMetrum completes initialization and self tests, and decides which
-        mode to enter next.
-      </p><p>
-        In flight or "pad" mode, TeleMetrum turns on the GPS system, 
-        engages the flight
-        state machine, goes into transmit-only mode on the RF link sending 
-        telemetry, and waits for launch to be detected.  Flight mode is
-        indicated by an audible "di-dah-dah-dit" ("P" for pad) on the 
-        beeper, followed by
-        beeps indicating the state of the pyrotechnic igniter continuity.
-        One beep indicates apogee continuity, two beeps indicate
-        main continuity, three beeps indicate both apogee and main continuity,
-        and one longer "brap" sound indicates no continuity.  For a dual
-        deploy flight, make sure you're getting three beeps before launching!
-        For apogee-only or motor eject flights, do what makes sense.
-      </p><p>
-        In idle mode, you will hear an audible "di-dit" ("I" for idle), and
-        the normal flight state machine is disengaged, thus
-        no ejection charges will fire.  TeleMetrum also listens on the RF
-        link when in idle mode for packet mode requests sent from TeleDongle.
-        Commands can be issued to a TeleMetrum in idle mode over either
-        USB or the RF link equivalently.
-        Idle mode is useful for configuring TeleMetrum, for extracting data 
-        from the on-board storage chip after flight, and for ground testing
-        pyro charges.
-      </p><p>
-        One "neat trick" of particular value when TeleMetrum is used with very
-        large airframes, 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 airframe to launch position, use a TeleDongle to open
-        a packet connection, and issue a 'reset' command which will cause
-        TeleMetrum to reboot, realize it's now nose-up, and thus choose
-        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!
-      </p></div><div class="section" title="GPS"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2557858"></a>GPS </h2></div></div></div><p>
-        TeleMetrum includes a complete GPS receiver.  See a later section for
-        a brief explanation of how GPS works that will help you understand
-        the information in the telemetry stream.  The bottom line is that
-        the TeleMetrum GPS receiver needs to lock onto at least four 
-        satellites to obtain a solid 3 dimensional position fix and know 
-        what time it is!
-      </p><p>
-        TeleMetrum provides backup power to the GPS chip any time a LiPo
-        battery is connected.  This allows the receiver to "warm start" on
-        the launch rail much faster than if every power-on were a "cold start"
-        for the GPS receiver.  In typical operations, powering up TeleMetrum
-        on the flight line in idle mode while performing final airframe
-        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.
-      </p></div><div class="section" title="Ground Testing"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2572262"></a>Ground Testing </h2></div></div></div><p>
-        An important aspect of preparing a rocket using electronic deployment
-        for flight is ground testing the recovery system.  Thanks
-        to the bi-directional RF link central to the Altus Metrum system, 
-        this can be accomplished in a TeleMetrum-equipped rocket without as
-        much work as you may be accustomed to with other systems.  It can
-        even be fun!
-      </p><p>
-        Just prep the rocket for flight, then power up TeleMetrum while the
-        airframe is horizontal.  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.  Then, establish an
-        RF packet connection from a TeleDongle-equipped computer using the 
-        P command from a safe distance.  You can now command TeleMetrum to
-        fire the apogee or main charges to complete your testing.
-      </p><p>
-        In order to reduce the chance of accidental firing of pyrotechnic
-        charges, the command to fire a charge is intentionally somewhat
-        difficult to type, and the built-in help is slightly cryptic to 
-        prevent accidental echoing of characters from the help text back at
-        the board from firing a charge.  The command to fire the apogee
-        drogue charge is 'i DoIt drogue' and the command to fire the main
-        charge is 'i DoIt main'.
-      </p></div><div class="section" title="Radio Link"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2572259"></a>Radio Link </h2></div></div></div><p>
-        The chip our boards are based on incorporates an RF transceiver, but
-        it's not a full duplex system... each end can only be transmitting or
-        receiving at any given moment.  So we had to decide how to manage the
-        link.
-      </p><p>
-        By design, TeleMetrum firmware listens for an RF connection when
-        it's in "idle mode" (turned on while the rocket is horizontal), which
-        allows us to use the RF link to configure the rocket, do things like
-        ejection tests, and extract data after a flight without having to 
-        crack open the airframe.  However, when the board is in "flight 
-        mode" (turned on when the rocket is vertical) the TeleMetrum only 
-        transmits and doesn't listen at all.  That's because we want to put 
-        ultimate priority on event detection and getting telemetry out of 
-        the rocket and out over
-        the RF link in case the rocket crashes and we aren't able to extract
-        data later... 
-      </p><p>
-        We don't use a 'normal packet radio' mode because they're just too
-        inefficient.  The GFSK modulation we use is just FSK with the 
-        baseband pulses passed through a
-        Gaussian filter before they go into the modulator to limit the
-        transmitted bandwidth.  When combined with the hardware forward error
-        correction support in the cc1111 chip, this allows us to have a very
-        robust 38.4 kilobit data link with only 10 milliwatts of transmit power,
-        a whip antenna in the rocket, and a hand-held Yagi on the ground.  We've
-        had flights to above 21k feet AGL with good reception, and calculations
-        suggest we should be good to well over 40k feet AGL with a 5-element yagi on
-        the ground.  We hope to fly boards to higher altitudes soon, and would
-        of course appreciate customer feedback on performance in higher
-        altitude flights!
-      </p></div><div class="section" title="Configurable Parameters"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2542980"></a>Configurable Parameters</h2></div></div></div><p>
-        Configuring a TeleMetrum board for flight is very simple.  Because we
-        have both acceleration and pressure sensors, there is no need to set
-        a "mach delay", for example.  The few configurable parameters can all
-        be set using a simple terminal program over the USB port or RF link
-        via TeleDongle.
-      </p><div class="section" title="Radio Channel"><div class="titlepage"><div><div><h3 class="title"><a name="id2563251"></a>Radio Channel</h3></div></div></div><p>
-          Our firmware supports 10 channels.  The default channel 0 corresponds
-          to a center frequency of 434.550 Mhz, and channels are spaced every 
-          100 khz.  Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz.
-          At any given launch, we highly recommend coordinating who will use
-          each channel and when to avoid interference.  And of course, both 
-          TeleMetrum and TeleDongle must be configured to the same channel to
-          successfully communicate with each other.
-        </p><p>
-          To set the radio channel, use the 'c r' command, like 'c r 3' to set
-          channel 3.  
-          As with all 'c' sub-commands, follow this with a 'c w' to write the 
-          change to the parameter block in the on-board DataFlash chip on
-          your TeleMetrum board if you want the change to stay in place across reboots.
-        </p></div><div class="section" title="Apogee Delay"><div class="titlepage"><div><div><h3 class="title"><a name="id2554165"></a>Apogee Delay</h3></div></div></div><p>
-          Apogee delay is the number of seconds after TeleMetrum detects flight
-          apogee that the drogue charge should be fired.  In most cases, this
-          should be left at the default of 0.  However, if you are flying
-          redundant electronics such as for an L3 certification, you may wish 
-          to set one of your altimeters to a positive delay so that both 
-          primary and backup pyrotechnic charges do not fire simultaneously.
-        </p><p>
-          To set the apogee delay, use the [FIXME] command.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the 
-          change to the parameter block in the on-board DataFlash chip.
-        </p><p>
-          Please note that the TeleMetrum apogee detection algorithm always
-          fires a fraction of a second *after* apogee.  If you are also flying
-          an altimeter like the PerfectFlite MAWD, which only supports selecting
-          0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0
-          seconds delay and set the TeleMetrum to fire your backup 2 or 3
-          seconds later to avoid any chance of both charges firing 
-          simultaneously.  We've flown several airframes this way quite happily,
-          including Keith's successful L3 cert.
-        </p></div><div class="section" title="Main Deployment Altitude"><div class="titlepage"><div><div><h3 class="title"><a name="id2571971"></a>Main Deployment Altitude</h3></div></div></div><p>
-          By default, TeleMetrum will fire the main deployment charge at an
-          elevation of 250 meters (about 820 feet) above ground.  We think this
-          is a good elevation for most airframes, but feel free to change this 
-          to suit.  In particular, if you are flying two altimeters, you may
-          wish to set the
-          deployment elevation for the backup altimeter to be something lower
-          than the primary so that both pyrotechnic charges don't fire
-          simultaneously.
-        </p><p>
-          To set the main deployment altitude, use the [FIXME] command.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the 
-          change to the parameter block in the on-board DataFlash chip.
-        </p></div></div><div class="section" title="Calibration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2550600"></a>Calibration</h2></div></div></div><p>
-        There are only two calibrations required for a TeleMetrum board, and
-        only one for TeleDongle.
-      </p><div class="section" title="Radio Frequency"><div class="titlepage"><div><div><h3 class="title"><a name="id2574322"></a>Radio Frequency</h3></div></div></div><p>
-          The radio frequency is synthesized from a clock based on the 48 Mhz
-          crystal on the board.  The actual frequency of this oscillator must be
-          measured to generate a calibration constant.  While our GFSK modulation
-          bandwidth is wide enough to allow boards to communicate even when 
-          their oscillators are not on exactly the same frequency, performance
-          is best when they are closely matched.
-          Radio frequency calibration requires a calibrated frequency counter.
-          Fortunately, once set, the variation in frequency due to aging and
-          temperature changes is small enough that re-calibration by customers
-          should generally not be required.
-        </p><p>
-          To calibrate the radio frequency, connect the UHF antenna port to a
-          frequency counter, set the board to channel 0, and use the 'C' 
-          command to generate a CW carrier.  Wait for the transmitter temperature
-          to stabilize and the frequency to settle down.  
-          Then, divide 434.550 Mhz by the 
-          measured frequency and multiply by the current radio cal value show
-          in the 'c s' command.  For an unprogrammed board, the default value
-          is 1186611.  Take the resulting integer and program it using the 'c f'
-          command.  Testing with the 'C' command again should show a carrier
-          within a few tens of Hertz of the intended frequency.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the 
-          change to the parameter block in the on-board DataFlash chip.
-        </p></div><div class="section" title="Accelerometer"><div class="titlepage"><div><div><h3 class="title"><a name="id2564433"></a>Accelerometer</h3></div></div></div><p>
-          The accelerometer we use has its own 5 volt power supply and
-          the output must be passed through a resistive voltage divider to match
-          the input of our 3.3 volt ADC.  This means that unlike the barometric
-          sensor, the output of the acceleration sensor is not ratiometric to 
-          the ADC converter, and calibration is required.  We also support the 
-          use of any of several accelerometers from a Freescale family that 
-          includes at least +/- 40g, 50g, 100g, and 200g parts.  Using gravity,
-          a simple 2-point calibration yields acceptable results capturing both
-          the different sensitivities and ranges of the different accelerometer
-          parts and any variation in power supply voltages or resistor values
-          in the divider network.
-        </p><p>
-          To calibrate the acceleration sensor, use the 'c a 0' command.  You
-          will be prompted to orient the board vertically with the UHF antenna
-          up and press a key, then to orient the board vertically with the 
-          UHF antenna down and press a key.
-          As with all 'c' sub-commands, follow this with a 'c w' to write the 
-          change to the parameter block in the on-board DataFlash chip.
-        </p><p>
-          The +1g and -1g calibration points are included in each telemetry
-          frame and are part of the header extracted by ao-dumplog after flight.
-          Note that we always store and return raw ADC samples for each
-          sensor... nothing is permanently "lost" or "damaged" if the 
-          calibration is poor.
-        </p></div></div></div><div class="chapter" title="Chapter 7. Updating Device Firmware"><div class="titlepage"><div><div><h2 class="title"><a name="id2554553"></a>Chapter 7. Updating Device Firmware</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2569887">Updating TeleMetrum Firmware</a></span></dt><dt><span class="section"><a href="#id2552683">Updating TeleDongle Firmware</a></span></dt></dl></div><p>
-      The big conceptual thing to realize is that you have to use a
-      TeleDongle as a programmer to update a TeleMetrum, and vice versa.
-      Due to limited memory resources in the cc1111, we don't support
-      programming either unit directly over USB.
-    </p><p>
-      You may wish to begin by ensuring you have current firmware images.
-      These are distributed as part of the AltOS software bundle that
-      also includes the AltosUI ground station program.  Newer ground
-      station versions typically work fine with older firmware versions, 
-      so you don't need to update your devices just to try out new 
-      software features.  You can always download the most recent 
-      version from http://www.altusmetrum.org/AltOS/.
-    </p><p>
-      We recommend updating TeleMetrum first, before updating TeleDongle.
-    </p><div class="section" title="Updating TeleMetrum Firmware"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2569887"></a>Updating TeleMetrum Firmware</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> 
-          Find the 'programming cable' that you got as part of the starter
-          kit, that has a red 8-pin MicroMaTch connector on one end and a
-          red 4-pin MicroMaTch connector on the other end.  
-        </li><li class="listitem"> 
-          Take the 2 screws out of the TeleDongle case to get access 
-          to the circuit board.  
-        </li><li class="listitem">
-          Plug the 8-pin end of the programming cable to the
-          matching connector on the TeleDongle, and the 4-pin end to the
-          matching connector on the TeleMetrum.  
-        </li><li class="listitem">
-          Attach a battery to the TeleMetrum board.
-        </li><li class="listitem">
-          Plug the TeleDongle into your computer's USB port, and power 
-          up the TeleMetrum. 
-        </li><li class="listitem">
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </li><li class="listitem">
-          Pick the TeleDongle device from the list, identifying it as the 
-          programming device.
-        </li><li class="listitem">
-          Select the image you want put on the TeleMetrum, which should have a 
-          name in the form telemetrum-v1.0-0.7.1.ihx.  It should be visible 
-       in the default directory, if not you may have to poke around 
-       your system to find it.
-        </li><li class="listitem">
-          Make sure the configuration parameters are reasonable
-          looking. If the serial number and/or RF configuration
-          values aren't right, you'll need to change them.
-        </li><li class="listitem">
-          Hit the 'OK' button and the software should proceed to flash 
-          the TeleMetrum with new firmware, showing a progress bar.
-        </li><li class="listitem">
-          Confirm that the TeleMetrum board seems to have updated ok, which you
-          can do by plugging in to it over USB and using a terminal program
-          to connect to the board and issue the 'v' command to check
-          the version, etc.
-        </li><li class="listitem">
-          If something goes wrong, give it another try.
-        </li></ol></div></div><div class="section" title="Updating TeleDongle Firmware"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2552683"></a>Updating TeleDongle Firmware</h2></div></div></div><p>
-        Updating TeleDongle's firmware is just like updating TeleMetrum
-       firmware, but you switch which board is the programmer and which
-       is the programming target.
-       </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> 
-          Find the 'programming cable' that you got as part of the starter
-          kit, that has a red 8-pin MicroMaTch connector on one end and a
-          red 4-pin MicroMaTch connector on the other end.  
-        </li><li class="listitem">
-         Find the USB cable that you got as part of the starter kit, and
-         plug the "mini" end in to the mating connector on TeleMetrum.
-        </li><li class="listitem">
-          Take the 2 screws out of the TeleDongle case to get access 
-          to the circuit board.  
-        </li><li class="listitem">
-          Plug the 8-pin end of the programming cable to the (latching)
-          matching connector on the TeleMetrum, and the 4-pin end to the
-          matching connector on the TeleDongle.  
-        </li><li class="listitem">
-          Attach a battery to the TeleMetrum board.
-        </li><li class="listitem">
-          Plug both TeleMetrum and TeleDongle into your computer's USB 
-         ports, and power up the TeleMetrum. 
-        </li><li class="listitem">
-          Run AltosUI, and select 'Flash Image' from the File menu.
-        </li><li class="listitem">
-          Pick the TeleMongle device from the list, identifying it as the 
-          programming device.
-        </li><li class="listitem">
-          Select the image you want put on the TeleDongle, which should have a 
-          name in the form teledongle-v0.2-0.7.1.ihx.  It should be visible 
-       in the default directory, if not you may have to poke around 
-       your system to find it.
-        </li><li class="listitem">
-          Make sure the configuration parameters are reasonable
-          looking. If the serial number and/or RF configuration
-          values aren't right, you'll need to change them.  The TeleDongle
-         serial number is on the "bottom" of the circuit board, and can 
-         usually be read through the translucent blue plastic case without
-         needing to remove the board from the case.
-        </li><li class="listitem">
-          Hit the 'OK' button and the software should proceed to flash 
-          the TeleDongle with new firmware, showing a progress bar.
-        </li><li class="listitem">
-          Confirm that the TeleDongle board seems to have updated ok, which you
-          can do by plugging in to it over USB and using a terminal program
-          to connect to the board and issue the 'v' command to check
-          the version, etc.  Once you're happy, remove the programming cable
-         and put the cover back on the TeleDongle.     
-        </li><li class="listitem">
-          If something goes wrong, give it another try.
-        </li></ol></div><p>
-        Be careful removing the programming cable from the locking 8-pin
-        connector on TeleMetrum.  You'll need a fingernail or perhaps a thin
-        screwdriver or knife blade to gently pry the locking ears out 
-        slightly to extract the connector.  We used a locking connector on 
-        TeleMetrum to help ensure that the cabling to companion boards 
-        used in a rocket don't ever come loose accidentally in flight.
-      </p></div></div><div class="chapter" title="Chapter 8. Using Altus Metrum Products"><div class="titlepage"><div><div><h2 class="title"><a name="id2539483"></a>Chapter 8. Using Altus Metrum Products</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2558109">Being Legal</a></span></dt><dd><dl><dt><span class="section"><a href="#id2554650">In the Rocket</a></span></dt><dt><span class="section"><a href="#id2572268">On the Ground</a></span></dt><dt><span class="section"><a href="#id2569008">Data Analysis</a></span></dt><dt><span class="section"><a href="#id2563568">Future Plans</a></span></dt></dl></dd><dt><span class="section"><a href="#id2567979">
-        How GPS Works
-      </a></span></dt></dl></div><div class="section" title="Being Legal"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2558109"></a>Being Legal</h2></div></div></div><p>
-        First off, in the US, you need an [amateur radio license](../Radio) or 
-        other authorization to legally operate the radio transmitters that are part
-        of our products.
-      </p><div class="section" title="In the Rocket"><div class="titlepage"><div><div><h3 class="title"><a name="id2554650"></a>In the Rocket</h3></div></div></div><p>
-          In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and 
-          a LiPo rechargeable battery.  An 860mAh battery weighs less than a 9V 
-          alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours.
-        </p><p>
-          By default, we ship TeleMetrum with a simple wire antenna.  If your 
-          electronics bay or the airframe it resides within is made of carbon fiber, 
-          which is opaque to RF signals, you may choose to have an SMA connector 
-          installed so that you can run a coaxial cable to an antenna mounted 
-          elsewhere in the rocket.
-        </p></div><div class="section" title="On the Ground"><div class="titlepage"><div><div><h3 class="title"><a name="id2572268"></a>On the Ground</h3></div></div></div><p>
-          To receive the data stream from the rocket, you need an antenna and short 
-          feedline connected to one of our [TeleDongle](../TeleDongle) units.  The
-          TeleDongle in turn plugs directly into the USB port on a notebook 
-          computer.  Because TeleDongle looks like a simple serial port, your computer
-          does not require special device drivers... just plug it in.
-        </p><p>
-          Right now, all of our application software is written for Linux.  However, 
-          because we understand that many people run Windows or MacOS, we are working 
-          on a new ground station program written in Java that should work on all
-          operating systems.
-        </p><p>
-          After the flight, you can use the RF link to extract the more detailed data 
-          logged in the rocket, or you can use a mini USB cable to plug into the 
-          TeleMetrum board directly.  Pulling out the data without having to open up
-          the rocket is pretty cool!  A USB cable is also how you charge the LiPo 
-          battery, so you'll want one of those anyway... the same cable used by lots 
-          of digital cameras and other modern electronic stuff will work fine.
-        </p><p>
-          If your rocket lands out of sight, you may enjoy having a hand-held GPS 
-          receiver, so that you can put in a waypoint for the last reported rocket 
-          position before touch-down.  This makes looking for your rocket a lot like 
-          Geo-Cacheing... just go to the waypoint and look around starting from there.
-        </p><p>
-          You may also enjoy having a ham radio "HT" that covers the 70cm band... you 
-          can use that with your antenna to direction-find the rocket on the ground 
-          the same way you can use a Walston or Beeline tracker.  This can be handy 
-          if the rocket is hiding in sage brush or a tree, or if the last GPS position 
-          doesn't get you close enough because the rocket dropped into a canyon, or 
-          the wind is blowing it across a dry lake bed, or something like that...  Keith
-          and Bdale both currently own and use the Yaesu VX-7R at launches.
-        </p><p>
-          So, to recap, on the ground the hardware you'll need includes:
-          </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem"> 
-              an antenna and feedline
-            </li><li class="listitem"> 
-              a TeleDongle
-            </li><li class="listitem"> 
-              a notebook computer
-            </li><li class="listitem"> 
-              optionally, a handheld GPS receiver
-            </li><li class="listitem"> 
-              optionally, an HT or receiver covering 435 Mhz
-            </li></ol></div><p>
-        </p><p>
-          The best hand-held commercial directional antennas we've found for radio 
-          direction finding rockets are from 
-          <a class="ulink" href="http://www.arrowantennas.com/" target="_top">
-            Arrow Antennas.
-          </a>
-          The 440-3 and 440-5 are both good choices for finding a 
-          TeleMetrum-equipped rocket when used with a suitable 70cm HT.  
-        </p></div><div class="section" title="Data Analysis"><div class="titlepage"><div><div><h3 class="title"><a name="id2569008"></a>Data Analysis</h3></div></div></div><p>
-          Our software makes it easy to log the data from each flight, both the 
-          telemetry received over the RF link during the flight itself, and the more
-          complete data log recorded in the DataFlash memory on the TeleMetrum 
-          board.  Once this data is on your computer, our postflight tools make it
-          easy to quickly get to the numbers everyone wants, like apogee altitude, 
-          max acceleration, and max velocity.  You can also generate and view a 
-          standard set of plots showing the altitude, acceleration, and
-          velocity of the rocket during flight.  And you can even export a data file 
-          useable with Google Maps and Google Earth for visualizing the flight path 
-          in two or three dimensions!
-        </p><p>
-          Our ultimate goal is to emit a set of files for each flight that can be
-          published as a web page per flight, or just viewed on your local disk with 
-          a web browser.
-        </p></div><div class="section" title="Future Plans"><div class="titlepage"><div><div><h3 class="title"><a name="id2563568"></a>Future Plans</h3></div></div></div><p>
-          In the future, we intend to offer "companion boards" for the rocket that will
-          plug in to TeleMetrum to collect additional data, provide more pyro channels,
-          and so forth.  A reference design for a companion board will be documented
-          soon, and will be compatible with open source Arduino programming tools.
-        </p><p>
-          We are also working on the design of a hand-held ground terminal that will
-          allow monitoring the rocket's status, collecting data during flight, and
-          logging data after flight without the need for a notebook computer on the
-          flight line.  Particularly since it is so difficult to read most notebook
-          screens in direct sunlight, we think this will be a great thing to have.
-        </p><p>
-          Because all of our work is open, both the hardware designs and the software,
-          if you have some great idea for an addition to the current Altus Metrum family,
-          feel free to dive in and help!  Or let us know what you'd like to see that 
-          we aren't already working on, and maybe we'll get excited about it too... 
-        </p></div></div><div class="section" title="How GPS Works"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2567979"></a>
-        How GPS Works
-      </h2></div></div></div><p>
-        Placeholder.
-      </p></div></div></div></body></html>
+<!DOCTYPE html>
+<html lang="en">
+<head>
+<meta charset="UTF-8">
+<meta http-equiv="X-UA-Compatible" content="IE=edge">
+<meta name="viewport" content="width=device-width, initial-scale=1.0">
+<meta name="generator" content="Asciidoctor 2.0.16">
+<meta name="author" content="Keith Packard, Bdale Garbee, Bob Finch, Anthony Towns">
+<meta name="copyright" content="Bdale Garbee and Keith Packard 2021">
+<title>The Altus Metrum System: An Owner&#8217;s Manual for Altus Metrum Rocketry Electronics</title>
+<link rel="stylesheet" href="./am.css">
+</head>
+<body class="book">
+<div id="header">
+<h1>The Altus Metrum System: An Owner&#8217;s Manual for Altus Metrum Rocketry Electronics</h1>
+<div class="details">
+<span id="author" class="author">Keith Packard</span><br>
+<span id="email" class="email"><a href="mailto:keithp@keithp.com">keithp@keithp.com</a></span><br>
+<span id="author2" class="author">Bdale Garbee</span><br>
+<span id="email2" class="email"><a href="mailto:bdale@gag.com">bdale@gag.com</a></span><br>
+<span id="author3" class="author">Bob Finch</span><br>
+<span id="author4" class="author">Anthony Towns</span><br>
+<span id="revnumber">version v1.9.9,</span>
+<span id="revdate">06 Oct 2021</span>
+</div>
+<div id="toc" class="toc">
+<div id="toctitle">Table of Contents</div>
+<ul class="sectlevel1">
+<li><a href="#_license">License</a></li>
+<li><a href="#_acknowledgments">Acknowledgments</a></li>
+<li><a href="#_introduction_and_overview">1. Introduction and Overview</a></li>
+<li><a href="#_getting_started">2. Getting Started</a>
+<ul class="sectlevel2">
+<li><a href="#_batteries">2.1. Batteries</a></li>
+<li><a href="#_ground_station_hardware">2.2. Ground Station Hardware</a></li>
+<li><a href="#_linuxmacwindows_ground_station_software">2.3. Linux/Mac/Windows Ground Station Software</a></li>
+<li><a href="#_android_ground_station_software">2.4. Android Ground Station Software</a></li>
+</ul>
+</li>
+<li><a href="#_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</a>
+<ul class="sectlevel2">
+<li><a href="#_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</a></li>
+<li><a href="#_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</a></li>
+<li><a href="#_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</a></li>
+<li><a href="#_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</a></li>
+<li><a href="#_understanding_beeps">3.5. Understanding Beeps</a></li>
+<li><a href="#_turning_on_the_power">3.6. Turning On the Power</a></li>
+<li><a href="#_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</a></li>
+<li><a href="#_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</a></li>
+<li><a href="#_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</a></li>
+<li><a href="#_using_packet_link_mode">3.10. Using Packet Link Mode</a></li>
+</ul>
+</li>
+<li><a href="#_telemetrum">4. TeleMetrum</a>
+<ul class="sectlevel2">
+<li><a href="#_telemetrum_screw_terminals">4.1. TeleMetrum Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_telemetrum">4.2. Using a Separate Pyro Battery with TeleMetrum</a></li>
+<li><a href="#_using_an_active_switch_with_telemetrum">4.3. Using an Active Switch with TeleMetrum</a></li>
+</ul>
+</li>
+<li><a href="#_telemini">5. TeleMini</a>
+<ul class="sectlevel2">
+<li><a href="#_telemini_v3_screw_terminals">5.1. TeleMini v3 Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_telemini_v3">5.2. Using a Separate Pyro Battery with TeleMini v3</a></li>
+<li><a href="#_using_an_active_switch_with_telemini_v3">5.3. Using an Active Switch with TeleMini v3</a></li>
+<li><a href="#_using_packet_link_mode_with_telemini">5.4. Using Packet Link Mode with TeleMini</a></li>
+<li><a href="#_forcing_telemini_radio_parameters_to_known_defaults">5.5. Forcing TeleMini radio parameters to known defaults</a></li>
+<li><a href="#_telemini_v1">5.6. TeleMini v1</a></li>
+</ul>
+</li>
+<li><a href="#_easymini">6. EasyMini</a>
+<ul class="sectlevel2">
+<li><a href="#_easymini_screw_terminals">6.1. EasyMini Screw Terminals</a></li>
+<li><a href="#_connecting_a_battery_to_easymini">6.2. Connecting A Battery To EasyMini</a></li>
+<li><a href="#_charging_lithium_batteries">6.3. Charging Lithium Batteries</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_easymini">6.4. Using a Separate Pyro Battery with EasyMini</a></li>
+<li><a href="#_using_an_active_switch_with_easymini">6.5. Using an Active Switch with EasyMini</a></li>
+</ul>
+</li>
+<li><a href="#_telemega">7. TeleMega</a>
+<ul class="sectlevel2">
+<li><a href="#_telemega_screw_terminals">7.1. TeleMega Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_telemega">7.2. Using a Separate Pyro Battery with TeleMega</a></li>
+<li><a href="#_using_only_one_battery_with_telemega">7.3. Using Only One Battery With TeleMega</a></li>
+<li><a href="#_using_an_active_switch_with_telemega">7.4. Using an Active Switch with TeleMega</a></li>
+</ul>
+</li>
+<li><a href="#_easymega">8. EasyMega</a>
+<ul class="sectlevel2">
+<li><a href="#_easymega_screw_terminals">8.1. EasyMega Screw Terminals</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_easymega">8.2. Using a Separate Pyro Battery with EasyMega</a></li>
+<li><a href="#_using_only_one_battery_with_easymega">8.3. Using Only One Battery With EasyMega</a></li>
+<li><a href="#_using_an_active_switch_with_easymega">8.4. Using an Active Switch with EasyMega</a></li>
+</ul>
+</li>
+<li><a href="#_easytimer">9. EasyTimer</a>
+<ul class="sectlevel2">
+<li><a href="#_easytimer_screw_terminals">9.1. EasyTimer Screw Terminals</a></li>
+<li><a href="#_connecting_a_battery_to_easytimer">9.2. Connecting A Battery To EasyTimer</a></li>
+<li><a href="#_charging_lithium_batteries_2">9.3. Charging Lithium Batteries</a></li>
+<li><a href="#_using_a_separate_pyro_battery_with_easytimer">9.4. Using a Separate Pyro Battery with EasyTimer</a></li>
+<li><a href="#_using_an_active_switch_with_easytimer">9.5. Using an Active Switch with EasyTimer</a></li>
+</ul>
+</li>
+<li><a href="#_installation">10. Installation</a></li>
+<li><a href="#_using_altus_metrum_products">11. Using Altus Metrum Products</a>
+<ul class="sectlevel2">
+<li><a href="#_being_legal">11.1. Being Legal</a></li>
+<li><a href="#_in_the_rocket">11.2. In the Rocket</a></li>
+<li><a href="#_on_the_ground">11.3. On the Ground</a></li>
+<li><a href="#_data_analysis">11.4. Data Analysis</a></li>
+<li><a href="#_future_plans">11.5. Future Plans</a></li>
+</ul>
+</li>
+<li><a href="#_altosui">12. AltosUI</a>
+<ul class="sectlevel2">
+<li><a href="#_monitor_flight">12.1. Monitor Flight</a></li>
+<li><a href="#_save_flight_data">12.2. Save Flight Data</a></li>
+<li><a href="#_replay_flight">12.3. Replay Flight</a></li>
+<li><a href="#_graph_data">12.4. Graph Data</a></li>
+<li><a href="#_export_data">12.5. Export Data</a></li>
+<li><a href="#_configure_altimeter">12.6. Configure Altimeter</a></li>
+<li><a href="#_configure_altosui">12.7. Configure AltosUI</a></li>
+<li><a href="#_configure_groundstation">12.8. Configure Groundstation</a></li>
+<li><a href="#_flash_image">12.9. Flash Image</a></li>
+<li><a href="#_fire_igniter">12.10. Fire Igniter</a></li>
+<li><a href="#_scan_channels">12.11. Scan Channels</a></li>
+<li><a href="#_load_maps">12.12. Load Maps</a></li>
+<li><a href="#_monitor_idle">12.13. Monitor Idle</a></li>
+</ul>
+</li>
+<li><a href="#_altosdroid">13. AltosDroid</a>
+<ul class="sectlevel2">
+<li><a href="#_installing_altosdroid">13.1. Installing AltosDroid</a></li>
+<li><a href="#_charging_telebt_battery">13.2. Charging TeleBT Battery</a></li>
+<li><a href="#_connecting_to_telebt_over_bluetooth">13.3. Connecting to TeleBT over Bluetooth™</a></li>
+<li><a href="#_connecting_to_teledongle_or_telebt_over_usb">13.4. Connecting to TeleDongle or TeleBT over USB</a></li>
+<li><a href="#_altosdroid_menu">13.5. AltosDroid Menu</a></li>
+<li><a href="#_setup">13.6. Setup</a></li>
+<li><a href="#_idle_mode">13.7. Idle Mode</a></li>
+<li><a href="#_altosdroid_flight_monitoring">13.8. AltosDroid Flight Monitoring</a></li>
+<li><a href="#_pad">13.9. Pad</a></li>
+<li><a href="#_flight">13.10. Flight</a></li>
+<li><a href="#_recover">13.11. Recover</a></li>
+<li><a href="#_map_2">13.12. Map</a></li>
+<li><a href="#_downloading_flight_logs">13.13. Downloading Flight Logs</a></li>
+</ul>
+</li>
+<li><a href="#_system_operation">Appendix A: System Operation</a>
+<ul class="sectlevel2">
+<li><a href="#_firmware_modes">A.1. Firmware Modes</a></li>
+<li><a href="#_gps">A.2. GPS</a></li>
+<li><a href="#_controlling_an_altimeter_over_the_radio_link">A.3. Controlling An Altimeter Over The Radio Link</a></li>
+<li><a href="#_ground_testing">A.4. Ground Testing</a></li>
+<li><a href="#_radio_link">A.5. Radio Link</a></li>
+<li><a href="#_aprs">A.6. APRS</a></li>
+<li><a href="#_configurable_parameters">A.7. Configurable Parameters</a></li>
+</ul>
+</li>
+<li><a href="#_handling_precautions">Appendix B: Handling Precautions</a></li>
+<li><a href="#_updating_device_firmware">Appendix C: Updating Device Firmware</a>
+<ul class="sectlevel2">
+<li><a href="#_updating_telemega_telemetrum_v2_or_newer_telemini_v3_easymega_easymini_teledongle_v3_or_telebt_v3_firmware">C.1. Updating TeleMega, TeleMetrum v2 or newer, TeleMini v3, EasyMega, EasyMini, TeleDongle v3 or TeleBT v3 Firmware</a></li>
+<li><a href="#_pair_programming">C.2. Pair Programming</a></li>
+</ul>
+</li>
+<li><a href="#_flight_data_recording">Appendix D: Flight Data Recording</a></li>
+<li><a href="#_altus_metrum_hardware_specifications">Appendix E: Altus Metrum Hardware Specifications</a></li>
+<li><a href="#_release_notes">Appendix F: Release Notes</a>
+<ul class="sectlevel2">
+<li><a href="#_release_notes_for_version_1_9_9">F.1. Release Notes for Version 1.9.9</a></li>
+<li><a href="#_release_notes_for_version_1_9_8">F.2. Release Notes for Version 1.9.8</a></li>
+<li><a href="#_release_notes_for_version_1_9_7">F.3. Release Notes for Version 1.9.7</a></li>
+<li><a href="#_release_notes_for_version_1_9_6">F.4. Release Notes for Version 1.9.6</a></li>
+<li><a href="#_release_notes_for_version_1_9_5">F.5. Release Notes for Version 1.9.5</a></li>
+<li><a href="#_release_notes_for_version_1_9_4">F.6. Release Notes for Version 1.9.4</a></li>
+<li><a href="#_release_notes_for_version_1_9_3">F.7. Release Notes for Version 1.9.3</a></li>
+<li><a href="#_release_notes_for_version_1_9_2">F.8. Release Notes for Version 1.9.2</a></li>
+<li><a href="#_release_notes_for_version_1_9_1">F.9. Release Notes for Version 1.9.1</a></li>
+<li><a href="#_release_notes_for_version_1_9">F.10. Release Notes for Version 1.9</a></li>
+<li><a href="#_release_notes_for_version_1_8_7">F.11. Release Notes for Version 1.8.7</a></li>
+<li><a href="#_release_notes_for_version_1_8_6">F.12. Release Notes for Version 1.8.6</a></li>
+<li><a href="#_release_notes_for_version_1_8_5">F.13. Release Notes for Version 1.8.5</a></li>
+<li><a href="#_release_notes_for_version_1_8_4">F.14. Release Notes for Version 1.8.4</a></li>
+<li><a href="#_release_notes_for_version_1_8_3">F.15. Release Notes for Version 1.8.3</a></li>
+<li><a href="#_release_notes_for_version_1_8_2">F.16. Release Notes for Version 1.8.2</a></li>
+<li><a href="#_release_notes_for_version_1_8_1">F.17. Release Notes for Version 1.8.1</a></li>
+<li><a href="#_release_notes_for_version_1_8">F.18. Release Notes for Version 1.8</a></li>
+<li><a href="#_release_notes_for_version_1_7">F.19. Release Notes for Version 1.7</a></li>
+<li><a href="#_release_notes_for_version_1_6_8">F.20. Release Notes for Version 1.6.8</a></li>
+<li><a href="#_release_notes_for_version_1_6_5">F.21. Release Notes for Version 1.6.5</a></li>
+<li><a href="#_release_notes_for_version_1_6_4">F.22. Release Notes for Version 1.6.4</a></li>
+<li><a href="#_release_notes_for_version_1_6_3">F.23. Release Notes for Version 1.6.3</a></li>
+<li><a href="#_release_notes_for_version_1_6_2">F.24. Release Notes for Version 1.6.2</a></li>
+<li><a href="#_release_notes_for_version_1_6_1">F.25. Release Notes for Version 1.6.1</a></li>
+<li><a href="#_release_notes_for_version_1_6">F.26. Release Notes for Version 1.6</a></li>
+<li><a href="#_release_notes_for_version_1_5">F.27. Release Notes for Version 1.5</a></li>
+<li><a href="#_release_notes_for_version_1_4_2">F.28. Release Notes for Version 1.4.2</a></li>
+<li><a href="#_release_notes_for_version_1_4_1">F.29. Release Notes for Version 1.4.1</a></li>
+<li><a href="#_release_notes_for_version_1_4">F.30. Release Notes for Version 1.4</a></li>
+<li><a href="#_release_notes_for_version_1_3_2">F.31. Release Notes for Version 1.3.2</a></li>
+<li><a href="#_release_notes_for_version_1_3_1">F.32. Release Notes for Version 1.3.1</a></li>
+<li><a href="#_release_notes_for_version_1_3">F.33. Release Notes for Version 1.3</a></li>
+<li><a href="#_release_notes_for_version_1_2_1">F.34. Release Notes for Version 1.2.1</a></li>
+<li><a href="#_release_notes_for_version_1_2">F.35. Release Notes for Version 1.2</a></li>
+<li><a href="#_release_notes_for_version_1_1">F.36. Release Notes for Version 1.1</a></li>
+<li><a href="#_release_notes_for_version_1_1_2">F.37. Release Notes for Version 1.1</a></li>
+<li><a href="#_release_notes_for_version_1_0_1">F.38. Release Notes for Version 1.0.1</a></li>
+<li><a href="#_release_notes_for_version_0_9_2">F.39. Release Notes for Version 0.9.2</a></li>
+<li><a href="#_release_notes_for_version_0_9">F.40. Release Notes for Version 0.9</a></li>
+<li><a href="#_release_notes_for_version_0_8">F.41. Release Notes for Version 0.8</a></li>
+<li><a href="#_release_notes_for_version_0_7_1">F.42. Release Notes for Version 0.7.1</a></li>
+</ul>
+</li>
+</ul>
+</div>
+</div>
+<div id="content">
+<div id="preamble">
+<div class="sectionbody">
+<div id="logo" class="imageblock">
+<div class="content">
+<a class="image" href="https://altusmetrum.org"><img src="altusmetrum-oneline.svg" alt="Altus Metrum"></a>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_license">License</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Copyright © 2021 Bdale Garbee and Keith Packard</p>
+</div>
+<div class="paragraph">
+<p>This document is released under the terms of the <a href="http://creativecommons.org/licenses/by-sa/3.0/">Creative Commons ShareAlike 3.0 License</a></p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_acknowledgments">Acknowledgments</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing “The
+Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
+Kit” which formed the basis of the original Getting Started chapter
+in this manual.  Bob was one of our first customers for a production
+TeleMetrum, and his continued enthusiasm and contributions
+are immensely gratifying and highly appreciated!</p>
+</div>
+<div class="paragraph">
+<p>And thanks to Anthony (AJ) Towns for major contributions including
+the AltosUI graphing and site map code and associated documentation.
+Free software means that our customers and friends can become our
+collaborators, and we certainly appreciate this level of
+contribution!</p>
+</div>
+<div class="paragraph">
+<p>Have fun using these products, and we hope to meet all of you
+out on the rocket flight line somewhere.</p>
+</div>
+<div class="verseblock">
+<pre class="content">Bdale Garbee, KB0G
+NAR #87103, TRA #12201</pre>
+</div>
+<div class="verseblock">
+<pre class="content">Keith Packard, KD7SQG
+NAR #88757, TRA #12200</pre>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_introduction_and_overview">1. Introduction and Overview</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Welcome to the Altus Metrum community!  Our circuits and software reflect
+our passion for both hobby rocketry and Free Software.  We hope their
+capabilities and performance will delight you in every way, but by
+releasing all of our hardware and software designs under open licenses,
+we also hope to empower you to take as active a role in our collective
+future as you wish!</p>
+</div>
+<div class="paragraph">
+<p>Our goal is to include in this document all of the information required
+to successfully configure and use Altus Metrum products.  But
+documentation is a lot like software in that it can contain "bugs",
+and can probably always be improved!  If you have questions that
+aren&#8217;t answered in this manual, or just need a little help figuring
+things out, we strongly suggest joining the Altus Metrum user email
+list, which you can do by visiting
+<a href="https://lists.gag.com/mailman/listinfo/altusmetrum" class="bare">https://lists.gag.com/mailman/listinfo/altusmetrum</a>.  There&#8217;s a lot
+of useful information in the mailing list archives!</p>
+</div>
+<div class="paragraph">
+<p>The first device created for our community was TeleMetrum, a dual
+deploy altimeter with fully integrated GPS and radio telemetry
+as standard features, and a “companion interface” that will
+support optional capabilities in the future. The later versions
+of TeleMetrum, v2 and newer, have all of the same features but with
+improved sensors and radio to offer increased performance.</p>
+</div>
+<div class="paragraph">
+<p>Our second device was TeleMini, a dual deploy altimeter with
+radio telemetry and radio direction finding. The first version
+of this device was only 13mm by 38mm (½ inch by 1½ inches) and
+could fit easily in an 18mm air-frame. The latest version, v3.0,
+includes a beeper, higher power radio, extended on-board
+flight logging and an improved barometric sensor.</p>
+</div>
+<div class="paragraph">
+<p>TeleMega is our most sophisticated device, including six pyro
+channels (four of which are fully programmable), integrated GPS,
+integrated gyroscopes for staging/air-start inhibit and high
+performance telemetry.</p>
+</div>
+<div class="paragraph">
+<p>EasyMini is a dual-deploy altimeter with logging and built-in
+USB data download.</p>
+</div>
+<div class="paragraph">
+<p>EasyMega is essentially a TeleMega board with the GPS receiver
+and telemetry transmitter removed. It offers the same 6 pyro
+channels and integrated gyroscopes for staging/air-start inhibit.</p>
+</div>
+<div class="paragraph">
+<p>TeleDongle v0.2 was our first ground station, providing a USB to RF
+interfaces for communicating with the altimeters. Combined with
+your choice of antenna and notebook computer, TeleDongle and our
+associated user interface software form a complete ground
+station capable of logging and displaying in-flight telemetry,
+aiding rocket recovery, then processing and archiving flight
+data for analysis and review. The latest version, TeleDongle
+v3, has all new electronics with a higher performance radio
+for improved range.</p>
+</div>
+<div class="paragraph">
+<p>For a slightly more portable ground station experience that also
+provides direct rocket recovery support, TeleBT offers flight
+monitoring and data logging using a  Bluetooth™ connection between
+the receiver and an Android device that has the AltosDroid
+application installed from the Google Play store.</p>
+</div>
+<div class="paragraph">
+<p>More products will be added to the Altus Metrum family over time, and
+we currently envision that this will be a single, comprehensive manual
+for the entire product family.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_getting_started">2. Getting Started</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>The first thing to do after you open the box is to hook up a
+battery and charge it if necessary.</p>
+</div>
+<div class="sect2">
+<h3 id="_batteries">2.1. Batteries</h3>
+<div class="paragraph">
+<p>For TeleMetrum, TeleMega and EasyMega, the battery can be charged by plugging it into the
+corresponding socket of the device and then using the USB
+cable to plug the flight computer into your computer&#8217;s USB socket. The
+on-board circuitry will charge the battery whenever it is plugged
+in, because the on-off switch does NOT control the
+charging circuitry.
+The Lithium Polymer
+EasyTimer,
+TeleMini and
+EasyMini battery can be charged by disconnecting it
+from the board and plugging it into a standalone
+battery charger such as <a href="http://altusmetrum.org/LipoCharger">LipoCharger</a>, and
+connecting that via a USB cable to a laptop or other
+USB power source.</p>
+</div>
+<div class="paragraph">
+<p>You can also choose to use another battery with
+EasyTimer and
+EasyMini, anything supplying between 4 and 12 volts should
+work fine (like a standard 9V battery), but if you are planning
+to fire pyro charges, ground testing is required to verify that
+the battery supplies enough current to fire your chosen e-matches.</p>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/note.svg" alt="Note">
+</td>
+<td class="content">
+<div class="paragraph">
+<p>On TeleMetrum v1 boards, when the GPS chip is initially
+searching for satellites, TeleMetrum will consume more current
+than it pulls from the USB port, so the battery must be
+attached in order to get satellite lock.  Once GPS is locked,
+the current consumption goes back down enough to enable charging
+while running. So it&#8217;s a good idea to fully charge the battery
+as your first item of business so there is no issue getting and
+maintaining satellite lock.  The yellow charge indicator led
+will go out when the battery is nearly full and the charger goes
+to trickle charge. It can take several hours to fully recharge a
+deeply discharged battery.</p>
+</div>
+<div class="paragraph">
+<p>TeleMetrum v2 or newer, TeleMega and EasyMega use a
+higher power battery charger, allowing them to charge
+the battery while running the board at maximum
+power. When the battery is charging, or when the board
+is consuming a lot of power, the red LED will be
+lit. When the battery is fully charged, the green LED
+will be lit. When the battery is damaged or missing,
+both LEDs will be lit, which appears yellow.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_ground_station_hardware">2.2. Ground Station Hardware</h3>
+<div class="paragraph">
+<p>There are two ground stations available, the TeleDongle USB to
+RF interface and the TeleBT Bluetooth/USB to RF interface.  If
+you plug either of these in to your Mac or Linux computer it should
+“just work”, showing up as a serial port device.  Windows systems need
+driver information that is part of the AltOS download to know that the
+existing USB modem driver will work.  We therefore recommend installing
+our software before plugging in TeleDongle if you are using a Windows
+computer.  If you are using an older version of Linux and are having
+problems, try moving to a fresher kernel (2.6.33 or
+newer).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_linuxmacwindows_ground_station_software">2.3. Linux/Mac/Windows Ground Station Software</h3>
+<div class="paragraph">
+<p>Next you should obtain and install the AltOS software.
+The AltOS distribution includes the AltosUI ground
+station program, current firmware images for all of
+the hardware, and a number of standalone utilities
+that are rarely needed.  Pre-built binary packages are
+available for Linux, Microsoft Windows, Mac OSX. Full
+source code and build instructions are also
+available. The latest version may always be downloaded
+from <a href="http://altusmetrum.org/AltOS" class="bare">http://altusmetrum.org/AltOS</a></p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_android_ground_station_software">2.4. Android Ground Station Software</h3>
+<div class="paragraph">
+<p>TeleBT can also connect to an Android device over
+BlueTooth or USB. The
+<a href="https://play.google.com/store/apps/details?id=org.altusmetrum.AltosDroid">AltosDroid
+Android application</a> is available from the
+<a href="https://play.google.com">Google Play system</a>.</p>
+</div>
+<div class="paragraph">
+<p>You don&#8217;t need a data plan to use AltosDroid, but
+without network access, you&#8217;ll want to download
+offline map data before wandering away from the
+network.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_altus_metrum_hardware">3. Using Altus Metrum Hardware</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Here are general instructions for hooking up an Altus Metrum
+flight computer. Instructions specific to each model will be
+found in the section devoted to that model below.</p>
+</div>
+<div class="sect2">
+<h3 id="_wiring_and_electrical_interference">3.1. Wiring and Electrical Interference</h3>
+<div class="paragraph">
+<p>To prevent electrical interference from affecting the
+operation of the flight computer, it&#8217;s important to always
+twist pairs of wires connected to the board. Twist the switch
+leads, the pyro leads and the battery leads. This reduces
+interference through a mechanism called common mode rejection.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hooking_up_lithium_polymer_batteries">3.2. Hooking Up Lithium Polymer Batteries</h3>
+<div class="paragraph">
+<p>All Altus Metrum flight computers have a two pin JST PH
+series connector to connect up a single-cell Lithium Polymer
+cell (3.7V nominal). You can purchase matching batteries
+from the Altus Metrum store, or other vendors, or you can
+make your own. Pin 1 of the connector is positive, pin 2 is
+negative. Spark Fun sells a cable with the connector
+attached, which they call a
+<a href="https://www.sparkfun.com/products/9914">JST Jumper 2 Wire Assembly</a></p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Many RC vendors also sell lithium polymer batteries with
+this same connector. All that we have found use the opposite
+polarity, and if you use them that way, you will damage or
+destroy the flight computer.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hooking_up_pyro_charges">3.3. Hooking Up Pyro Charges</h3>
+<div class="paragraph">
+<p>Altus Metrum flight computers always have two screws for
+each pyro charge. This means you shouldn&#8217;t need to put two
+wires into a screw terminal or connect leads from pyro
+charges together externally.</p>
+</div>
+<div class="paragraph">
+<p>On the flight computer, one lead from each charge is hooked
+to the positive battery terminal through the power switch.
+The other lead is connected through the pyro circuit, which
+is connected to the negative battery terminal when the pyro
+circuit is fired.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_hooking_up_a_power_switch">3.4. Hooking Up a Power Switch</h3>
+<div class="paragraph">
+<p>Altus Metrum flight computers need an external power switch
+to turn them on. This disconnects both the computer and the
+pyro charges from the battery, preventing the charges from
+firing when in the Off position. The switch is in-line with
+the positive battery terminal.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_understanding_beeps">3.5. Understanding Beeps</h3>
+<div class="paragraph">
+<p>Altus Metrum flight computers include a beeper to
+provide information about the state of the system.
+TeleMini doesn&#8217;t have room for a beeper, so instead it
+uses an LED, which works the same, except for every
+beep is replaced with the flash of the LED.</p>
+</div>
+<div class="paragraph">
+<p>Here&#8217;s a short summary of all of the modes and the
+beeping
+(or flashing, in the case of TeleMini v1)
+that accompanies each mode. In the description of the
+beeping pattern, “dit” means a short beep while "dah"
+means a long beep (three times as long). “Brap” means
+a long dissonant tone.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 1. AltOS Modes</caption>
+<colgroup>
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 33.3333%;">
+<col style="width: 33.3335%;">
+</colgroup>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Mode Name</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Abbreviation</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Beeps</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Description</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Startup</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">S</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">battery voltage in decivolts</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Calibrating sensors, detecting orientation.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Idle</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">I</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ready to accept commands over USB
+or radio link.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pad</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">P</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dah dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Waiting for launch. Not listening for commands.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Boost</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Accelerating upwards.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Fast</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">F</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dah dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, but moving faster than 200m/s.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Coast</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dah dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Decelerating, moving slower than 200m/s</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Drogue</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Descending after apogee. Above main height.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">M</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dah</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Descending. Below main height.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Landed</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">L</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dah dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Stable altitude for at least ten seconds.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Sensor error</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">X</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dah dit dit dah</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Error detected during sensor calibration.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Here&#8217;s a summary of all of the Pad and Idle mode
+indications. In Idle mode, you&#8217;ll hear one of these
+just once after the two short dits indicating idle
+mode. In Pad mode, after the dit dah dah dit
+indicating Pad mode, you&#8217;ll hear these once every five
+seconds.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 2. Pad/Idle Indications</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Beeps</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Neither</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">brap</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No continuity detected on either apogee or main igniters.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on apogee igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on main igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Both</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected on both igniters.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Storage Full</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">warble</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">On-board data logging storage is full. This will
+not prevent the flight computer from safely
+controlling the flight or transmitting telemetry
+signals, but no record of the flight will be
+stored in on-board flash.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Additional Igniters</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">four very short beeps</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity indication for the additional pyro
+channels on TeleMega, EasyMega and EasyTimer. One high tone for
+no continuity, one low tone for continuity. On TeleMega and EasyMegay, these are
+produced after the continuity indicators for the two
+primary igniter channels.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>For devices with a radio transmitter, in addition to
+the digital and APRS telemetry signals, you can also
+receive audio tones with a standard amateur
+70cm FM receiver. While on the pad, you will hear
+igniter status once every five seconds.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 3. Pad Radio Indications</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Name</th>
+<th class="tableblock halign-left valign-top">Beeps</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Neither</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">½ second tone</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">No continuity detected on either apogee or main igniters.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on apogee igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected only on main igniter.</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Both</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">dit dit dit</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Continuity detected on both igniters.</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>During ascent, the tones will be muted to allow the
+telemetry data to consume the full radio bandwidth.</p>
+</div>
+<div class="paragraph">
+<p>During descent and after landing, a ½ second tone will
+be transmitted every five seconds. This can be used to
+find the rocket using RDF techniques when the signal
+is too weak to receive GPS information via telemetry
+or APRS.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_turning_on_the_power">3.6. Turning On the Power</h3>
+<div class="paragraph">
+<p>Connect a battery and power switch and turn the switch
+to "on". The flight computer will signal power on by
+reporting the battery voltage and then perform an internal self
+test and sensor calibration.</p>
+</div>
+<div class="paragraph">
+<p>Once the self test and calibration are complete, there
+are two modes that an Altus Metrum flight computer can
+operate in:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Flight/Pad</dt>
+<dd>
+<p>The flight computer is waiting to detect
+launch and then fly the rocket. In this mode, the USB
+link is
+disabled, and the radio goes into transmit-only mode.
+The only way to get out of this
+mode is to power the flight computer down. See below for how to get the flight
+computer to come up in Flight/Pad mode at power on.</p>
+</dd>
+<dt class="hdlist1">Idle</dt>
+<dd>
+<p>The flight computer is ready to communicate over USB
+and in packet mode over the radio.
+You can configure
+the flight computer, download data or display
+the current state. See below for how to get the flight
+computer to come up in Idle mode at power on.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>For flight computers with accelerometers (TeleMetrum,
+EasyMega, TeleMega and EasyTimer), the mode is selected by the
+orientation of the board during the self test
+interval. If the board is pointing upwards as if ready
+to fly, it will enter Flight/Pad mode. Otherwise, it will
+enter Idle mode.</p>
+</div>
+<div class="paragraph">
+<p>For EasyMini, if the USB cable is connected to a
+computer, it will enter Idle mode. Otherwise, it will
+enter Flight/Pad mode.</p>
+</div>
+<div class="paragraph">
+<p>For TeleMini v1.0, if a packet link is waiting to
+connect when the device is powered on, it will enter
+Idle mode, otherwise it will enter Flight/Pad mode.</p>
+</div>
+<div class="paragraph">
+<p>You can see in <a href="#_understanding_beeps">Understanding Beeps</a>
+how to tell which mode the flight computer is in.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_external_active_switch_circuit">3.7. Using an External Active Switch Circuit</h3>
+<div class="paragraph">
+<p>You can use an active switch circuit, such as the
+Featherweight Magnetic Switch, with any Altus Metrum
+flight computer. These require three connections, one to
+the battery, one to the positive power input on the flight
+computer and one to ground. Find instructions on how to
+hook these up for each flight computer below. Then follow
+the instructions that come with your active switch to
+connect it up.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery">3.8. Using a Separate Pyro Battery</h3>
+<div class="paragraph">
+<p>As mentioned above in <a href="#_hooking_up_pyro_charges">Hooking Up Pyro Charges</a>, one
+lead for each of the pyro charges is connected through
+the power switch directly to the positive battery
+terminal. The other lead is connected to the pyro
+circuit, which connects it to the negative battery
+terminal when the pyro circuit is fired. The pyro
+circuit on all of the flight computers is designed to
+handle up to 16V.</p>
+</div>
+<div class="paragraph">
+<p>To use a separate pyro battery, connect the negative pyro
+battery terminal to the flight computer ground terminal,
+the the switched positive battery terminal to the igniter
+and the other
+igniter lead to the negative pyro terminal on the flight
+computer. When the pyro channel fires, it will complete the
+circuit between the negative pyro terminal and the ground
+terminal, firing the igniter. Specific instructions on how
+to hook this up for each flight computer will be found
+in the section below for that flight computer.</p>
+</div>
+<div class="paragraph">
+<p>Note that you must include a switch in the positive lead of
+the pyro battery for safety, as the on-board power switch
+circuit on our product only controls current flow from the
+the primary or system battery!</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_different_kind_of_battery">3.9. Using a Different Kind of Battery</h3>
+<div class="paragraph">
+<p>EasyMini
+and EasyTimer are
+designed to use either a
+lithium polymer battery or any other battery producing
+between 4 and 12 volts, such as a rectangular 9V
+battery.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+TeleMini,
+TeleMega, EasyMega and TeleMetrum are only designed to
+operate off a single-cell Lithium Polymer battery and
+cannot be used with any other kind. Connecting a
+different kind of battery to any of these will destroy
+the board.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_packet_link_mode">3.10. Using Packet Link Mode</h3>
+<div class="paragraph">
+<p>All AltusMetrum flight computers that have a radio can
+communicate with the ground station software for
+configuration and other operations using the Packet
+Link mode. This uses radio communication instead of a
+USB cable. To set this up, the ground station software
+must be configured to the correct data rate, frequency
+and callsign.</p>
+</div>
+<div class="paragraph">
+<p>You can monitor Packet Link mode from TeleBT or
+TeleDongle by watching the LEDs. Each time the device
+transmits, the red LED will flash. When the link is
+busy, or when the link is not working, the device will
+transmit 10 times per second, so the LED will flash
+rapidly. When the link is working and there is no data
+to send, the link will flash once per second, and the
+LED will flash more slowly.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_telemetrum">4. TeleMetrum</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="telemetrum-v2.0-th.jpg" alt="telemetrum v2.0 th" width="400">
+</div>
+<div class="title">Figure 1. TeleMetrum v2 Board</div>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="telemetrum-v1.1-thside.jpg" alt="telemetrum v1.1 thside" width="400">
+</div>
+<div class="title">Figure 2. TeleMetrum v1 Board</div>
+</div>
+<div class="paragraph">
+<p>TeleMetrum is a 1 inch by 2¾ inch circuit board.  It was designed to
+fit inside coupler for 29mm air-frame tubing, but using it in a tube that
+small in diameter may require some creativity in mounting and wiring
+to succeed!  The presence of an accelerometer means TeleMetrum should
+be aligned along the flight axis of the airframe, and by default the ¼
+wave UHF wire antenna should be on the nose-cone end of the board.  The
+antenna wire is about 7 inches long, and wiring for a power switch and
+the e-matches for apogee and main ejection charges depart from the
+fin can end of the board, meaning an ideal “simple” avionics
+bay for TeleMetrum should have at least 10 inches of interior length.</p>
+</div>
+<div class="paragraph">
+<p>There are two generations of the TeleMetrum design. The
+major changes after v1 generation are:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>uBlox GPS chip certified for altitude records</p>
+</li>
+<li>
+<p>Higher power radio (40mW vs 10mW)</p>
+</li>
+<li>
+<p>APRS support</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Otherwise, they&#8217;re the same size, with mounting holes and
+screw terminals in the same position.</p>
+</div>
+<div class="sect2">
+<h3 id="_telemetrum_screw_terminals">4.1. TeleMetrum Screw Terminals</h3>
+<div class="paragraph">
+<p>TeleMetrum has six screw terminals on the end of the board
+opposite the telemetry antenna. Two are for the power
+switch, and two each for the apogee and main igniter
+circuits. Using the picture above and starting from the top,
+the terminals are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 4. TeleMetrum Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_telemetrum">4.2. Using a Separate Pyro Battery with TeleMetrum</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the positive battery terminal to
+one of the igniter leads and connecting the other igniter
+lead to the per-channel pyro circuit connection.</p>
+</div>
+<div class="paragraph">
+<p>To connect the negative battery terminal to the TeleMetrum
+ground, insert a small piece of wire, 24 to 28 gauge
+stranded, into the GND hole just above the screw terminal
+strip and solder it in place.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the switched positive battery terminal to the pyro
+charges must be done separate from TeleMetrum, by soldering
+them together or using some other connector. Note that you
+must include a switch in the positive lead from the pyro
+battery for safety!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (terminal 4
+for the Main charge, terminal 6 for the Apogee charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_telemetrum">4.3. Using an Active Switch with TeleMetrum</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on screw terminal
+2, the positive flight computer input is on terminal 1. To
+hook a lead to ground, solder a piece of wire, 24 to 28
+gauge stranded, to the GND hole just above terminal 1.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_telemini">5. TeleMini</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="telemini-v3.0-top.jpg" alt="telemini v3.0 top" width="400">
+</div>
+<div class="title">Figure 3. TeleMini v3 Board</div>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="telemini-v3.0-bottom.jpg" alt="telemini v3.0 bottom" width="400">
+</div>
+</div>
+<div class="paragraph">
+<p>TeleMini v3 is 0.5 inches by 1.67 inches.  It was
+designed to fit inside an 18mm air-frame tube, but using it in
+a tube that small in diameter may require some creativity in
+mounting and wiring to succeed!  Since there is no
+accelerometer, TeleMini can be mounted in any convenient
+orientation.  The default ¼ wave UHF wire antenna attached to
+the center of one end of the board is about 7 inches long. Screw
+terminals for the power switch are located in the
+middle of the board. Screw terminals for the e-matches for
+apogee and main ejection charges depart from the other end of
+the board, meaning an ideal “simple” avionics bay for TeleMini
+should have at least 9 inches of interior length.</p>
+</div>
+<div class="sect2">
+<h3 id="_telemini_v3_screw_terminals">5.1. TeleMini v3 Screw Terminals</h3>
+<div class="paragraph">
+<p>TeleMini v3 has four screw terminals on the end of the
+board opposite the telemetry antenna. Two are for the apogee
+and two are for main igniter circuits. Another two
+screw terminals are located in the middle of the board
+for the power switch.  Using the
+picture above and starting from the top for the pyro terminals
+and from the left for the power switch terminals, the
+connections are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 5. TeleMini v3 Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Left</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Right</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_telemini_v3">5.2. Using a Separate Pyro Battery with TeleMini v3</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the switched positive battery
+terminal to one of the igniter leads and connecting the other
+igniter lead to the per-channel pyro circuit connection.
+Because there is no solid ground connection to use on
+TeleMini, this is not recommended.</p>
+</div>
+<div class="paragraph">
+<p>The only available ground connection on TeleMini v3 are
+the two mounting holes next to the telemetry
+antenna. Somehow connect a small piece of wire to one of
+those holes and hook it to the negative pyro battery terminal.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the positive battery terminal to the pyro
+charges must be done separate from TeleMini v3, by soldering
+them together or using some other connector.  Note that you
+must include a switch in the pyro battery positive lead for
+safety!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (terminal 3 for the
+Main charge, terminal 1 for the Apogee charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_telemini_v3">5.3. Using an Active Switch with TeleMini v3</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground. Again,
+because TeleMini doesn&#8217;t have any good ground connection,
+this is not recommended.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on the Right
+power switch wire, the positive flight computer input is on
+the left power switch wire. Hook a lead to either of the
+mounting holes for a ground connection.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_packet_link_mode_with_telemini">5.4. Using Packet Link Mode with TeleMini</h3>
+<div class="paragraph">
+<p>After TeleMini powers up, it will check to see if some
+device is attempting to communicate with it using
+Packet Link Mode. If so, it will switch to idle mode
+and start communicating. To switch to flight mode,
+reboot the device either over the radio link or by
+powering it off and back on.</p>
+</div>
+<div class="paragraph">
+<p>If no ground station is attempting to communicate
+using Packet Link Mode, TeleMini will enter pad mode
+and prepare for flight.</p>
+</div>
+<div class="paragraph">
+<p>The sequence of operations to use Packet Link Mode
+with TeleMini is:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Configure the ground station data rate, frequency
+and callsign to match the TeleMini settings.</p>
+</li>
+<li>
+<p>Start Packet Link Mode in the ground station by
+selecting the desired operation (Safe Flight Data,
+Configure Altimeter, Fire Igniter or Monitor
+Idle). Select the TeleBT or TeleDongle device. The
+red LED should begin flashing rapidly.</p>
+</li>
+<li>
+<p>Turn on TeleMini. You should see the red LED flash
+very rapidly during the initial communication burst,
+but it should then slow down when the link is idle.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>Once TeleMini is in Idle mode, it will stay in that
+mode until rebooted. That means you can stop one
+Packet Link operation, wait a while and start another
+Packet Link operation.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_forcing_telemini_radio_parameters_to_known_defaults">5.5. Forcing TeleMini radio parameters to known defaults</h3>
+<div class="paragraph">
+<p>If you don&#8217;t know what the TeleMini frequency and
+callsign settings are, you can temporarily force it
+back to the original default values (frequency
+434.550MHz, callsign N0CALL) by connecting a wire
+between hole 3 and hole 6 on the debug connector. Hole
+3 has the square pad around it, hole 6 is the one
+nearest the MS5607 baro sensor, which is a rectangular
+component with a metal cap that has two holes in it.</p>
+</div>
+<div class="paragraph">
+<p>Once TeleMini has been powered up with this wire
+connected, the wire may be removed. The radio
+parameters will stay set to these default values until
+changed by the user or when the device is rebooted.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_telemini_v1">5.6. TeleMini v1</h3>
+<div class="paragraph">
+<p>TeleMini v1 is the earlier version of this product. It
+has a lower-power radio, less storage, no beeper and
+soldered-in wires instead of screw terminals for the
+power switch.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="telemini-v1-top.jpg" alt="telemini v1 top" width="400">
+</div>
+<div class="title">Figure 4. TeleMini v1 Board</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_easymini">6. EasyMini</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="easymini-top.jpg" alt="easymini top" width="400">
+</div>
+<div class="title">Figure 5. EasyMini Board</div>
+</div>
+<div class="paragraph">
+<p>EasyMini is built on a 0.8 inch by 1½ inch circuit board. It&#8217;s
+designed to fit in a 24mm coupler tube.</p>
+</div>
+<div class="paragraph">
+<p>You usually don&#8217;t need to configure EasyMini at all; it&#8217;s set
+up to do dual-deployment with an event at apogee to separate
+the airframe and deploy a drogue and another event at 250m
+(820ft) to deploy the main. Install EasyMini in your airframe,
+hook up a battery, igniters and a power switch and you&#8217;re
+ready to fly.</p>
+</div>
+<div class="sect2">
+<h3 id="_easymini_screw_terminals">6.1. EasyMini Screw Terminals</h3>
+<div class="paragraph">
+<p>EasyMini has two sets of four screw terminals near one end of the
+board. Using the picture
+above, the top four have connections for the main pyro
+circuit and an external battery and the bottom four have
+connections for the apogee pyro circuit and the power
+switch. Counting from the left, the connections are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 6. EasyMini Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Negative external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_connecting_a_battery_to_easymini">6.2. Connecting A Battery To EasyMini</h3>
+<div class="paragraph">
+<p>There are two possible battery connections on
+EasyMini. You can use either method; both feed
+through the power switch terminals.</p>
+</div>
+<div class="paragraph">
+<p>One battery connection is the standard Altus Metrum
+white JST plug. This mates with single-cell Lithium
+Polymer batteries sold by Altus Metrum.</p>
+</div>
+<div class="paragraph">
+<p>The other is a pair of screw terminals marked 'Battery
++' and 'Battery -'. Connect a battery from 4 to 12
+volts to these terminals, being careful to match polarity.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_charging_lithium_batteries">6.3. Charging Lithium Batteries</h3>
+<div class="paragraph">
+<p>Because EasyMini allows for batteries other than the
+standard Altus Metrum Lithium Polymer cells, it cannot
+incorporate a battery charger circuit. Therefore, when
+using a Litium Polymer cell, you&#8217;ll need an external
+charger. These are available from Altus Metrum, or
+from Spark Fun.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_easymini">6.4. Using a Separate Pyro Battery with EasyMini</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the positive battery terminal to
+one of the igniter leads and connecting the other igniter
+lead to the per-channel pyro circuit connection.</p>
+</div>
+<div class="paragraph">
+<p>To connect the negative pyro battery terminal to EasyMini
+ground, connect it to the negative external battery
+connection, top terminal 4.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the switched positive battery terminal to the pyro
+charges must be done separate from EasyMini, by soldering
+them together or using some other connector.  Note that for
+safety, you must put a switch between the pyro battery and
+the rest of the circuit!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (top
+terminal 1 for the Main charge, bottom terminal 1 for the
+Apogee charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_easymini">6.5. Using an Active Switch with EasyMini</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground. Use
+the negative external battery connection, top terminal 4 for
+ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on bottom
+terminal 4, the positive flight computer input is on the
+bottom terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_telemega">7. TeleMega</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="telemega-v1.0-top.jpg" alt="telemega v1.0 top" width="400">
+</div>
+<div class="title">Figure 6. TeleMega Board</div>
+</div>
+<div class="paragraph">
+<p>TeleMega is a 1¼ inch by 3¼ inch circuit board. It was
+designed to easily fit in a 38mm coupler. Like TeleMetrum,
+TeleMega has an accelerometer and so it must be mounted so that
+the board is aligned with the flight axis. It can be mounted
+either antenna up or down.</p>
+</div>
+<div class="paragraph">
+<p>TeleMega v2.0 has a few minor changes from v1.0:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Companion connector matches EasyMega functions</p>
+</li>
+<li>
+<p>Serial port connector replaced with servo connector with
+support for up to 4 PWM channels.</p>
+</li>
+<li>
+<p>Radio switched from cc1120 to cc1200.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>None of these affect operation using the stock firmware, but
+they do mean that the device needs different firmware to
+operate correctly, so make sure you load the right firmware
+when reflashing the device.</p>
+</div>
+<div class="sect2">
+<h3 id="_telemega_screw_terminals">7.1. TeleMega Screw Terminals</h3>
+<div class="paragraph">
+<p>TeleMega has two sets of nine screw terminals on the end of
+the board opposite the telemetry antenna. They are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 7. TeleMega Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for use with external active switch</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for negative pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lipo</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Power switch output. Use to connect main battery to pyro battery input</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel common connection to battery +</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_telemega">7.2. Using a Separate Pyro Battery with TeleMega</h3>
+<div class="paragraph">
+<p>TeleMega provides explicit support for an external pyro
+battery. All that is required is to remove the jumper
+between the lipo terminal (Bottom 3) and the pyro terminal
+(Bottom 2). Then hook the negative pyro battery terminal to
+ground (Bottom 1) and the switched positive pyro battery to
+the pyro battery input (Bottom 2). Note that you must include
+a switch between the pyro battery and the board for safety,
+as the on-board power switch circuit only supports the primary
+battery!  You can then use the existing pyro screw
+terminals to hook up all of the pyro charges.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_only_one_battery_with_telemega">7.3. Using Only One Battery With TeleMega</h3>
+<div class="paragraph">
+<p>Because TeleMega has built-in support for a separate pyro
+battery, if you want to fly with just one battery running
+both the computer and firing the charges, you need to
+connect the flight computer battery to the pyro
+circuit. TeleMega has two screw terminals for this—hook a
+wire from the Lipo terminal (Bottom 3) to the Pyro terminal
+(Bottom 2).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_telemega">7.4. Using an Active Switch with TeleMega</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on Top terminal
+1, the positive flight computer input is on Top terminal
+2. Ground is on Top terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_easymega">8. EasyMega</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="easymega-v1.0-top.jpg" alt="easymega v1.0 top" width="400">
+</div>
+<div class="title">Figure 7. EasyMega Board</div>
+</div>
+<div class="paragraph">
+<p>EasyMega is a 1¼ inch by 2¼ inch circuit board. It was
+designed to easily fit in a 38mm coupler. Like TeleMetrum,
+EasyMega has an accelerometer and so it must be mounted so that
+the board is aligned with the flight axis. It can be mounted
+either antenna up or down.</p>
+</div>
+<div class="sect2">
+<h3 id="_easymega_screw_terminals">8.1. EasyMega Screw Terminals</h3>
+<div class="paragraph">
+<p>EasyMega has two sets of nine screw terminals on the end of
+the board opposite the telemetry antenna. They are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 8. EasyMega Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for use with external active switch</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">D pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GND</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Ground connection for negative pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive pyro battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Lipo</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Power switch output. Use to connect main battery to pyro battery input</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B pyro channel common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 9</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">C pyro channel common connection to battery +</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_easymega">8.2. Using a Separate Pyro Battery with EasyMega</h3>
+<div class="paragraph">
+<p>EasyMega provides explicit support for an external pyro
+battery. All that is required is to remove the jumper
+between the lipo terminal (Bottom 3) and the pyro terminal
+(Bottom 2). Then hook the negative pyro battery terminal to
+ground (Bottom 1) and the switched positive pyro battery to
+the pyro battery input (Bottom 2). Note that you must include
+a switch between the pyro battery and the board for safety,
+as the on-board power switch circuit only supports the primary
+battery!  You can then use the existing pyro screw
+terminals to hook up all of the pyro charges.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_only_one_battery_with_easymega">8.3. Using Only One Battery With EasyMega</h3>
+<div class="paragraph">
+<p>Because EasyMega has built-in support for a separate pyro
+battery, if you want to fly with just one battery running
+both the computer and firing the charges, you need to
+connect the flight computer battery to the pyro
+circuit. EasyMega has two screw terminals for this—hook a
+wire from the Lipo terminal (Bottom 3) to the Pyro terminal
+(Bottom 2).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_easymega">8.4. Using an Active Switch with EasyMega</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on Top terminal
+1, the positive flight computer input is on Top terminal
+2. Ground is on Top terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_easytimer">9. EasyTimer</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="easytimer.jpg" alt="easytimer" width="400">
+</div>
+<div class="title">Figure 8. EasyTimer Board</div>
+</div>
+<div class="paragraph">
+<p>EasyTimer is built on a 0.8 inch by 1½ inch circuit board. It&#8217;s
+designed to fit in a 24mm coupler tube.</p>
+</div>
+<div class="paragraph">
+<p>EasyTimer is designed to control events during ascent. It has
+an accelerometer and gyroscope that can measure acceleration
+and rotation and compute speed and tilt angle. EasyTimer has
+two pyro channels which can be configured to fire at various
+points during flight. Because EasyTimer has no barometric
+sensor, it cannot be used to fire recovery charges at apogee
+or during descent. EasyTimer is configured using the AltosUI
+application which is available for Linux, Mac OS X and Windows.</p>
+</div>
+<div class="sect2">
+<h3 id="_easytimer_screw_terminals">9.1. EasyTimer Screw Terminals</h3>
+<div class="paragraph">
+<p>EasyTimer has two sets of four screw terminals near
+one end of the board. Using the picture above, the top
+four have connections for pyro channel B and an
+external battery and the bottom four have connections
+for pyro circuit A and the power switch. Counting from
+the left, the connections are as follows:</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 9. EasyTimer Screw Terminals</caption>
+<colgroup>
+<col style="width: 13.3333%;">
+<col style="width: 20%;">
+<col style="width: 66.6667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Terminal #</th>
+<th class="tableblock halign-left valign-top">Terminal Name</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel B connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel B common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Positive external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Top 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Battery -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Negative external battery terminal</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A -</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel A connection to pyro circuit</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A +</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro channel A common connection to battery +</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Output</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to flight computer</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Bottom 4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch Input</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Switch connection to positive battery terminal</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+<div class="sect2">
+<h3 id="_connecting_a_battery_to_easytimer">9.2. Connecting A Battery To EasyTimer</h3>
+<div class="paragraph">
+<p>There are two possible battery connections on
+EasyTimer. You can use either method; both feed
+through the power switch terminals.</p>
+</div>
+<div class="paragraph">
+<p>One battery connection is the standard Altus Metrum
+white JST plug. This mates with single-cell Lithium
+Polymer batteries sold by Altus Metrum.</p>
+</div>
+<div class="paragraph">
+<p>The other is a pair of screw terminals marked 'Battery
++' and 'Battery -'. Connect a battery from 4 to 12
+volts to these terminals, being careful to match polarity.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_charging_lithium_batteries_2">9.3. Charging Lithium Batteries</h3>
+<div class="paragraph">
+<p>Because EasyTimer allows for batteries other than the
+standard Altus Metrum Lithium Polymer cells, it cannot
+incorporate a battery charger circuit. Therefore, when
+using a Litium Polymer cell, you&#8217;ll need an external
+charger. These are available from Altus Metrum, or
+from Spark Fun.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_a_separate_pyro_battery_with_easytimer">9.4. Using a Separate Pyro Battery with EasyTimer</h3>
+<div class="paragraph">
+<p>As described above, using an external pyro battery involves
+connecting the negative battery terminal to the flight
+computer ground, connecting the positive battery terminal to
+one of the igniter leads and connecting the other igniter
+lead to the per-channel pyro circuit connection.</p>
+</div>
+<div class="paragraph">
+<p>To connect the negative pyro battery terminal to EasyTimer
+ground, connect it to the negative external battery
+connection, top terminal 4.</p>
+</div>
+<div class="paragraph">
+<p>Connecting the switched positive battery terminal to the pyro
+charges must be done separate from EasyTimer, by soldering
+them together or using some other connector.  Note that for
+safety, you must put a switch between the pyro battery and
+the rest of the circuit!</p>
+</div>
+<div class="paragraph">
+<p>The other lead from each pyro charge is then inserted into
+the appropriate per-pyro channel screw terminal (top
+terminal 1 for pyro channel A charge, bottom terminal 1 for
+pyro channel B charge).</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_using_an_active_switch_with_easytimer">9.5. Using an Active Switch with EasyTimer</h3>
+<div class="paragraph">
+<p>As explained above, an external active switch requires three
+connections, one to the positive battery terminal, one to
+the flight computer positive input and one to ground. Use
+the negative external battery connection, top terminal 4 for
+ground.</p>
+</div>
+<div class="paragraph">
+<p>The positive battery terminal is available on bottom
+terminal 4, the positive flight computer input is on the
+bottom terminal 3.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_installation">10. Installation</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>A typical installation involves attaching
+only a suitable battery, a single pole switch for
+power on/off, and two pairs of wires connecting e-matches for the
+apogee and main ejection charges.  All Altus Metrum products are
+designed for use with single-cell batteries with 3.7 volts
+nominal.
+EasyMini may also be used with other
+batteries as long as they supply between 4 and 12 volts.</p>
+</div>
+<div class="paragraph">
+<p>The battery connectors are a standard 2-pin JST connector; you
+can purchase suitable batteries from the any vendor selling
+Altus Metrum products. These batteries are
+single-cell Lithium Polymer batteries that nominally provide 3.7
+volts.  Other vendors sell similar batteries for RC aircraft
+using mating connectors, however the polarity for those is
+generally reversed from the batteries used by Altus Metrum
+products. In particular, the Tenergy batteries supplied for use
+in Featherweight flight computers are not compatible with Altus
+Metrum flight computers or battery chargers.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Check polarity and voltage before connecting any battery not
+purchased from Altus Metrum.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Spark Fun sells batteries that have a matching connector with
+the correct polarity. However, these batteries include an
+integrated current limiting circuit. That circuit will cause
+the battery to shut down when firing the igniter circuit. Do
+not use these batteries unless you remove the current limiting
+circuit.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>By default, we use the unregulated output of the battery
+directly to fire ejection charges.  This works marvelously
+with standard low-current e-matches like the J-Tek from MJG
+Technologies, and with Quest Q2G2 igniters.  However, if you
+want or need to use a separate pyro battery, check out
+<a href="#_using_a_separate_pyro_battery">Using a Separate Pyro Battery</a> for instructions on how to wire
+that up. The altimeters are designed to work with an external
+pyro battery of no more than 15 volts.</p>
+</div>
+<div class="paragraph">
+<p>Ejection charges are wired directly to the screw terminal block
+at the aft end of the altimeter.  You&#8217;ll need a very small straight
+blade screwdriver for these screws, such as you might find in a
+jeweler&#8217;s screwdriver set.</p>
+</div>
+<div class="paragraph">
+<p>Except for TeleMini v1.0, the flight computers also use the
+screw terminal block for the power switch leads. On TeleMini v1.0,
+the power switch leads are soldered directly to the board and
+can be connected directly to a switch.</p>
+</div>
+<div class="paragraph">
+<p>For most air-frames, the integrated antennas are more than
+adequate.   However, if you are installing in a carbon-fiber or
+metal electronics bay which is opaque to RF signals, you may need to
+use off-board external antennas instead.  In this case, you can
+replace the stock UHF antenna wire with an edge-launched SMA connector,
+and, on TeleMetrum v1, you can unplug the integrated GPS
+antenna and select an appropriate off-board GPS antenna with
+cable terminating in a U.FL connector.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_using_altus_metrum_products">11. Using Altus Metrum Products</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_being_legal">11.1. Being Legal</h3>
+<div class="paragraph">
+<p>In the US, you need an
+<a href="http://www.altusmetrum.org/Radio/">amateur radio license</a>
+or other authorization to legally operate the radio
+transmitters that are part of our products.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_in_the_rocket">11.2. In the Rocket</h3>
+<div class="paragraph">
+<p>In the rocket itself, you just need a flight computer
+and a single-cell, 3.7 volt nominal Li-Po rechargeable
+battery.
+An 850mAh battery weighs less than a 9V
+alkaline battery, and will run a TeleMetrum, TeleMega,
+EasyMega or EasyTimer for hours.
+A 110mAh battery weighs less
+than a triple A battery and is a good choice for use
+with
+TeleMini or
+EasyMini.</p>
+</div>
+<div class="paragraph">
+<p>By default, we ship TeleMini, TeleMetrum and TeleMega
+flight computers with a simple wire antenna.  If your
+electronics bay or the air-frame it resides within is
+made of carbon fiber, which is opaque to RF signals,
+you may prefer to install an SMA connector so that you
+can run a coaxial cable to an antenna mounted
+elsewhere in the rocket.  However, note that the GPS
+antenna is fixed on all current products, so you
+really want to install the flight computer in a bay
+made of RF-transparent materials if at all possible.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_on_the_ground">11.3. On the Ground</h3>
+<div class="paragraph">
+<p>To receive the data stream from the rocket, you need
+an antenna and short feed-line connected to one of our
+<a href="http://www.altusmetrum.org/TeleDongle/">TeleDongle</a>
+units.  If possible, use an SMA to BNC adapter instead
+of feedline between the antenna feedpoint and
+TeleDongle, as this will give you the best
+performance.  The TeleDongle in turn plugs directly
+into the USB port on a notebook computer.  Because
+TeleDongle looks like a simple serial port, your
+computer does not require special device
+drivers&#8230;&#8203; just plug it in.</p>
+</div>
+<div class="paragraph">
+<p>The GUI tool, AltosUI, is written in Java and runs
+across Linux, Mac OS and Windows. There&#8217;s also a suite
+of C tools for Linux which can perform most of the
+same tasks.</p>
+</div>
+<div class="paragraph">
+<p>Alternatively, a TeleBT attached with an SMA to BNC
+adapter at the feed point of a hand-held yagi used in
+conjunction with an Android device running AltosDroid
+makes an outstanding ground station.</p>
+</div>
+<div class="paragraph">
+<p>After the flight,
+you can use the radio link to
+extract the more detailed data logged in either
+TeleMetrum or TeleMini devices, or
+you can use a
+USB cable to plug into the flight computer board directly.
+A USB cable is also how you
+charge the Li-Po battery, so you&#8217;ll want one of those
+anyway. The same cable used by lots of digital
+cameras and other modern electronic stuff will work
+fine.</p>
+</div>
+<div class="paragraph">
+<p>If your rocket lands out of sight, you may enjoy
+having a hand-held GPS receiver, so that you can put
+in a way-point for the last reported rocket position
+before touch-down.  This makes looking for your rocket
+a lot like Geo-Caching&#8230;&#8203; just go to the way-point and
+look around starting from there.  AltosDroid on an
+Android device with GPS receiver works great for this,
+too!</p>
+</div>
+<div class="paragraph">
+<p>You may also enjoy having a ham radio “HT” that covers
+the 70cm band&#8230;&#8203; you can use that with your antenna to
+direction-find the rocket on the ground the same way
+you can use a Walston or Beeline tracker.  This can be
+handy if the rocket is hiding in sage brush or a tree,
+or if the last GPS position doesn&#8217;t get you close
+enough because the rocket dropped into a canyon, or
+the wind is blowing it across a dry lake bed, or
+something like that&#8230;&#8203;  Keith currently uses a Yaesu
+FT1D, Bdale has a Yaesu VX-7R, which is a nicer radio
+in most ways but doesn&#8217;t support APRS.</p>
+</div>
+<div class="paragraph">
+<p>So, to recap, on the ground the hardware you&#8217;ll need includes:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>an antenna and feed-line or adapter</p>
+</li>
+<li>
+<p>a TeleDongle</p>
+</li>
+<li>
+<p>a notebook computer</p>
+</li>
+<li>
+<p>optionally, a hand-held GPS receiver</p>
+</li>
+<li>
+<p>optionally, an HT or receiver covering 435 MHz</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The best hand-held commercial directional antennas we&#8217;ve found for radio
+direction finding rockets are from
+<a href="http://www.arrowantennas.com/">Arrow Antennas</a>.</p>
+</div>
+<div class="paragraph">
+<p>The 440-3 and 440-5 are both good choices for finding
+a TeleMetrum- or TeleMini- equipped rocket when used
+with a suitable 70cm HT.  TeleDongle and an SMA to BNC
+adapter fit perfectly between the driven element and
+reflector of Arrow antennas.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_data_analysis">11.4. Data Analysis</h3>
+<div class="paragraph">
+<p>Our software makes it easy to log the data from each
+flight, both the telemetry received during the flight
+itself, and the more complete data log recorded in the
+flash memory on the altimeter board.  Once this data
+is on your computer, our post-flight tools make it
+easy to quickly get to the numbers everyone wants,
+like apogee altitude, max acceleration, and max
+velocity.  You can also generate and view a standard
+set of plots showing the altitude, acceleration, and
+velocity of the rocket during flight.  And you can
+even export a flight log in a format usable with Google
+Maps and Google Earth for visualizing the flight path
+in two or three dimensions!</p>
+</div>
+<div class="paragraph">
+<p>Our ultimate goal is to emit a set of files for each
+flight that can be published as a web page per flight,
+or just viewed on your local disk with a web browser.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_future_plans">11.5. Future Plans</h3>
+<div class="paragraph">
+<p>We have designed and prototyped several “companion
+boards” that can attach to the companion connector on
+TeleMetrum, TeleMega and EasyMega flight computers to
+collect more data, provide more pyro channels, and so
+forth.  We do not yet know if or when any of these
+boards will be produced in enough quantity to sell.
+If you have specific interests for data collection or
+control of events in your rockets beyond the
+capabilities of our existing productions, please let
+us know!</p>
+</div>
+<div class="paragraph">
+<p>Because all of our work is open, both the hardware
+designs and the software, if you have some great idea
+for an addition to the current Altus Metrum family,
+feel free to dive in and help!  Or let us know what
+you&#8217;d like to see that we aren&#8217;t already working on,
+and maybe we&#8217;ll get excited about it too&#8230;&#8203;</p>
+</div>
+<div class="paragraph">
+<p>Watch our <a href="http://altusmetrum.org/">web site</a> for
+more news and information as our family of products
+evolves!</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_altosui">12. AltosUI</h2>
+<div class="sectionbody">
+<div class="imageblock">
+<div class="content">
+<img src="altosui.png" alt="altosui" width="450">
+</div>
+<div class="title">Figure 9. AltosUI Main Window</div>
+</div>
+<div class="paragraph">
+<p>The AltosUI program provides a graphical user interface for
+interacting with the Altus Metrum product family. AltosUI can
+monitor telemetry data, configure devices and many other
+tasks. The primary interface window provides a selection of
+buttons, one for each major activity in the system.  This
+chapter is split into sections, each of which documents one of
+the tasks provided from the top-level toolbar.</p>
+</div>
+<div class="sect2">
+<h3 id="_monitor_flight">12.1. Monitor Flight</h3>
+<div class="paragraph">
+<p>Selecting this item brings up a dialog box listing all
+of the connected TeleDongle devices. When you choose
+one of these, AltosUI will create a window to display
+telemetry data as received by the selected TeleDongle
+device.</p>
+</div>
+<div class="imageblock">
+<div class="content">
+<img src="device-selection.png" alt="device selection" width="300">
+</div>
+<div class="title">Figure 10. Device Selection Dialog</div>
+</div>
+<div class="paragraph">
+<p>All telemetry data received are automatically recorded
+in suitable log files. The name of the files includes
+the current date and rocket serial and flight numbers.</p>
+</div>
+<div class="paragraph">
+<p>The radio frequency being monitored by the TeleDongle
+device is displayed at the top of the window. You can
+configure the frequency by clicking on the frequency
+box and selecting the desired frequency. AltosUI
+remembers the last frequency selected for each
+TeleDongle and selects that automatically the next
+time you use that device.</p>
+</div>
+<div class="paragraph">
+<p>Below the TeleDongle frequency selector, the window
+contains a few significant pieces of information about
+the altimeter providing the telemetry data stream:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The configured call-sign</p>
+</li>
+<li>
+<p>The device serial number</p>
+</li>
+<li>
+<p>The flight number. Each altimeter remembers how
+many times it has flown.</p>
+</li>
+<li>
+<p>The rocket flight state. Each flight passes through
+several states including Pad, Boost, Fast, Coast,
+Drogue, Main and Landed.</p>
+</li>
+<li>
+<p>The Received Signal Strength Indicator value. This
+lets you know how strong a signal TeleDongle is
+receiving. At the default data rate, 38400 bps, in
+bench testing, the radio inside TeleDongle v0.2
+operates down to about -106dBm, while the v3 radio
+works down to about -111dBm.  Weaker signals, or an
+environment with radio noise may cause the data to
+not be received. The packet link uses error
+detection and correction techniques which prevent
+incorrect data from being reported.</p>
+</li>
+<li>
+<p>The age of the displayed data, in seconds since the
+last successfully received telemetry packet.  In
+normal operation this will stay in the low single
+digits.  If the number starts counting up, then you
+are no longer receiving data over the radio link
+from the flight computer.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Finally, the largest portion of the window contains a
+set of tabs, each of which contain some information
+about the rocket.  They&#8217;re arranged in 'flight order'
+so that as the flight progresses, the selected tab
+automatically switches to display data relevant to the
+current state of the flight. You can select other tabs
+at any time. The final 'table' tab displays all of the
+raw telemetry values in one place in a
+spreadsheet-like format.</p>
+</div>
+<div class="sect3">
+<h4 id="_launch_pad">12.1.1. Launch Pad</h4>
+<div class="imageblock">
+<div class="content">
+<img src="launch-pad.png" alt="launch pad" width="400">
+</div>
+<div class="title">Figure 11. Monitor Flight Launch Pad View</div>
+</div>
+<div class="paragraph">
+<p>The 'Launch Pad' tab shows information used to decide when the
+rocket is ready for flight. The first elements include red/green
+indicators, if any of these is red, you&#8217;ll want to evaluate
+whether the rocket is ready to launch:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Battery Voltage</dt>
+<dd>
+<p>This indicates whether the Li-Po battery powering the
+flight computer has sufficient charge to last for
+the duration of the flight. A value of more than
+3.8V is required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Apogee Igniter Voltage</dt>
+<dd>
+<p>This indicates whether the apogee
+igniter has continuity. If the igniter has a low
+resistance, then the voltage measured here will be close
+to the Li-Po battery voltage. A value greater than 3.2V is
+required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Main Igniter Voltage</dt>
+<dd>
+<p>This indicates whether the main
+igniter has continuity. If the igniter has a low
+resistance, then the voltage measured here will be close
+to the Li-Po battery voltage. A value greater than 3.2V is
+required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">On-board Data Logging</dt>
+<dd>
+<p>This indicates whether there is space remaining
+on-board to store flight data for the upcoming
+flight. If you&#8217;ve downloaded data, but failed to erase
+flights, there may not be any space left. Most of our
+flight computers can store multiple flights, depending
+on the configured maximum flight log size. TeleMini
+v1.0 stores only a single flight, so it will need to
+be downloaded and erased after each flight to capture
+data. This only affects on-board flight logging; the
+altimeter will still transmit telemetry and fire
+ejection charges at the proper times even if the
+flight data storage is full.</p>
+</dd>
+<dt class="hdlist1">GPS Locked</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether the GPS receiver is currently able to compute
+position information. GPS requires at least 4
+satellites to compute an accurate position.</p>
+</dd>
+<dt class="hdlist1">GPS Ready</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether GPS has reported at least 10 consecutive
+positions without losing lock. This ensures that the
+GPS receiver has reliable reception from the
+satellites.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The Launchpad tab also shows the computed launch pad
+position and altitude, averaging many reported
+positions to improve the accuracy of the fix.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_ascent">12.1.2. Ascent</h4>
+<div class="imageblock">
+<div class="content">
+<img src="ascent.png" alt="ascent" width="400">
+</div>
+<div class="title">Figure 12. Monitor Flight Ascent View</div>
+</div>
+<div class="paragraph">
+<p>This tab is shown during Boost, Fast and Coast
+phases. The information displayed here helps monitor the
+rocket as it heads towards apogee.</p>
+</div>
+<div class="paragraph">
+<p>The height, speed, acceleration and tilt are shown along
+with the maximum values for each of them. This allows you to
+quickly answer the most commonly asked questions you&#8217;ll hear
+during flight.</p>
+</div>
+<div class="paragraph">
+<p>The current latitude and longitude reported by the GPS are
+also shown. Note that under high acceleration, these values
+may not get updated as the GPS receiver loses position
+fix. Once the rocket starts coasting, the receiver should
+start reporting position again.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the current igniter voltages are reported as in the
+Launch Pad tab. This can help diagnose deployment failures
+caused by wiring which comes loose under high acceleration.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_descent">12.1.3. Descent</h4>
+<div class="imageblock">
+<div class="content">
+<img src="descent.png" alt="descent" width="400">
+</div>
+<div class="title">Figure 13. Monitor Flight Descent View</div>
+</div>
+<div class="paragraph">
+<p>Once the rocket has reached apogee and (we hope)
+activated the apogee charge, attention switches to
+tracking the rocket on the way back to the ground, and
+for dual-deploy flights, waiting for the main charge
+to fire.</p>
+</div>
+<div class="paragraph">
+<p>To monitor whether the apogee charge operated
+correctly, the current descent rate is reported along
+with the current height. Good descent rates vary based
+on the choice of recovery components, but generally
+range from 15-30m/s on drogue and should be below
+10m/s when under the main parachute in a dual-deploy
+flight.</p>
+</div>
+<div class="paragraph">
+<p>With GPS-equipped flight computers, you can locate the
+rocket in the sky using the elevation and bearing
+information to figure out where to look. Elevation is
+in degrees above the horizon. Bearing is reported in
+degrees relative to true north. Range can help figure
+out how big the rocket will appear. Ground Distance
+shows how far it is to a point directly under the
+rocket and can help figure out where the rocket is
+likely to land. Note that all of these values are
+relative to the pad location. If the elevation is near
+90°, the rocket is over the pad, not over you.</p>
+</div>
+<div class="paragraph">
+<p>Finally, the igniter voltages are reported in this tab
+as well, both to monitor the main charge as well as to
+see what the status of the apogee charge is.  Note
+that some commercial e-matches are designed to retain
+continuity even after being fired, and will continue
+to show as green or return from red to green after
+firing.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_landed">12.1.4. Landed</h4>
+<div class="imageblock">
+<div class="content">
+<img src="landed.png" alt="landed" width="400">
+</div>
+<div class="title">Figure 14. Monitor Flight Landed View</div>
+</div>
+<div class="paragraph">
+<p>Once the rocket is on the ground, attention switches
+to recovery. While the radio signal is often lost once
+the rocket is on the ground, the last reported GPS
+position is generally within a short distance of the
+actual landing location.</p>
+</div>
+<div class="paragraph">
+<p>The last reported GPS position is reported both by
+latitude and longitude as well as a bearing and
+distance from the launch pad. The distance should give
+you a good idea of whether to walk or hitch a ride.
+Take the reported latitude and longitude and enter
+them into your hand-held GPS unit and have that
+compute a track to the landing location.</p>
+</div>
+<div class="paragraph">
+<p>Our flight computers will continue to transmit RDF
+tones after landing, allowing you to locate the rocket
+by following the radio signal if necessary. You may
+need to get away from the clutter of the flight line,
+or even get up on a hill (or your neighbor&#8217;s RV roof)
+to receive the RDF signal.</p>
+</div>
+<div class="paragraph">
+<p>The maximum height, speed and acceleration reported
+during the flight are displayed for your admiring
+observers.  The accuracy of these immediate values
+depends on the quality of your radio link and how many
+packets were received.  Recovering the on-board data
+after flight may yield more precise results.</p>
+</div>
+<div class="paragraph">
+<p>To get more detailed information about the flight, you
+can click on the 'Graph Flight' button which will
+bring up a graph window for the current flight.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_table">12.1.5. Table</h4>
+<div class="imageblock">
+<div class="content">
+<img src="table.png" alt="table" width="400">
+</div>
+<div class="title">Figure 15. Monitor Flight Table View</div>
+</div>
+<div class="paragraph">
+<p>The table view shows all of the data available from the
+flight computer. Probably the most useful data on
+this tab is the detailed GPS information, which includes
+horizontal dilution of precision information, and
+information about the signal being received from the satellites.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_site_map">12.1.6. Site Map</h4>
+<div class="imageblock">
+<div class="content">
+<img src="site-map.png" alt="site map" width="400">
+</div>
+<div class="title">Figure 16. Monitor Flight Site Map View</div>
+</div>
+<div class="paragraph">
+<p>When the TeleMetrum has a GPS fix, the Site Map tab
+will map the rocket&#8217;s position to make it easier for
+you to locate the rocket, both while it is in the air,
+and when it has landed. The rocket&#8217;s state is
+indicated by color: white for pad, red for boost, pink
+for fast, yellow for coast, light blue for drogue,
+dark blue for main, and black for landed.</p>
+</div>
+<div class="paragraph">
+<p>The map&#8217;s default scale is approximately 3m (10ft) per
+pixel. The map can be dragged using the left mouse
+button. The map will attempt to keep the rocket
+roughly centered while data is being received.</p>
+</div>
+<div class="paragraph">
+<p>You can adjust the style of map and the zoom level
+with buttons on the right side of the map window. You
+can draw a line on the map by moving the mouse over
+the map with a button other than the left one pressed,
+or by pressing the left button while also holding down
+the shift key. The length of the line in real-world
+units will be shown at the start of the line.</p>
+</div>
+<div class="paragraph">
+<p>Images are fetched automatically via the Google Maps
+Static API, and cached on disk for reuse. If map
+images cannot be downloaded, the rocket&#8217;s path will be
+traced on a dark gray background instead.</p>
+</div>
+<div class="paragraph">
+<p>You can pre-load images for your favorite launch sites
+before you leave home; check out <a href="#_load_maps">Load Maps</a>.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_igniter">12.1.7. Igniter</h4>
+<div class="imageblock">
+<div class="content">
+<img src="ignitor.png" alt="ignitor" width="400">
+</div>
+<div class="title">Figure 17. Monitor Flight Additional Igniter View</div>
+</div>
+<div class="paragraph">
+<p>TeleMega includes four additional programmable pyro
+channels. The Ignitor tab shows whether each of them has
+continuity. If an ignitor has a low resistance, then the
+voltage measured here will be close to the pyro battery
+voltage. A value greater than 3.2V is required for a 'GO'
+status.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_save_flight_data">12.2. Save Flight Data</h3>
+<div class="paragraph">
+<p>The altimeter records flight data to its internal
+flash memory.
+Data logged on board is recorded at a much
+higher rate than the telemetry system can handle, and
+is not subject to radio drop-outs. As such, it
+provides a more complete and precise record of the
+flight.
+The 'Save Flight Data' button allows you to
+read the flash memory and write it to disk.</p>
+</div>
+<div class="paragraph">
+<p>Clicking on the 'Save Flight Data' button brings up a
+list of connected flight computers and TeleDongle
+devices. If you select a flight computer, the flight
+data will be downloaded from that device directly.
+If you select a TeleDongle device, flight data will be
+downloaded from a flight computer over radio link via
+the specified TeleDongle. See
+<a href="#_controlling_an_altimeter_over_the_radio_link">Controlling An Altimeter Over The Radio Link</a> for
+more information.</p>
+</div>
+<div class="paragraph">
+<p>After the device has been selected, a dialog showing
+the flight data saved in the device will be shown
+allowing you to select which flights to download and
+which to delete. With version 0.9 or newer firmware,
+you must erase flights in order for the space they
+consume to be reused by another flight. This prevents
+accidentally losing flight data if you neglect to
+download data before flying again. Note that if there
+is no more space available in the device, then no data
+will be recorded during the next flight.</p>
+</div>
+<div class="paragraph">
+<p>The file name for each flight log is computed
+automatically from the recorded flight date, altimeter
+serial number and flight number information.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_replay_flight">12.3. Replay Flight</h3>
+<div class="paragraph">
+<p>Select this button and you are prompted to select a flight
+record file, either a .telem file recording telemetry data or a
+.eeprom file containing flight data saved from the altimeter
+flash memory.</p>
+</div>
+<div class="paragraph">
+<p>Once a flight record is selected, the flight monitor interface
+is displayed and the flight is re-enacted in real
+time.
+Check
+<a href="#_monitor_flight">Monitor Flight</a> to learn how this window operates.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_graph_data">12.4. Graph Data</h3>
+<div class="paragraph">
+<p>Select this button and you are prompted to select a flight
+record file, either a .telem file recording telemetry data or a
+.eeprom file containing flight data saved from
+flash memory.</p>
+</div>
+<div class="paragraph">
+<p>Note that telemetry files will generally produce poor graphs
+due to the lower sampling rate and missed telemetry packets.
+Use saved flight data in .eeprom files for graphing where possible.</p>
+</div>
+<div class="paragraph">
+<p>Once a flight record is selected, a window with multiple tabs is
+opened.</p>
+</div>
+<div class="sect3">
+<h4 id="_flight_graph">12.4.1. Flight Graph</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph.png" alt="graph" width="400">
+</div>
+<div class="title">Figure 18. Flight Data Graph</div>
+</div>
+<div class="paragraph">
+<p>By default, the graph contains acceleration (blue),
+velocity (green) and altitude (red).</p>
+</div>
+<div class="paragraph">
+<p>The graph can be zoomed into a particular area by
+clicking and dragging down and to the right. Once
+zoomed, the graph can be reset by clicking and
+dragging up and to the left. Holding down control and
+clicking and dragging allows the graph to be panned.
+The right mouse button causes a pop-up menu to be
+displayed, giving you the option save or print the
+plot.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configure_graph">12.4.2. Configure Graph</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph-configure.png" alt="graph configure" width="400">
+</div>
+<div class="title">Figure 19. Flight Graph Configuration</div>
+</div>
+<div class="paragraph">
+<p>This selects which graph elements to show, and, at the
+very bottom. It also lets you configure how
+the graph is drawn:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Whether to use metric or imperial units</p>
+</li>
+<li>
+<p>Whether to show a marker at each data
+point. When displaying a small section of
+the graph, these can be useful to know what
+data values were recorded.</p>
+</li>
+<li>
+<p>How wide to draw the lines in the graph</p>
+</li>
+<li>
+<p>How to filter speed and acceleration data
+computed from barometric data. Flight
+computers with accelerometers never display
+computed acceleration data, and only use
+barometric data to compute speed during
+descent. Flight computers without
+accelerometers always compute both speed and
+acceleration from barometric data. A larger
+value smooths the data more.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_flight_statistics">12.4.3. Flight Statistics</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph-stats.png" alt="graph stats" width="400">
+</div>
+<div class="title">Figure 20. Flight Statistics</div>
+</div>
+<div class="paragraph">
+<p>Shows overall data computed from the flight.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_map">12.4.4. Map</h4>
+<div class="imageblock">
+<div class="content">
+<img src="graph-map.png" alt="graph map" width="400">
+</div>
+<div class="title">Figure 21. Flight Map</div>
+</div>
+<div class="paragraph">
+<p>Shows a satellite image of the flight area
+overlaid with the path of the flight. The
+flight path will have different colored
+sections for each state of the flight (just
+like the Site Map in Monitor Flight mode):
+white for pad, red for boost, pink for fast,
+yellow for coast, light blue for drogue, dark
+blue for main, and black for landed.</p>
+</div>
+<div class="paragraph">
+<p>The red concentric circles mark the launch
+pad, the black concentric circles mark the
+landing location. Data for the point along the
+along the flight path nearest the cursor will
+be displayed at the bottom of the window. This
+data includes flight time (so you can
+correlate data in the graph window), latitude,
+longitude, height above ground and vertical
+speed. The selected point will be highlighted
+with concentric circles in the same color as
+the flight path at that point.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_export_data">12.5. Export Data</h3>
+<div class="paragraph">
+<p>This tool takes the raw data files and makes them
+available for external analysis. When you select this
+button, you are prompted to select a flight data file,
+which can be either a .eeprom or .telem.  The .eeprom
+files contain higher resolution and more continuous
+data, while .telem files contain receiver signal
+strength information.  Next, a second dialog appears
+which is used to select where to write the resulting
+file.
+It has a selector to choose between CSV and KML
+file formats.</p>
+</div>
+<div class="sect3">
+<h4 id="_comma_separated_value_format">12.5.1. Comma Separated Value Format</h4>
+<div class="paragraph">
+<p>This is a text file containing the data in a form
+suitable for import into a spreadsheet or other
+external data analysis tool. The first few lines of
+the file contain the version and configuration
+information from the altimeter, then there is a single
+header line which labels all of the fields. All of
+these lines start with a '#' character which many
+tools can be configured to skip over.</p>
+</div>
+<div class="paragraph">
+<p>The remaining lines of the file contain the data, with
+each field separated by a comma and at least one
+space. All of the sensor values are converted to
+standard units, with the barometric data reported in
+both pressure, altitude and height above pad units.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_keyhole_markup_language_for_google_earth">12.5.2. Keyhole Markup Language (for Google Earth)</h4>
+<div class="paragraph">
+<p>This is the format used by Google Earth to provide an
+overlay within that application. With this, you can
+use Google Earth to see the whole flight path
+in 3D.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configure_altimeter">12.6. Configure Altimeter</h3>
+<div class="imageblock">
+<div class="content">
+<img src="configure-altimeter.png" alt="configure altimeter" width="350">
+</div>
+<div class="title">Figure 22. Altimeter Configuration</div>
+</div>
+<div class="paragraph">
+<p>Select this button and then select either an altimeter or
+TeleDongle Device from the list provided. Selecting a TeleDongle
+device will use the radio link to configure a remote
+altimeter.</p>
+</div>
+<div class="paragraph">
+<p>The first few lines of the dialog provide information about the
+connected device, including the product name,
+software version and hardware serial number. Below that are the
+individual configuration entries.</p>
+</div>
+<div class="paragraph">
+<p>At the bottom of the dialog, there are four buttons:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Save</dt>
+<dd>
+<p>This writes any changes to the configuration parameter
+block in flash memory. If you don&#8217;t press this button,
+any changes you make will be lost.</p>
+</dd>
+<dt class="hdlist1">Reset</dt>
+<dd>
+<p>This resets the dialog to the most recently saved
+values, erasing any changes you have made.</p>
+</dd>
+<dt class="hdlist1">Reboot</dt>
+<dd>
+<p>This reboots the device. Use this to switch from idle
+to pad mode by rebooting once the rocket is oriented
+for flight, or to confirm changes you think you saved
+are really saved.</p>
+</dd>
+<dt class="hdlist1">Close</dt>
+<dd>
+<p>This closes the dialog. Any unsaved changes will be
+lost.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The rest of the dialog contains the parameters to be configured.</p>
+</div>
+<div class="sect3">
+<h4 id="_main_deploy_altitude">12.6.1. Main Deploy Altitude</h4>
+<div class="paragraph">
+<p>This sets the altitude (above the recorded pad
+altitude) at which the 'main' igniter will fire. The
+drop-down menu shows some common values, but you can
+edit the text directly and choose whatever you
+like. If the apogee charge fires below this altitude,
+then the main charge will fire two seconds after the
+apogee charge fires.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_apogee_delay">12.6.2. Apogee Delay</h4>
+<div class="paragraph">
+<p>When flying redundant electronics, it&#8217;s often
+important to ensure that multiple apogee charges don&#8217;t
+fire at precisely the same time, as that can over
+pressurize the apogee deployment bay and cause a
+structural failure of the air-frame. The Apogee Delay
+parameter tells the flight computer to fire the apogee
+charge a certain number of seconds after apogee has
+been detected.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_apogee_lockout">12.6.3. Apogee Lockout</h4>
+<div class="paragraph">
+<p>Apogee lockout is the number of seconds after launch
+where the flight computer will not fire the apogee
+charge, even if the rocket appears to be at
+apogee. This is often called 'Mach Delay', as it is
+intended to prevent a flight computer from
+unintentionally firing apogee charges due to the
+pressure spike that occurrs across a mach
+transition. Altus Metrum flight computers include a
+Kalman filter which is not fooled by this sharp
+pressure increase, and so this setting should be left
+at the default value of zero to disable it.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.8.6 have a
+bug which resets the time since launch to zero each
+time a motor starts burning. Update firmware to get
+the correct behavior.
+</td>
+</tr>
+</table>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_frequency">12.6.4. Frequency</h4>
+<div class="paragraph">
+<p>This configures which of the frequencies to use for
+both telemetry and packet command mode. Note that if
+you set this value via packet command mode, the
+TeleDongle frequency will also be automatically
+reconfigured to match so that communication will
+continue afterwards.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_rf_calibration">12.6.5. RF Calibration</h4>
+<div class="paragraph">
+<p>The radios in every Altus Metrum device are calibrated
+at the factory to ensure that they transmit and
+receive on the specified frequency.  If you need to
+you can adjust the calibration by changing this value.
+Do not do this without understanding what the value
+means, read the appendix on calibration and/or the
+source code for more information.  To change a
+TeleDongle&#8217;s calibration, you must reprogram the unit
+completely.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telemetryrdfaprs_enable">12.6.6. Telemetry/RDF/APRS Enable</h4>
+<div class="paragraph">
+<p>Enables the radio for transmission during
+flight. When disabled, the radio will not
+transmit anything during flight at all.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telemetry_baud_rate">12.6.7. Telemetry baud rate</h4>
+<div class="paragraph">
+<p>This sets the modulation bit rate for data
+transmission for both telemetry and packet
+link mode. Lower bit rates will increase range
+while reducing the amount of data that can be
+sent and increasing battery consumption. All
+telemetry is done using a rate 1/2 constraint
+4 convolution code, so the actual data
+transmission rate is 1/2 of the modulation bit
+rate specified here.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_interval">12.6.8. APRS Interval</h4>
+<div class="paragraph">
+<p>How often to transmit GPS information via APRS
+(in seconds). When set to zero, APRS
+transmission is disabled.
+This option is
+available on TeleMetrum v2 or newer and TeleMega
+boards. TeleMetrum v1 boards cannot transmit
+APRS packets.
+Note that a single APRS packet
+takes nearly a full second to transmit, so
+enabling this option will prevent sending any
+other telemetry during that time.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_ssid">12.6.9. APRS SSID</h4>
+<div class="paragraph">
+<p>Which SSID to report in APRS packets. By
+default, this is set to the last digit of the
+serial number, but can be configured to any
+value from 0 to 9.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_format">12.6.10. APRS Format</h4>
+<div class="paragraph">
+<p>Whether to send APRS data in Compressed or
+Uncompressed format. Compressed format is
+smaller and more precise. Uncompressed
+format is older, but may work better with your
+device. The Kenwood TH-D72 only displays
+altitude information with Uncompressed
+format, while the Yaesu FT1D only displays
+altitude with Compressed format. Test before
+you fly to see which to use.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_aprs_offset">12.6.11. APRS Offset</h4>
+<div class="paragraph">
+<p>The delay from the top of the minute before sending
+the first APRS packet of the minute. Coordinating
+values for this parameter between multiple devices can
+allow a single receiver to reliably receive APRS
+packets from multiple devices. Note that this offset only
+takes effect while the GPS signal is locked so that the
+transmitting device knows the current time.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_callsign">12.6.12. Callsign</h4>
+<div class="paragraph">
+<p>This sets the call sign included in each
+telemetry packet. Set this as needed to
+conform to your local radio regulations.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_maximum_flight_log_size">12.6.13. Maximum Flight Log Size</h4>
+<div class="paragraph">
+<p>This sets the space (in kilobytes) allocated
+for each flight log. The available space will
+be divided into chunks of this size. A smaller
+value will allow more flights to be stored, a
+larger value will record data from longer
+flights.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_ignitor_firing_mode">12.6.14. Ignitor Firing Mode</h4>
+<div class="paragraph">
+<p>This configuration parameter allows the two standard ignitor
+channels (Apogee and Main) to be used in different
+configurations.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Dual Deploy</dt>
+<dd>
+<p>This is the usual mode of operation; the
+'apogee' channel is fired at apogee and the
+'main' channel at the height above ground
+specified by the 'Main Deploy Altitude' during
+descent.</p>
+</dd>
+<dt class="hdlist1">Redundant Apogee</dt>
+<dd>
+<p>This fires both channels at apogee, the
+'apogee' channel first followed after a two
+second delay by the 'main' channel.</p>
+</dd>
+<dt class="hdlist1">Redundant Main</dt>
+<dd>
+<p>This fires both channels at the height above
+ground specified by the Main Deploy Altitude
+setting during descent. The 'apogee' channel
+is fired first, followed after a two second
+delay by the 'main' channel.</p>
+</dd>
+<dt class="hdlist1">Separation &amp; Apogee</dt>
+<dd>
+<p>This fires the 'main' channel when the first motor
+burns out and fires the 'apogee' charge at apogee.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_pad_orientation">12.6.15. Pad Orientation</h4>
+<div class="paragraph">
+<p>Because they include accelerometers,
+TeleMetrum, TeleMega and EasyMega are
+sensitive to the orientation of the board. By
+default, they expect the antenna end to point
+forward. This parameter allows that default to
+be changed, permitting the board to be mounted
+with the antenna pointing aft instead.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Antenna Up</dt>
+<dd>
+<p>In this mode, the antenna (or beeper, for devices
+without an antenna) of the flight computer must point
+forward, in line with the expected flight path.</p>
+</dd>
+<dt class="hdlist1">Antenna Down</dt>
+<dd>
+<p>In this mode, the antenna (or beeper, for devices
+without an antenna) end of the flight computer must
+point aft, in line with the expected flight path.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_beeper_frequency">12.6.16. Beeper Frequency</h4>
+<div class="paragraph">
+<p>The beeper on all Altus Metrum flight
+computers works best at 4000Hz, however if you
+have more than one flight computer in a single
+airframe, having all of them sound at the same
+frequency can be confusing. This parameter
+lets you adjust the base beeper frequency
+value.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_logging_trigger_motion">12.6.17. Logging Trigger Motion</h4>
+<div class="paragraph">
+<p>This sets the amount of motion that TeleGPS
+needs to see before logging the new
+position. Motions smaller than this are
+skipped, which saves storage space.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_position_reporting_interval">12.6.18. Position Reporting Interval</h4>
+<div class="paragraph">
+<p>The interval between TeleGPS position reports,
+both over the air and in the log. Increase
+this to reduce the frequency of radio
+transmissions and the length of time available
+in the log.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_calibrate_accelerometer">12.6.19. Calibrate Accelerometer</h4>
+<div class="paragraph">
+<p>This opens a separate window to recalibrate the
+accelerometers. Follow the instructions, orienting the
+flight computer with the antenna end, or end opposite
+the screw terminals, in the case of EasyMega, first up
+and then down.</p>
+</div>
+<div class="paragraph">
+<p>When the calibration is complete, return to the
+Configure Altimeter window and save the new
+calibration values.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_configure_pyro_channels">12.6.20. Configure Pyro Channels</h4>
+<div class="imageblock">
+<div class="content">
+<img src="configure-pyro.png" alt="configure pyro" width="400">
+</div>
+<div class="title">Figure 23. Additional Pyro Channel Configuration</div>
+</div>
+<div class="paragraph">
+<p>This opens a separate window to configure the
+additional pyro channels available on TeleMega,
+EasyMega and EasyTimer.  One column is presented for
+each channel. Each row represents a single
+parameter, if enabled the parameter must meet
+the specified test for the pyro channel to be
+fired.</p>
+</div>
+<div class="paragraph">
+<p>Select conditions and set the related value;
+the pyro channel will be activated when <strong>all</strong>
+of the conditions are met. Each pyro channel
+has a separate set of configuration values, so
+you can use different values for the same
+condition with different channels.</p>
+</div>
+<div class="paragraph">
+<p>At the bottom of the window, the 'Pyro Firing
+Time' configuration sets the length of time
+(in seconds) which each of these pyro channels
+will fire for.</p>
+</div>
+<div class="paragraph">
+<p>Once you have selected the appropriate
+configuration for all of the necessary pyro
+channels, you can save the pyro configuration
+along with the rest of the flight computer
+configuration by pressing the 'Save' button in
+the main Configure Flight Computer window.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Vertical Acceleration</dt>
+<dd>
+<p>Select a value, and then choose whether
+acceleration away from the ground should be above or below that
+value. Acceleration is positive upwards, so accelerating towards the
+ground would produce negative numbers. Acceleration during descent is
+noisy and inaccurate, so be careful when using it during these phases
+of the flight.</p>
+</dd>
+<dt class="hdlist1">Ascent rate</dt>
+<dd>
+<p>Select a value, and then choose whether ascent rate
+should be above or below that value. Ascent rate is positive upwards,
+so moving towards the ground would produce negative numbers. Ascent
+rate during descent is a bit noisy and so be careful when using it
+during these phases of the flight.</p>
+</dd>
+<dt class="hdlist1">Height above pad</dt>
+<dd>
+<p>Select a value, and then choose whether the height
+above the launch pad should be above or below that value. Note that
+because EasyTimer has only a low-range accelerometer and no barometer,
+this value will not be very reliable on that device.</p>
+</dd>
+<dt class="hdlist1">Orientation</dt>
+<dd>
+<p>TeleMega, EasyMega and EasyTimer contain a 3-axis
+gyroscope and accelerometer which is used to compute the orientation
+of the rocket. A record of orientations over the last 0.64 seconds is
+kept and the largest value within this period is compared with the
+specified value. Note that the tilt angle is not the change in angle
+from the launch pad, but rather absolute relative to gravity—the
+3-axis accelerometer is used to compute the angle of the rocket on the
+launch pad and initialize the system.</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock note">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/note.svg" alt="Note">
+</td>
+<td class="content">
+<div class="paragraph">
+<p>Because this value is computed by integrating
+rate gyros, it gets progressively less
+accurate as the flight goes on. It should have
+an accumulated error of less than 0.2°/second
+(after 10 seconds of flight, the error should
+be less than 2°).</p>
+</div>
+<div class="paragraph">
+<p>The usual use of the orientation configuration
+is to ensure that the rocket is traveling
+mostly upwards when deciding whether to ignite
+air starts or additional stages. For that,
+choose a reasonable maximum angle (like 20°)
+and set the motor igniter to require an angle
+of less than that value.</p>
+</div>
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Flight Time</dt>
+<dd>
+<p>Time since launch. Select a value and choose whether to
+activate the pyro channel before or after that amount of time.</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.8.6 have a bug which resets the time
+since launch to zero each time a motor starts burning. Update firmware
+to get the correct behavior.
+</td>
+</tr>
+</table>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.9.8 cannot use times longer
+than 327.67 seconds. Update firmware if you need a longer time.
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Ascending</dt>
+<dd>
+<p>A deprecated configuration value which was the same as
+setting Ascent rate &gt; 0. Existing configurations using this will be
+cleared and must be reconfigured by the user.</p>
+</dd>
+<dt class="hdlist1">Descending</dt>
+<dd>
+<p>A deprecated configuration value which was the same as
+setting Ascent rate &lt; 0. Existing configurations using this will be
+cleared and must be reconfigured by the user.</p>
+</dd>
+<dt class="hdlist1">After Motor</dt>
+<dd>
+<p>The flight software counts each time the rocket starts
+accelerating and then decelerating (presumably due to a motor or
+motors burning). Use this value for multi-staged or multi-airstart
+launches. As of version 1.8.6 firmware, this checks to make sure at
+least this many motors have burned. Before version 1.8.6, this checked
+to make sure that exactly this many motors had burned.</p>
+</dd>
+<dt class="hdlist1">Delay</dt>
+<dd>
+<p>Once the other parameters all become true, a timer is
+started for the specified amount of time. While the timer is running,
+the other parameters are checked repeatedly and if any of them become
+false, then the pyro channel is disabled and will not fire. If the
+timer expires and all of the other parameters have remained true for
+the entire time, then the pyro channel is fired.</p>
+</dd>
+</dl>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+Firmware versions older than 1.9.8 cannot use delays longer
+than 327.67 seconds. Update firmware if you need a longer delay.
+</td>
+</tr>
+</table>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Flight State</dt>
+<dd>
+<p>The flight software tracks the flight
+through a sequence of states:</p>
+<div class="ulist">
+<ul>
+<li>
+<p>Boost. The motor has lit and the rocket is
+accelerating upwards. Ascent rate will be greater than zero.
+Vertical acceleration will be greater than zero.</p>
+</li>
+<li>
+<p>Fast. The motor has burned out and the
+rocket is decelerating, but it is going
+faster than 200m/s. Ascent rate will be greater than zero. Vertical
+acceleration will be less than zero.</p>
+</li>
+<li>
+<p>Coast. The rocket is still moving upwards
+and decelerating, but the Ascent rate is less
+than 200m/s. Ascent rate will greater than zero. Vertical
+acceleration will be less than zero.</p>
+</li>
+<li>
+<p>Drogue. The rocket has reached apogee and is heading back down, but
+is above the configured Main altitude. Ascent rate will be less
+than zero during this state. Vertical acceleration will be negative
+until the rocket reaches a terminal descent rate, at which point
+Vertical acceleration will be zero. Both Ascent rate and Vertical
+acceleration are very noisy in this state, so be careful when
+trying to use them to control pyro channels. This state selection
+is not available on EasyTimer.</p>
+</li>
+<li>
+<p>Main. The rocket is still descending, and
+is below the Main altitude. Ascent rate will be less than zero
+during this state. Vertical acceleration may be briefly less than
+zero as the rocket slows from drogue descent to main descent, but
+it will settle down to a zero value once the rocket has reached the
+terminal velocity under the main chute. Ascent rate and Vertical
+acceleration should be much less noisy once the main chute has
+deployed. This state selection is not available on EasyTimer.</p>
+</li>
+<li>
+<p>Landed. The rocket is no longer moving.</p>
+</li>
+</ul>
+</div>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>You can select a state to limit when the pyro channel may activate;
+note that the check is based on when the rocket transitions <strong>into</strong> the
+state, and so checking for “greater than Boost” means that the rocket
+is currently in boost or some later state.</p>
+</div>
+<div class="paragraph">
+<p>When a motor burns out, the rocket enters either Fast or Coast state
+(depending on how fast it is moving). If the computer detects upwards
+acceleration again, it will move back to Boost state.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configure_altosui">12.7. Configure AltosUI</h3>
+<div class="imageblock">
+<div class="content">
+<img src="configure-altosui.png" alt="configure altosui" width="230">
+</div>
+<div class="title">Figure 24. Configure AltosUI Dialog</div>
+</div>
+<div class="paragraph">
+<p>This button presents a dialog so that you can
+configure the AltosUI global settings.</p>
+</div>
+<div class="sect3">
+<h4 id="_voice_settings">12.7.1. Voice Settings</h4>
+<div class="paragraph">
+<p>AltosUI provides voice announcements during
+flight so that you can keep your eyes on the
+sky and still get information about the
+current flight status. However, sometimes you
+don&#8217;t want to hear them.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Enable</dt>
+<dd>
+<p>Turns all voice announcements on and off</p>
+</dd>
+<dt class="hdlist1">Test Voice</dt>
+<dd>
+<p>Plays a short message allowing you to verify
+that the audio system is working and the volume settings
+are reasonable</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_log_directory">12.7.2. Log Directory</h4>
+<div class="paragraph">
+<p>AltosUI logs all telemetry data and saves all
+flash data to this directory. This
+directory is also used as the staring point
+when selecting data files for display or
+export.</p>
+</div>
+<div class="paragraph">
+<p>Click on the directory name to bring up a
+directory choosing dialog, select a new
+directory and click 'Select Directory' to
+change where AltosUI reads and writes data
+files.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_callsign_2">12.7.3. Callsign</h4>
+<div class="paragraph">
+<p>This value is transmitted in each command
+packet sent from TeleDongle and received from
+an altimeter.  It is not used in telemetry
+mode, as the callsign configured in the
+altimeter board is included in all telemetry
+packets.  Configure this with the AltosUI
+operators call sign as needed to comply with
+your local radio regulations.</p>
+</div>
+<div class="paragraph">
+<p>Note that to successfully command a flight
+computer over the radio (to configure the
+altimeter, monitor idle, or fire pyro
+charges), the callsign configured here must
+exactly match the callsign configured in the
+flight computer.  This matching is case
+sensitive.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_imperial_units">12.7.4. Imperial Units</h4>
+<div class="paragraph">
+<p>This switches between metric units (meters)
+and imperial units (feet and miles). This
+affects the display of values use during
+flight monitoring, configuration, data
+graphing and all of the voice
+announcements. It does not change the units
+used when exporting to CSV files, those are
+always produced in metric units.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_serial_debug">12.7.5. Serial Debug</h4>
+<div class="paragraph">
+<p>This causes all communication with a connected
+device to be dumped to the console from which
+AltosUI was started. If you&#8217;ve started it from
+an icon or menu entry, the output will simply
+be discarded. This mode can be useful to debug
+various serial communication issues.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_font_size">12.7.6. Font size</h4>
+<div class="paragraph">
+<p>Selects the set of fonts used in the flight
+monitor window. Choose between the small,
+medium and large sets.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_look_feel">12.7.7. Look &amp; feel</h4>
+<div class="paragraph">
+<p>Switches between the available Java user
+interface appearances. The default selection
+is supposed to match the native window system
+appearance for the target platform.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_menu_position">12.7.8. Menu position</h4>
+<div class="paragraph">
+<p>Selects the initial position for the main
+AltosUI window that includes all of the
+command buttons.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_map_cache_size">12.7.9. Map Cache Size</h4>
+<div class="paragraph">
+<p>Sets the number of map 'tiles' kept in memory
+while the application is running. More tiles
+consume more memory, but will make panning
+around the map faster.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_manage_frequencies">12.7.10. Manage Frequencies</h4>
+<div class="paragraph">
+<p>This brings up a dialog where you can
+configure the set of frequencies shown in the
+various frequency menus. You can add as many
+as you like, or even reconfigure the default
+set. Changing this list does not affect the
+frequency settings of any devices, it only
+changes the set of frequencies shown in the
+menus.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configure_groundstation">12.8. Configure Groundstation</h3>
+<div class="imageblock">
+<div class="content">
+<img src="configure-groundstation.png" alt="configure groundstation" width="300">
+</div>
+<div class="title">Figure 25. Configure Groundstation Dialog</div>
+</div>
+<div class="paragraph">
+<p>Select this button and then select a TeleDongle or
+TeleBT Device from the list provided.</p>
+</div>
+<div class="paragraph">
+<p>The first few lines of the dialog provide information
+about the connected device, including the product
+name, software version and hardware serial
+number. Below that are the individual configuration
+entries.</p>
+</div>
+<div class="paragraph">
+<p>Note that TeleDongle and TeleBT don&#8217;t save any
+configuration data, the settings here are recorded on
+the local machine in the Java preferences
+database. Moving the device to another machine, or
+using a different user account on the same machine
+will cause settings made here to have no effect.</p>
+</div>
+<div class="paragraph">
+<p>At the bottom of the dialog, there are three
+buttons:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Save</dt>
+<dd>
+<p>This writes any changes to the local Java
+preferences file. If you don&#8217;t press this
+button, any changes you make will be lost.</p>
+</dd>
+<dt class="hdlist1">Reset</dt>
+<dd>
+<p>This resets the dialog to the most recently
+saved values, erasing any changes you have
+made.</p>
+</dd>
+<dt class="hdlist1">Close</dt>
+<dd>
+<p>This closes the dialog. Any unsaved changes
+will be lost.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The rest of the dialog contains the parameters
+to be configured.</p>
+</div>
+<div class="sect3">
+<h4 id="_frequency_2">12.8.1. Frequency</h4>
+<div class="paragraph">
+<p>This configures the frequency to use for both
+telemetry and packet command mode. Set this
+before starting any operation involving packet
+command mode so that it will use the right
+frequency. Telemetry monitoring mode also
+provides a menu to change the frequency, and
+that menu also sets the same Java preference
+value used here.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_rf_calibration_2">12.8.2. RF Calibration</h4>
+<div class="paragraph">
+<p>The radios in every Altus Metrum device are
+calibrated at the factory to ensure that they
+transmit and receive on the specified
+frequency.  To change a TeleDongle or TeleBT&#8217;s
+calibration, you must reprogram the unit
+completely, so this entry simply shows the
+current value and doesn&#8217;t allow any changes.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telemetry_rate">12.8.3. Telemetry Rate</h4>
+<div class="paragraph">
+<p>This lets you match the telemetry and packet
+link rate from the transmitter. If they don&#8217;t
+match, the device won&#8217;t receive any data.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_flash_image">12.9. Flash Image</h3>
+<div class="paragraph">
+<p>This reprograms Altus Metrum devices with new
+firmware.
+TeleMetrum v1.x, TeleDongle v0.2, TeleMini v1.0
+and TeleBT v1.0 are all reprogrammed by using another
+similar unit as a programming dongle (pair
+programming).
+TeleMega, EasyMega, TeleMetrum v2 or newer,
+EasyMini, EasyTimer, TeleBT v3 or newer and TeleDongle v3
+or newer are all
+programmed directly
+over USB (self programming). Please read
+the directions for flashing devices in
+<a href="#_updating_device_firmware">Updating Device Firmware</a>.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_fire_igniter">12.10. Fire Igniter</h3>
+<div class="imageblock">
+<div class="content">
+<img src="fire-igniter.png" alt="fire igniter" width="120">
+</div>
+<div class="title">Figure 26. Fire Igniter Window</div>
+</div>
+<div class="paragraph">
+<p>This activates the igniter circuits in the flight
+computer to help test recovery systems
+deployment.
+Because this command can operate over the
+Packet Command Link, you can prepare the rocket as for
+flight and then test the recovery system without
+needing to snake wires inside the air-frame.</p>
+</div>
+<div class="paragraph">
+<p>Selecting the 'Fire Igniter' button brings up the
+usual device selection dialog. Pick the desired
+device. This brings up another window which shows the
+current continuity test status for all of the pyro
+channels.</p>
+</div>
+<div class="paragraph">
+<p>Next, select the desired igniter to fire. This will
+enable the 'Arm' button.</p>
+</div>
+<div class="paragraph">
+<p>Select the 'Arm' button. This enables the 'Fire'
+button. The word 'Arm' is replaced by a countdown
+timer indicating that you have 10 seconds to press the
+'Fire' button or the system will deactivate, at which
+point you start over again at selecting the desired
+igniter.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_scan_channels">12.11. Scan Channels</h3>
+<div class="imageblock">
+<div class="content">
+<img src="scan-channels.png" alt="scan channels" width="300">
+</div>
+<div class="title">Figure 27. Scan Channels Window</div>
+</div>
+<div class="paragraph">
+<p>This listens for telemetry packets on all of the
+configured frequencies, displaying information about
+each device it receives a packet from. You can select
+which of the baud rates and telemetry formats should
+be tried; by default, it only listens at 38400 baud
+with the standard telemetry format used in v1.0 and
+later firmware.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_load_maps">12.12. Load Maps</h3>
+<div class="imageblock">
+<div class="content">
+<img src="load-maps.png" alt="load maps" width="500">
+</div>
+<div class="title">Figure 28. Load Maps Window</div>
+</div>
+<div class="paragraph">
+<p>Before heading out to a new launch site, you can use
+this to load satellite images in case you don&#8217;t have
+internet connectivity at the site.  Try not to wait
+until the last minute, though, particularly if you&#8217;re
+heading to a major launch.  If too many people are
+all trying to download map data at once, Google may
+limit access until the next day.</p>
+</div>
+<div class="paragraph">
+<p>There&#8217;s a drop-down menu of launch sites we know
+about; if your favorites aren&#8217;t there, please let us
+know the lat/lon and name of the site. The contents of
+this list are actually downloaded from our server at
+run-time, so as new sites are sent in, they&#8217;ll get
+automatically added to this list.  If the launch site
+isn&#8217;t in the list, you can manually enter the lat/lon
+values</p>
+</div>
+<div class="paragraph">
+<p>There are four different kinds of maps you can view;
+you can select which to download by selecting as many
+as you like from the available types:</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Hybrid</dt>
+<dd>
+<p>A combination of satellite imagery and road data. This
+is the default view.</p>
+</dd>
+<dt class="hdlist1">Satellite</dt>
+<dd>
+<p>Just the satellite imagery without any annotation.</p>
+</dd>
+<dt class="hdlist1">Roadmap</dt>
+<dd>
+<p>Roads, political boundaries and a few geographic
+features.</p>
+</dd>
+<dt class="hdlist1">Terrain</dt>
+<dd>
+<p>Contour intervals and shading that show hills and
+valleys.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>You can specify the range of zoom levels to download;
+smaller numbers show more area with less
+resolution. The default level, 0, shows about
+3m/pixel. One zoom level change doubles or halves that
+number. Larger zoom levels show more detail, smaller
+zoom levels less.</p>
+</div>
+<div class="paragraph">
+<p>The Map Radius value sets how large an area around the
+center point to download. Select a value large enough
+to cover any plausible flight from that site. Be aware
+that loading a large area with a high maximum zoom
+level can attempt to download a lot of data. Loading
+hybrid maps with a 10km radius at a minimum zoom of -2
+and a maximum zoom of 2 consumes about 120MB of
+space. Terrain and road maps consume about 1/10 as
+much space as satellite or hybrid maps.</p>
+</div>
+<div class="paragraph">
+<p>Clicking the 'Load Map' button will fetch images from
+Google Maps; note that Google limits how many images
+you can fetch at once, so if you load more than one
+launch site, you may get some gray areas in the map
+which indicate that Google is tired of sending data to
+you. Try again later.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_monitor_idle">12.13. Monitor Idle</h3>
+<div class="imageblock">
+<div class="content">
+<img src="monitor-idle.png" alt="monitor idle" width="500">
+</div>
+<div class="title">Figure 29. Monitor Idle Window</div>
+</div>
+<div class="paragraph">
+<p>This brings up a dialog similar to the Monitor Flight
+UI, except it works with the altimeter in “idle” mode
+by sending query commands to discover the current
+state rather than listening for telemetry
+packets. Because this uses command mode, it needs to
+have the TeleDongle and flight computer callsigns
+match exactly. If you can receive telemetry, but
+cannot manage to run Monitor Idle, then it&#8217;s very
+likely that your callsigns are different in some way.</p>
+</div>
+<div class="paragraph">
+<p>You can change the frequency and callsign used to
+communicate with the flight computer; they must both
+match the configuration in the flight computer
+exactly.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_altosdroid">13. AltosDroid</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>AltosDroid provides the same flight monitoring capabilities as
+AltosUI, but runs on Android devices. AltosDroid is designed
+to connect to a TeleBT receiver over Bluetooth™ and (on
+Android devices supporting USB On-the-go) TeleDongle and
+TeleBT devices over USB. AltosDroid monitors telemetry data,
+logging it to internal storage in the Android device, and
+presents that data in a UI similar to the 'Monitor Flight'
+window in AltosUI.</p>
+</div>
+<div class="paragraph">
+<p>This manual will explain how to configure AltosDroid, connect
+to TeleBT or TeleDongle, operate the flight monitoring
+interface and describe what the displayed data means.</p>
+</div>
+<div class="sect2">
+<h3 id="_installing_altosdroid">13.1. Installing AltosDroid</h3>
+<div class="paragraph">
+<p>AltosDroid is available from the Google Play store. To
+install it on your Android device, open the Google
+Play Store application and search for
+“altosdroid”. Make sure you don&#8217;t have a space between
+“altos” and “droid” or you probably won&#8217;t find what
+you want. That should bring you to the right page from
+which you can download and install the application.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_charging_telebt_battery">13.2. Charging TeleBT Battery</h3>
+<div class="paragraph">
+<p>Before using TeleBT with AltosDroid, make sure the
+internal TeleBT battery is charged.  To do this,
+attach a micro USB cable from a computer or other USB
+power source to TeleBT.  A dual LED on the circuit
+board should illuminate, showing red while the battery
+is charging, green when charging is completed, and
+both red and green on at the same time if there is a
+battery fault.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_connecting_to_telebt_over_bluetooth">13.3. Connecting to TeleBT over Bluetooth™</h3>
+<div class="paragraph">
+<p>Note that when turning TeleBT on, you may see a brief LED
+flash, but there will be no "activity" indicated until you
+pair with the device from AltosDroid.</p>
+</div>
+<div class="paragraph">
+<p>Press the Android 'Menu' button or soft-key to see the
+configuration options available. Select the 'Connect a
+device' option and then the 'Scan for devices' entry
+at the bottom to look for your TeleBT device. Select
+your device, and when it asks for the code, enter
+'1234'.</p>
+</div>
+<div class="paragraph">
+<p>Subsequent connections will not require you to enter
+that code, and your 'paired' device will appear in the
+list without scanning.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_connecting_to_teledongle_or_telebt_over_usb">13.4. Connecting to TeleDongle or TeleBT over USB</h3>
+<div class="paragraph">
+<p>Get a special USB On-the-go adapter cable. These
+cables have a USB micro-B male connector on one end
+and a standard A female connector on the other
+end. Plug in your TeleDongle or TeleBT device to the
+adapter cable and the adapter cable into your phone
+and AltosDroid should automatically start up. If it
+doesn&#8217;t, the most likely reason is that your Android
+device doesn&#8217;t support USB On-the-go.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_altosdroid_menu">13.5. AltosDroid Menu</h3>
+<div class="paragraph">
+<p>The main AltosDroid menu has a selection of operation
+and configuration options.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Connect a device</dt>
+<dd>
+<p>Offers a menu of available TeleBT devices, and an
+option to scan for additional devices.</p>
+</dd>
+<dt class="hdlist1">Disconnect device</dt>
+<dd>
+<p>Disconnects the current TeleBT or TeleDongle
+device. You can reconnect TeleBT over bluetooth by
+using Connect a Device. You can reconnect a USB device
+by unplugging it and then plugging it back in.</p>
+</dd>
+<dt class="hdlist1">Select radio frequency</dt>
+<dd>
+<p>This selects which frequency to listen on by bringing
+up a menu of pre-set radio frequencies. Pick the one
+which matches your altimeter.</p>
+</dd>
+<dt class="hdlist1">Select Tracker</dt>
+<dd>
+<p>Switches the information displays to show data for a
+different transmitting device. The map will always
+show all of the devices in view. Trackers are shown
+and selected by serial number, so make sure you note
+the serial number of devices in each airframe.</p>
+</dd>
+<dt class="hdlist1">Delete Track</dt>
+<dd>
+<p>Deletes all information about a transmitting device.</p>
+</dd>
+<dt class="hdlist1">Setup</dt>
+<dd>
+<p>Offers additional configuration operations. See
+<a href="#_setup">Setup</a>.</p>
+</dd>
+<dt class="hdlist1">Idle Mode</dt>
+<dd>
+<p>Communicate with an altimeter in Idle mode. See <a href="#_idle_mode">Idle Mode</a></p>
+</dd>
+<dt class="hdlist1">Quit</dt>
+<dd>
+<p>Shuts down AltosDroid.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_setup">13.6. Setup</h3>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Telemetry Rate</dt>
+<dd>
+<p>Altus Metrum transmitters can be configured to operate
+at lower data rates to improve transmission range. If
+you have configured your device to do this, this menu
+item allows you to change the receiver to match.</p>
+</dd>
+<dt class="hdlist1">Units</dt>
+<dd>
+<p>Selects which units used to report values.</p>
+</dd>
+<dt class="hdlist1">Map Type</dt>
+<dd>
+<p>Displays a menu of map types and lets you select
+one. Hybrid maps include satellite images with a
+roadmap overlaid. Satellite maps dispense with the
+roadmap overlay. Roadmap shows just the roads. Terrain
+includes roads along with shadows indicating changes
+in elevation, and other geographical features.</p>
+</dd>
+<dt class="hdlist1">Map Source</dt>
+<dd>
+<p>Select between online and offline maps. Online maps
+will show a 'move to current position' icon in the
+upper right corner, while offline maps will have
+copyright information all over the map. Otherwise,
+they&#8217;re pretty similar.</p>
+</dd>
+<dt class="hdlist1">Preload Maps</dt>
+<dd>
+<p>Brings up a dialog allowing you to download offline
+map tiles so that you can have maps available even if
+you have no network connectivity at the launch site.</p>
+</dd>
+<dt class="hdlist1">Manage Frequencies</dt>
+<dd>
+<p>This presents a dialog containing the current list of
+frequencies that will be show in the 'Select radio
+frequency' menu. You can change the label for existing
+frequencies, delete or add new frequencies.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_idle_mode">13.7. Idle Mode</h3>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Callsign</dt>
+<dd>
+<p>Lets you configure the callsign used by AltosDroid to
+communicate with the flight computer. The callsign on
+the two devices must match or the communication will
+fail. This provides a modest amount of protection
+against accidentally controlling another persons
+flight computer.</p>
+</dd>
+<dt class="hdlist1">Monitor</dt>
+<dd>
+<p>This provides similar information to monitoring the
+telemetry stream from a flight computer in flight
+mode. The title of the application will change to
+include (idle) so you can tell this mode is active.</p>
+</dd>
+<dt class="hdlist1">Reboot</dt>
+<dd>
+<p>Remotely reboots the flight computer. This is useful
+when the flight computers turned on while the airframe
+is horizontal and you want to restart the flight
+computers in pad mode after raising the airframe to
+vertical.</p>
+</dd>
+<dt class="hdlist1">Fire Igniters</dt>
+<dd>
+<p>Remotely control igniters for ground testing recovery
+systems.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_altosdroid_flight_monitoring">13.8. AltosDroid Flight Monitoring</h3>
+<div class="paragraph">
+<p>AltosDroid is designed to mimic the AltosUI flight
+monitoring display, providing separate tabs for each
+stage of your rocket flight along with a tab
+containing a map of the local area with icons marking
+the current location of the altimeter and the Android
+device.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_pad">13.9. Pad</h3>
+<div class="paragraph">
+<p>The 'Pad' tab shows information used to decide when
+the rocket is ready for flight. The first elements
+include red/green indicators, if any of these is red,
+you&#8217;ll want to evaluate whether the rocket is ready to
+launch.</p>
+</div>
+<div class="paragraph">
+<p>When the pad tab is selected, the voice responses will
+include status changes to the igniters and GPS
+reception, letting you know if the rocket is still
+ready for launch.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Battery</dt>
+<dd>
+<p>This indicates whether the Li-Po battery powering the
+transmitter has sufficient charge to last for the
+duration of the flight. A value of more than 3.8V is
+required for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Receiver Battery</dt>
+<dd>
+<p>This indicates whether the Li-Po battery powering the
+TeleBT has sufficient charge to last for the duration
+of the flight. A value of more than 3.8V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Data Logging</dt>
+<dd>
+<p>This indicates whether there is space remaining
+on-board to store flight data for the upcoming
+flight. If you&#8217;ve downloaded data, but failed to erase
+flights, there may not be any space left. TeleMetrum
+and TeleMega can store multiple flights, depending on
+the configured maximum flight log size. TeleGPS logs
+data continuously. TeleMini v1.0 stores only a single
+flight, so it will need to be downloaded and erased
+after each flight to capture data. This only affects
+on-board flight logging; the altimeter will still
+transmit telemetry and fire ejection charges at the
+proper times.</p>
+</dd>
+<dt class="hdlist1">GPS Locked</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether the GPS receiver is currently able to compute
+position information. GPS requires at least 4
+satellites to compute an accurate position.</p>
+</dd>
+<dt class="hdlist1">GPS Ready</dt>
+<dd>
+<p>For a TeleMetrum or TeleMega device, this indicates
+whether GPS has reported at least 10 consecutive
+positions without losing lock. This ensures that the
+GPS receiver has reliable reception from the
+satellites.</p>
+</dd>
+<dt class="hdlist1">Apogee Igniter</dt>
+<dd>
+<p>This indicates whether the apogee igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Main Igniter</dt>
+<dd>
+<p>This indicates whether the main igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Igniter A-D</dt>
+<dd>
+<p>This indicates whether the indicated additional pyro
+channel igniter has continuity. If the igniter has a
+low resistance, then the voltage measured here will be
+close to the Li-Po battery voltage. A value greater
+than 3.2V is required for a 'GO' status.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>The Pad tab also shows the location of the Android
+device.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_flight">13.10. Flight</h3>
+<div class="paragraph">
+<p>The 'Flight' tab shows information used to evaluate
+and spot a rocket while in flight. It displays speed
+and height data to monitor the health of the rocket,
+along with elevation, range and bearing to help locate
+the rocket in the sky.</p>
+</div>
+<div class="paragraph">
+<p>While the Flight tab is displayed, the voice
+announcements will include current speed, height,
+elevation and bearing information.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Speed</dt>
+<dd>
+<p>Shows current vertical speed. During descent, the
+speed values are averaged over a fairly long time to
+try and make them steadier.</p>
+</dd>
+<dt class="hdlist1">Height</dt>
+<dd>
+<p>Shows the current height above the launch pad.</p>
+</dd>
+<dt class="hdlist1">Max Speed</dt>
+<dd>
+<p>Shows the maximum vertical speed seen during the
+flight.</p>
+</dd>
+<dt class="hdlist1">Max Height</dt>
+<dd>
+<p>Shows the maximum height above launch pad.</p>
+</dd>
+<dt class="hdlist1">Elevation</dt>
+<dd>
+<p>This is the angle above the horizon from the android
+devices current position.</p>
+</dd>
+<dt class="hdlist1">Range</dt>
+<dd>
+<p>The total distance from the android device to the
+rocket, including both ground distance and difference
+in altitude. Use this to gauge how large the rocket is
+likely to appear in the sky.</p>
+</dd>
+<dt class="hdlist1">Bearing</dt>
+<dd>
+<p>This is the azimuth from true north for the rocket
+from the android device. Use this in combination with
+the Elevation value to help locate the rocket in the
+sky, or at least to help point the antenna in the
+general direction. This is provided in both degrees
+and a compass point (like West South West). You&#8217;ll
+want to know which direction is true north before
+launching your rocket.</p>
+</dd>
+<dt class="hdlist1">Ground Distance</dt>
+<dd>
+<p>This shows the distance across the ground to the
+lat/lon where the rocket is located. Use this to
+estimate what is currently under the rocket.</p>
+</dd>
+<dt class="hdlist1">Latitude/Longitude</dt>
+<dd>
+<p>Displays the last known location of the rocket.</p>
+</dd>
+<dt class="hdlist1">Apogee Igniter</dt>
+<dd>
+<p>This indicates whether the apogee igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+<dt class="hdlist1">Main Igniter</dt>
+<dd>
+<p>This indicates whether the main igniter has
+continuity. If the igniter has a low resistance, then
+the voltage measured here will be close to the Li-Po
+battery voltage. A value greater than 3.2V is required
+for a 'GO' status.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_recover">13.11. Recover</h3>
+<div class="paragraph">
+<p>The 'Recover' tab shows information used while
+recovering the rocket on the ground after flight.</p>
+</div>
+<div class="paragraph">
+<p>While the Recover tab is displayed, the voice
+announcements will include distance along with either
+bearing or direction, depending on whether you are
+moving.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">Bearing</dt>
+<dd>
+<p>This is the azimuth from true north for the rocket
+from the android device. Use this in combination with
+the Elevation value to help locate the rocket in the
+sky, or at least to help point the antenna in the
+general direction. This is provided in both degrees
+and a compass point (like West South West). You&#8217;ll
+want to know which direction is true north before
+launching your rocket.</p>
+</dd>
+<dt class="hdlist1">Direction</dt>
+<dd>
+<p>When you are in motion, this provides the angle from
+your current direction of motion towards the rocket.</p>
+</dd>
+<dt class="hdlist1">Distance</dt>
+<dd>
+<p>Distance over the ground to the rocket.</p>
+</dd>
+<dt class="hdlist1">Tar Lat/Tar Lon</dt>
+<dd>
+<p>Displays the last known location of the rocket.</p>
+</dd>
+<dt class="hdlist1">My Lat/My Lon</dt>
+<dd>
+<p>Displays the location of the Android device.</p>
+</dd>
+<dt class="hdlist1">Max Height</dt>
+<dd>
+<p>Shows the maximum height above launch pad seen during
+the flight.</p>
+</dd>
+<dt class="hdlist1">Max Speed</dt>
+<dd>
+<p>Shows the maximum vertical speed seen during the
+flight.</p>
+</dd>
+<dt class="hdlist1">Max Accel</dt>
+<dd>
+<p>Shows the maximum vertical acceleration seen during
+the flight.</p>
+</dd>
+</dl>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_map_2">13.12. Map</h3>
+<div class="paragraph">
+<p>The 'Map' tab shows a map of the area around the
+rocket being tracked along with information needed to
+recover it.</p>
+</div>
+<div class="paragraph">
+<p>On the map itself, icons showing the location of the
+android device along with the last known location of
+each tracker. A blue line is drawn from the android
+device location to the currently selected tracker.</p>
+</div>
+<div class="paragraph">
+<p>Below the map, the distance and either bearing or
+direction along with the lat/lon of the target and the
+android device are shown</p>
+</div>
+<div class="paragraph">
+<p>The Map tab provides the same voice announcements as
+the Recover tab.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_downloading_flight_logs">13.13. Downloading Flight Logs</h3>
+<div class="paragraph">
+<p>AltosDroid always saves every bit of telemetry data it
+receives. To download that to a computer for use with
+AltosUI, remove the SD card from your Android device,
+or connect your device to your computer&#8217;s USB port and
+browse the files on that device. You will find
+'.telem' files in the TeleMetrum directory that will
+work with AltosUI directly.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_system_operation">Appendix A: System Operation</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_firmware_modes">A.1. Firmware Modes</h3>
+<div class="paragraph">
+<p>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, EasyMega and EasyTimer, which have accelerometers, the mode is
+controlled by the orientation of the
+rocket (well, actually the board, of course&#8230;&#8203;) at the time
+power is switched on.  If the rocket is “nose up”, then
+the flight computer assumes it&#8217;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&#8217;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
+selects “idle” mode if it receives a command packet
+within the
+first five seconds of operation.</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+<div class="paragraph">
+<p>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&#8217;re getting three beeps or
+flashes before launching!  For apogee-only or motor eject
+flights, do what makes sense.</p>
+</div>
+<div class="paragraph">
+<p>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 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.</p>
+</div>
+<div class="paragraph">
+<p>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”)</p>
+</div>
+<div class="paragraph">
+<p>See <a href="#_understanding_beeps">Understanding Beeps</a> for a summary of all of
+the audio signals used.</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+<div class="paragraph">
+<p>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!</p>
+</div>
+<div class="paragraph">
+<p>TeleMini is configured solely via the radio link. Of course, that
+means you need to know the TeleMini radio configuration values
+or you won&#8217;t be able to communicate with it. For situations
+when you don&#8217;t have the radio configuration values,
+TeleMini v1.0
+offers an 'emergency recovery' mode. In this mode,
+TeleMini v1.0 is
+configured as follows:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Sets the radio frequency to 434.550MHz</p>
+</li>
+<li>
+<p>Sets the radio calibration back to the factory value.</p>
+</li>
+<li>
+<p>Sets the callsign to N0CALL</p>
+</li>
+<li>
+<p>Does not go to 'pad' mode after five seconds.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>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&#8217;s in
+'idle' mode after the initial five second startup
+period.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_gps">A.2. GPS</h3>
+<div class="paragraph">
+<p>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.</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_controlling_an_altimeter_over_the_radio_link">A.3. Controlling An Altimeter Over The Radio Link</h3>
+<div class="paragraph">
+<p>One of the unique features of the Altus Metrum system is the
+ability to create a two way command link between TeleDongle
+and an altimeter using the digital radio transceivers
+built into each device. This allows you to interact with the
+altimeter from afar, as if it were directly connected to the
+computer.</p>
+</div>
+<div class="paragraph">
+<p>Any operation which can be performed with a flight computer can
+either be done with the device directly connected to the
+computer via the USB cable, or through the radio
+link. TeleMini doesn&#8217;t provide a USB connector and so it is
+always communicated with over radio.  Select the appropriate
+TeleDongle device when the list of devices is presented and
+AltosUI will interact with an altimeter over the radio link.</p>
+</div>
+<div class="paragraph">
+<p>One oddity in the current interface is how AltosUI selects the
+frequency for radio communications. Instead of providing
+an interface to specifically configure the frequency, it uses
+whatever frequency was most recently selected for the target
+TeleDongle device in Monitor Flight mode. If you haven&#8217;t ever
+used that mode with the TeleDongle in question, select the
+Monitor Flight button from the top level UI, and pick the
+appropriate TeleDongle device.  Once the flight monitoring
+window is open, select the desired frequency and then close it
+down again. All radio communications will now use that frequency.</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Save Flight Data—Recover flight data from the
+rocket without opening it up.</p>
+</li>
+<li>
+<p>Configure altimeter apogee delays, main deploy
+heights and additional pyro event conditions to
+respond to changing launch conditions. You can also
+'reboot' the altimeter. Use this to remotely enable
+the flight computer by turning TeleMetrum or
+TeleMega on in “idle” mode, then once the air-frame
+is oriented for launch, you can reboot the
+altimeter and have it restart in pad mode without
+having to climb the scary ladder.</p>
+</li>
+<li>
+<p>Fire Igniters—Test your deployment charges without snaking
+wires out through holes in the air-frame. Simply assemble the
+rocket as if for flight with the apogee and main charges
+loaded, then remotely command the altimeter to fire the
+igniters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Operation over the radio link for configuring an
+altimeter, ground testing igniters, and so forth uses
+the same RF frequencies as flight telemetry.  To
+configure the desired TeleDongle frequency, select the
+monitor flight tab, then use the frequency selector
+and close the window before performing other desired
+radio operations.</p>
+</div>
+<div class="paragraph">
+<p>The flight computers only enable radio commanding in
+'idle' mode.  TeleMetrum and TeleMega use the
+accelerometer to detect which orientation they start
+up in, so make sure you have the flight computer lying
+horizontally when you turn it on. Otherwise, it will
+start in 'pad' mode ready for flight, and will not be
+listening for command packets from TeleDongle.</p>
+</div>
+<div class="paragraph">
+<p>TeleMini listens for a command packet for five seconds
+after first being turned on, if it doesn&#8217;t hear
+anything, it enters 'pad' mode, ready for flight and
+will no longer listen for command packets. The easiest
+way to connect to TeleMini is to initiate the command
+and select the TeleDongle device. At this point, the
+TeleDongle will be attempting to communicate with the
+TeleMini. Now turn TeleMini on, and it should
+immediately start communicating with the TeleDongle
+and the desired operation can be performed.</p>
+</div>
+<div class="paragraph">
+<p>You can monitor the operation of the radio link by watching the
+lights on the devices. The red LED will flash each time a packet
+is transmitted, while the green LED will light up on TeleDongle when
+it is waiting to receive a packet from the altimeter.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_ground_testing">A.4. Ground Testing</h3>
+<div class="paragraph">
+<p>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!</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_radio_link">A.5. Radio Link</h3>
+<div class="paragraph">
+<p>TeleMetrum, TeleMini and TeleMega all incorporate an
+RF transceiver, but it&#8217;s not a full duplex system;
+each end can only be transmitting or receiving at any
+given moment. So we had to decide how to manage the
+link.</p>
+</div>
+<div class="paragraph">
+<p>By design, the altimeter firmware listens for the
+radio link when it&#8217;s in “idle mode”, which allows us
+to use the radio link to configure the rocket, do
+things like ejection tests, and extract data after a
+flight without having to crack open the air-frame.
+However, when the board is in “flight mode”, the
+altimeter only transmits and doesn&#8217;t listen at all.
+That&#8217;s because we want to put ultimate priority on
+event detection and getting telemetry out of the
+rocket through the radio in case the rocket crashes
+and we aren&#8217;t able to extract data later.</p>
+</div>
+<div class="paragraph">
+<p>We don&#8217;t generally use a 'normal packet radio' mode
+like APRS because they&#8217;re just too inefficient.  The
+GFSK modulation we use is FSK with the base-band
+pulses passed through a Gaussian filter before they go
+into the modulator to limit the transmitted bandwidth.
+When combined with forward error correction and
+interleaving, this allows us to have a very robust
+19.2 kilobit data link with only 10-40 milliwatts of
+transmit power, a whip antenna in the rocket, and a
+hand-held Yagi on the ground.  We&#8217;ve had flights to
+above 21k feet AGL with great reception, and
+calculations suggest we should be good to well over
+40k feet AGL with a 5-element yagi on the ground with
+our 10mW units and over 100k feet AGL with the 40mW
+devices.  We hope to fly boards to higher altitudes
+over time, and would of course appreciate customer
+feedback on performance in higher altitude flights!</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_aprs">A.6. APRS</h3>
+<div class="paragraph">
+<p>TeleMetrum v2 and newer 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 time within each
+minute that APRS transmits by changing the APRS offset
+value. When the GPS signal is locked and knows the
+current time, the APRS offset selects the time with
+each minute for the first APRS transmission;
+subsequent transmissions occur each APRS interval
+seconds thereafter.  You can configure the APRS
+interval and APRS offset using AltosUI; that
+process is described in <a href="#_configure_altimeter">Configure Altimeter</a>.</p>
+</div>
+<div class="paragraph">
+<p>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&#8217;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.</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 10. Altus Metrum APRS Comments</caption>
+<colgroup>
+<col style="width: 20%;">
+<col style="width: 20%;">
+<col style="width: 60%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Field</th>
+<th class="tableblock halign-left valign-top">Example</th>
+<th class="tableblock halign-left valign-top">Description</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">L</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">GPS Status U for unlocked, L for locked</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Number of Satellites in View</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">B4.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Altimeter Battery Voltage</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">A3.7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee Igniter Voltage</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">M3.7</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Main Igniter Voltage</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1286</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Device Serial Number</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1286</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Device Serial Number</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>Here&#8217;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.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>L6 B4.0 A3.7 M3.7 1286</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>Here&#8217;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.</p>
+</div>
+<div class="literalblock">
+<div class="content">
+<pre>L6 B4.0 1876</pre>
+</div>
+</div>
+<div class="paragraph">
+<p>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&#8217;t have a good lock and you
+should wait until it becomes stable.</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_configurable_parameters">A.7. Configurable Parameters</h3>
+<div class="paragraph">
+<p>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
+<a href="#_configure_altimeter">Configure Altimeter</a> for more information.</p>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_handling_precautions">Appendix B: Handling Precautions</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>All Altus Metrum products are sophisticated electronic devices.
+When handled gently and properly installed in an air-frame, they
+will deliver impressive results.  However, as with all electronic
+devices, there are some precautions you must take.</p>
+</div>
+<div class="admonitionblock warning">
+<table>
+<tr>
+<td class="icon">
+<img src="./images/icons/warning.svg" alt="Warning">
+</td>
+<td class="content">
+The Lithium Polymer rechargeable batteries have an
+extraordinary power density.  This is great because we can fly with
+much less battery mass than if we used alkaline batteries or previous
+generation rechargeable batteries&#8230;&#8203; but if they are punctured
+or their leads are allowed to short, they can and will release their
+energy very rapidly!
+Thus we recommend that you take some care when handling our batteries
+and consider giving them some extra protection in your air-frame.  We
+often wrap them in suitable scraps of closed-cell packing foam before
+strapping them down, for example.
+</td>
+</tr>
+</table>
+</div>
+<div class="paragraph">
+<p>The barometric sensors used on all of our flight computers are
+sensitive to sunlight.  In normal mounting situations, the baro sensor
+and all of the other surface mount components
+are “down” towards whatever the underlying mounting surface is, so
+this is not normally a problem.  Please consider this when designing an
+installation in an air-frame with a see-through plastic payload bay.  It
+is particularly important to
+consider this with TeleMini v1.0, both because the baro sensor is on the
+“top” of the board, and because many model rockets with payload bays
+use clear plastic for the payload bay!  Replacing these with an opaque
+cardboard tube, painting them, or wrapping them with a layer of masking
+tape are all reasonable approaches to keep the sensor out of direct
+sunlight.</p>
+</div>
+<div class="paragraph">
+<p>The barometric sensor sampling port must be able to “breathe”,
+both by not being covered by foam or tape or other materials that might
+directly block the hole on the top of the sensor, and also by having a
+suitable static vent to outside air.</p>
+</div>
+<div class="paragraph">
+<p>As with all other rocketry electronics, Altus Metrum altimeters must
+be protected from exposure to corrosive motor exhaust and ejection
+charge gasses.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_updating_device_firmware">Appendix C: Updating Device Firmware</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>TeleMega, TeleMetrum v2 and newer, EasyMega, EasyMini and TeleDongle v3
+are all
+programmed directly over their USB connectors (self
+programming).
+TeleMetrum v1, TeleMini v1.0 and TeleDongle v0.2 are
+all programmed by using another device as a programmer (pair
+programming). It&#8217;s important to recognize which kind of devices
+you have before trying to reprogram them.</p>
+</div>
+<div class="paragraph">
+<p>TeleMini v3 can be updated directly over USB, but has no USB connector
+on the board.  Instead, the USB signals are present on a row of 6
+holes adjacent to the copyright assertion in the silk screen.  Thus,
+updating firmware on TeleMini v3 requires making up a special cable,
+after which you can treat it just like TeleMetrum or TeleMega.  Many
+USB cables seem to follow the color code of red is +5V, black is GND,
+green is USB +, and white is USB -.  On TeleMini v3, pin 3 which has
+a square copper pad is ground, pin 1 is USB -, and pin 2 is USB +.</p>
+</div>
+<div class="paragraph">
+<p>You may wish to begin by ensuring you have current firmware
+images.  These are distributed as part of the AltOS software
+bundle that also includes the AltosUI ground station program.
+Newer ground station versions typically work fine with older
+firmware versions, so you don&#8217;t need to update your devices
+just to try out new software features.  You can always
+download the most recent version from
+<a href="http://www.altusmetrum.org/AltOS/" class="bare">http://www.altusmetrum.org/AltOS/</a></p>
+</div>
+<div class="sect2">
+<h3 id="_updating_telemega_telemetrum_v2_or_newer_telemini_v3_easymega_easymini_teledongle_v3_or_telebt_v3_firmware">C.1. Updating TeleMega, TeleMetrum v2 or newer, TeleMini v3, EasyMega, EasyMini, TeleDongle v3 or TeleBT v3 Firmware</h3>
+<div class="paragraph">
+<p>Self-programmable devices are reprogrammed by
+connecting them to your computer over USB.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Attach a battery if necessary and power switch to
+the target device. Power up the device.</p>
+</li>
+<li>
+<p>Using a Micro USB cable, connect the target device to your
+computer&#8217;s USB socket.  If the target is a TeleMini v3,
+make up and attach a special USB cable.</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from the File menu.</p>
+</li>
+<li>
+<p>Select the target device in the Device Selection dialog.</p>
+</li>
+<li>
+<p>Select the image you want to flash to the device,
+which should have a name in the form
+&lt;product&gt;-v&lt;product-version&gt;-&lt;software-version&gt;.ihx,
+such as EasyMini-v1.0-1.6.0.ihx.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number and/or RF
+configuration values aren&#8217;t right, you&#8217;ll need to
+change them.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should proceed
+to flash the device with new firmware, showing a
+progress bar.</p>
+</li>
+<li>
+<p>Verify that the device is working by using the
+'Configure Altimeter' or 'Configure Groundstation'
+item to check over the configuration.</p>
+</li>
+</ol>
+</div>
+<div class="sect3">
+<h4 id="_recovering_from_self_flashing_failure">C.1.1. Recovering From Self-Flashing Failure</h4>
+<div class="paragraph">
+<p>If the firmware loading fails, it can leave the device
+unable to boot. Not to worry, you can force the device to
+start the boot loader instead, which will let you try to
+flash the device again.</p>
+</div>
+<div class="paragraph">
+<p>On each device, connecting two pins from one of the exposed
+connectors will force the boot loader to start, even if the
+regular operating system has been corrupted in some way.</p>
+</div>
+<div class="dlist">
+<dl>
+<dt class="hdlist1">TeleMega</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the companion
+connector. Pin 1 can be identified by the square pad
+around it, and then the pins count sequentially across
+the board. Be very careful to <strong>not</strong> short pin 8 to
+anything as that is connected directly to the
+battery. Pin 7 carries 3.3V and the board will crash
+if that is connected to pin 1, but shouldn&#8217;t damage
+the board.</p>
+</dd>
+<dt class="hdlist1">EasyMega</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the companion
+connector. Pin 1 can be identified by the square pad
+around it, and then the pins count sequentially across
+the board. Be very careful to <strong>not</strong> short pin 8 to
+anything as that is connected directly to the
+battery. Pin 7 carries 3.3V and the board will crash
+if that is connected to pin 1, but shouldn&#8217;t damage
+the board.</p>
+</dd>
+<dt class="hdlist1">EasyTimer</dt>
+<dd>
+<p>Connect pin 5 and pin 1 of the debug connector, which
+is the six holes next to the beeper. Pin 1 can be
+identified by the square pad around it, and then the
+pins count sequentially across the board, making Pin 5
+the one on the other end of the row.</p>
+</dd>
+<dt class="hdlist1">TeleMetrum v2 and newer</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the companion
+connector. Pin 1 can be identified by the square pad
+around it, and then the pins count sequentially across
+the board. Be very careful to <strong>not</strong> short pin 8 to
+anything as that is connected directly to the
+battery. Pin 7 carries 3.3V and the board will crash
+if that is connected to pin 1, but shouldn&#8217;t damage
+the board.</p>
+</dd>
+<dt class="hdlist1">EasyMini</dt>
+<dd>
+<p>Connect pin 6 and pin 1 of the debug connector, which
+is the six holes next to the beeper. Pin 1 can be
+identified by the square pad around it, and then the
+pins count sequentially across the board, making Pin 6
+the one on the other end of the row.</p>
+</dd>
+<dt class="hdlist1">TeleGPS v1</dt>
+<dd>
+<p>Connect pin 32 on the CPU to ground.  Pin 32 is the
+right-most pin on the bottom edge of the CPU when the
+board is oriented with the USB and battery connectors
+to the right.</p>
+</dd>
+<dt class="hdlist1">TeleGPS v2</dt>
+<dd>
+<p>Connect together pins 1 and 5 of the Debug connector.
+Pin 1 is the pin with the square pad around the hole.</p>
+</dd>
+<dt class="hdlist1">TeleDongle v3</dt>
+<dd>
+<p>Connect pin 32 on the CPU to ground. Pin 32 is closest
+to the USB wires on the row of pins towards the center
+of the board. Ground is available on the capacitor
+next to it, on the end towards the USB wires.</p>
+</dd>
+<dt class="hdlist1">TeleBT v3</dt>
+<dd>
+<p>Connect pin 4 on the CPU to 3.3V, which can be done by
+connecting pin 1 to pin 4.  Pin 1 is the left pin on
+the lower edge of the chip when the unit is oriented
+such that the SMA is at the top.</p>
+</dd>
+<dt class="hdlist1">TeleBT v4</dt>
+<dd>
+<p>Connect pin 30 on the CPU to ground. Pin 30 is the 6th
+pin from the right on the top when the unit is oriented
+such that the SMA is at the top.</p>
+</dd>
+</dl>
+</div>
+<div class="paragraph">
+<p>Once you&#8217;ve located the right pins:</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Turn the altimeter power off.</p>
+</li>
+<li>
+<p>Connect a battery.</p>
+</li>
+<li>
+<p>Connect the indicated terminals together with a
+short piece of wire. Take care not to accidentally
+connect anything else.</p>
+</li>
+<li>
+<p>Connect USB</p>
+</li>
+<li>
+<p>Turn the board power on.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>The board should now be visible over USB as
+'AltosFlash' and be ready to receive firmware.  Once
+the board has been powered up, you can remove the
+piece of wire.</p>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_pair_programming">C.2. Pair Programming</h3>
+<div class="paragraph">
+<p>The big concept to understand is that you have to use
+a TeleMetrum v1.0, TeleBT v1.0 or TeleDongle v0.2 as a
+programmer to update a pair programmed device. Due to
+limited memory resources in the cc1111, we don&#8217;t
+support programming directly over USB for these
+devices.</p>
+</div>
+<div class="paragraph">
+<p>If you need to update the firmware on a TeleDongle
+v0.2, we recommend updating the altimeter first,
+before updating TeleDongle.  However, note that
+TeleDongle rarely need to be updated.  Any firmware
+version 1.0.1 or later will work, version 1.2.1 may
+have improved receiver performance slightly.</p>
+</div>
+<div class="sect3">
+<h4 id="_updating_telemetrum_v1_x_firmware">C.2.1. Updating TeleMetrum v1.x Firmware</h4>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Find the 'programming cable' that you got as
+part of the starter kit, that has a red
+8-pin MicroMaTch connector on one end and a
+red 4-pin MicroMaTch connector on the other
+end.</p>
+</li>
+<li>
+<p>Take the 2 screws out of the TeleDongle v0.2
+or TeleBT v1.0 case to get access to the
+circuit board.</p>
+</li>
+<li>
+<p>Plug the 8-pin end of the programming cable
+to the matching connector on the TeleDongle
+v0.2 or TeleBT v1.0, and the 4-pin end to
+the matching connector on the TeleMetrum.
+Note that each MicroMaTch connector has an
+alignment pin that goes through a hole in
+the PC board when you have the cable
+oriented correctly.</p>
+</li>
+<li>
+<p>Attach a battery to the TeleMetrum board.</p>
+</li>
+<li>
+<p>Plug the TeleDongle v0.2 or TeleBT v1.0 into
+your computer&#8217;s USB port, and power up the
+TeleMetrum.</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from
+the File menu.</p>
+</li>
+<li>
+<p>Pick the TeleDongle v0.2 or TeleBT v1.0
+device from the list, identifying it as the
+programming device.</p>
+</li>
+<li>
+<p>Select the image you want put on the
+TeleMetrum, which should have a name in the
+form telemetrum-v1.2-1.0.0.ihx.  It should
+be visible in the default directory, if not
+you may have to poke around your system to
+find it.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number
+and/or RF configuration values aren&#8217;t right,
+you&#8217;ll need to change them.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should
+proceed to flash the TeleMetrum with new
+firmware, showing a progress bar.</p>
+</li>
+<li>
+<p>Confirm that the TeleMetrum board seems to
+have updated OK, which you can do by
+plugging in to it over USB and using a
+terminal program to connect to the board and
+issue the 'v' command to check the version,
+etc.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>If something goes wrong, give it another try.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_updating_telemini_v1_0_firmware">C.2.2. Updating TeleMini v1.0 Firmware</h4>
+<div class="paragraph">
+<p>You&#8217;ll need a special 'programming cable' to
+reprogram the TeleMini v1.0.  You can make your own
+using an 8-pin MicroMaTch connector on one end
+and a set of four pins on the other.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Take the 2 screws out of the TeleDongle v0.2
+or TeleBT v1.0 case to get access to the
+circuit board.</p>
+</li>
+<li>
+<p>Plug the 8-pin end of the programming cable
+to the matching connector on the TeleDongle
+v0.2 or TeleBT v1.0, and the 4-pins into the
+holes in the TeleMini v1.0 circuit board.  Note
+that the MicroMaTch connector has an
+alignment pin that goes through a hole in
+the PC board when you have the cable
+oriented correctly, and that pin 1 on the
+TeleMini v1.0 board is marked with a square pad
+while the other pins have round pads.</p>
+</li>
+<li>
+<p>Attach a battery to the TeleMini v1.0 board.</p>
+</li>
+<li>
+<p>Plug the TeleDongle v0.2 or TeleBT v1.0 into
+your computer&#8217;s USB port, and power up the
+TeleMini v1.0</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from
+the File menu.</p>
+</li>
+<li>
+<p>Pick the TeleDongle v0.2 or TeleBT v1.0
+device from the list, identifying it as the
+programming device.</p>
+</li>
+<li>
+<p>Select the image you want put on the
+TeleMini v1.0, which should have a name in the
+form telemini-v1.0-1.0.0.ihx.  It should be
+visible in the default directory, if not you
+may have to poke around your system to find
+it.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number
+and/or RF configuration values aren&#8217;t right,
+you&#8217;ll need to change them.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should
+proceed to flash the TeleMini v1.0 with new
+firmware, showing a progress bar.</p>
+</li>
+<li>
+<p>Confirm that the TeleMini v1.0 board seems to
+have updated OK, which you can do by
+configuring it over the radio link through
+the TeleDongle, or letting it come up in
+“flight” mode and listening for telemetry.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>If something goes wrong, give it another try.</p>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_updating_teledongle_v0_2_firmware">C.2.3. Updating TeleDongle v0.2 Firmware</h4>
+<div class="paragraph">
+<p>Updating TeleDongle v0.2 firmware is just like
+updating TeleMetrum v1.x or TeleMini v1.0 firmware, but you
+use either a TeleMetrum v1.x, TeleDongle v0.2 or
+TeleBT v1.0 as the programmer.</p>
+</div>
+<div class="olist arabic">
+<ol class="arabic">
+<li>
+<p>Find the 'programming cable' that you got as part of
+the starter kit, that has a red 8-pin MicroMaTch
+connector on one end and a red 4-pin MicroMaTch
+connector on the other end.</p>
+</li>
+<li>
+<p>Find the USB cable that you got as part of the
+starter kit, and plug the “mini” end in to the
+mating connector on TeleMetrum v1.x, TeleDongle v0.2
+or TeleBT v1.0.</p>
+</li>
+<li>
+<p>Take the 2 screws out of the TeleDongle v0.2 or
+TeleBT v1.0 case to get access to the circuit board.</p>
+</li>
+<li>
+<p>Plug the 8-pin end of the programming cable to the
+matching connector on the programmer, and the 4-pin
+end to the matching connector on the TeleDongle
+v0.2.  Note that each MicroMaTch connector has an
+alignment pin that goes through a hole in the PC
+board when you have the cable oriented correctly.</p>
+</li>
+<li>
+<p>Attach a battery to the TeleMetrum v1.x board if
+you&#8217;re using one.</p>
+</li>
+<li>
+<p>Plug both the programmer and the TeleDongle into
+your computer&#8217;s USB ports, and power up the
+programmer.</p>
+</li>
+<li>
+<p>Run AltosUI, and select 'Flash Image' from the File
+menu.</p>
+</li>
+<li>
+<p>Pick the programmer device from the list,
+identifying it as the programming device.</p>
+</li>
+<li>
+<p>Select the image you want put on the TeleDongle
+v0.2, which should have a name in the form
+teledongle-v0.2-1.0.0.ihx.  It should be visible in
+the default directory, if not you may have to poke
+around your system to find it.</p>
+</li>
+<li>
+<p>Make sure the configuration parameters are
+reasonable looking. If the serial number and/or RF
+configuration values aren&#8217;t right, you&#8217;ll need to
+change them.  The TeleDongle v0.2 serial number is
+on the “bottom” of the circuit board, and can
+usually be read through the translucent blue plastic
+case without needing to remove the board from the
+case.</p>
+</li>
+<li>
+<p>Hit the 'OK' button and the software should proceed
+to flash the TeleDongle v0.2 with new firmware,
+showing a progress bar.</p>
+</li>
+<li>
+<p>Confirm that the TeleDongle v0.2 board seems to have
+updated OK, which you can do by plugging in to it
+over USB and using a terminal program to connect to
+the board and issue the 'v' command to check the
+version, etc.  Once you&#8217;re happy, remove the
+programming cable and put the cover back on the
+TeleDongle v0.2.</p>
+</li>
+</ol>
+</div>
+<div class="paragraph">
+<p>If something goes wrong, give it another try.</p>
+</div>
+<div class="paragraph">
+<p>Be careful removing the programming cable from the
+locking 8-pin connector on TeleMetrum.  You&#8217;ll need a
+fingernail or perhaps a thin screwdriver or knife
+blade to gently pry the locking ears out slightly to
+extract the connector.  We used a locking connector on
+TeleMetrum to help ensure that the cabling to
+companion boards used in a rocket don&#8217;t ever come
+loose accidentally in flight.</p>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_flight_data_recording">Appendix D: Flight Data Recording</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Each flight computer logs data at 100 samples per second
+during ascent and 10 samples per second during
+descent, except for TeleMini v1.0, which records ascent at 10 samples
+per second and descent at 1 sample per second.
+Data are logged to
+an on-board flash memory part, which can be partitioned into
+several equal-sized blocks, one for each flight.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 11. Data Storage on Altus Metrum altimeters</caption>
+<colgroup>
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+<col style="width: 25%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Device</th>
+<th class="tableblock halign-left valign-top">Bytes per Sample</th>
+<th class="tableblock halign-left valign-top">Total Storage</th>
+<th class="tableblock halign-left valign-top">Minutes at Full Rate</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">20</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.1 v1.2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">80</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">80</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">4</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">512kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">32</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40</p></td>
+</tr>
+</tbody>
+</table>
+<div class="paragraph">
+<p>The on-board flash is partitioned into separate flight logs,
+each of a fixed maximum size. Increase the maximum size of
+each log and you reduce the number of flights that can be
+stored. Decrease the size and you can store more flights.</p>
+</div>
+<div class="paragraph">
+<p>Configuration data is also stored in the flash memory on
+TeleMetrum v1.x,
+TeleMini v3.0 and
+EasyMini.
+This consumes 64kB
+of flash space.  This configuration space is not available
+for storing flight log data.</p>
+</div>
+<div class="paragraph">
+<p>TeleMetrum v2 or newer, TeleMega and EasyMega
+store configuration data in a bit of eeprom available within
+the processor chip, leaving that space available in flash for
+more flight data.</p>
+</div>
+<div class="paragraph">
+<p>To compute the amount of space needed for a single flight, you
+can multiply the expected ascent time (in seconds) by 100
+times bytes-per-sample, multiply the expected descent time (in
+seconds) by 10 times the bytes per sample and add the two
+together. That will slightly under-estimate the storage (in
+bytes) needed for the flight.
+For instance, a TeleMetrum v2 or newer flight spending
+20 seconds in ascent and 150 seconds in descent will take
+about (20 * 1600) + (150 * 160) = 56000 bytes of storage. You
+could store dozens of these flights in the on-board flash.</p>
+</div>
+<div class="paragraph">
+<p>The default size allows for several flights on each flight
+computer, except for TeleMini v1.0, which
+only holds data for a single flight.
+You can adjust the size.</p>
+</div>
+<div class="paragraph">
+<p>Altus Metrum flight computers will not overwrite existing
+flight data, so be sure to download flight data and erase it
+from the flight computer before it fills up. The flight
+computer will still successfully control the flight even if it
+cannot log data, so the only thing you will lose is the data.</p>
+</div>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_altus_metrum_hardware_specifications">Appendix E: Altus Metrum Hardware Specifications</h2>
+<div class="sectionbody">
+<div class="paragraph">
+<p>Here&#8217;s the full set of Altus Metrum products, both in
+production and retired.</p>
+</div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 12. Altus Metrum Flight Computer Electronics</caption>
+<colgroup>
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+<col style="width: 12.5%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Device</th>
+<th class="tableblock halign-left valign-top">Barometer</th>
+<th class="tableblock halign-left valign-top">Z-axis accel</th>
+<th class="tableblock halign-left valign-top">GPS</th>
+<th class="tableblock halign-left valign-top">3D sensors</th>
+<th class="tableblock halign-left valign-top">Storage</th>
+<th class="tableblock halign-left valign-top">RF Output</th>
+<th class="tableblock halign-left valign-top">Battery</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA2202 50g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.1</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA2202 50g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v1.2</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL78 70g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">SkyTraq</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MP3H6115 10km (33k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">5kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">10mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">512kB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v3.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-7Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU9250</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v4.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">BMX160</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega v5.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">uBlox Max-8Q</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 MMC5983</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">40mW</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MMA6555 102g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU6000 HMC5883</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MS5607 30km (100k')</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">MPU9250</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">8MB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyTimer v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">16g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">BMX160</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3.7-12V</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMotor v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">ADXL375 200g</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">-</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">6.5-15V</p></td>
+</tr>
+</tbody>
+</table>
+<div style="page-break-after: always;"></div>
+<table class="tableblock frame-all grid-all stretch">
+<caption class="title">Table 13. Altus Metrum Flight Computer Mechanical Components</caption>
+<colgroup>
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.6666%;">
+<col style="width: 16.667%;">
+</colgroup>
+<thead>
+<tr>
+<th class="tableblock halign-left valign-top">Device</th>
+<th class="tableblock halign-left valign-top">Connectors</th>
+<th class="tableblock halign-left valign-top">Screw Terminals</th>
+<th class="tableblock halign-left valign-top">Width</th>
+<th class="tableblock halign-left valign-top">Length</th>
+<th class="tableblock halign-left valign-top">Tube Size</th>
+</tr>
+</thead>
+<tbody>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMetrum</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Companion USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Switch</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1 inch (2.54cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2 ¾ inch (6.99cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">29mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v1.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">½ inch (1.27cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">18mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMini v2.0</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Battery Switch</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMini</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">TeleMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Antenna Debug Companion USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Pyro A-D Switch Pyro battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1¼ inch (3.18cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">3¼ inch (8.26cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">38mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMega</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug Companion USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Apogee pyro Main pyro Pyro A-D Switch Pyro battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1¼ inch (3.18cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">2¼ inch (5.62cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">38mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyTimer</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Pyro A Pyro B Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+<tr>
+<td class="tableblock halign-left valign-top"><p class="tableblock">EasyMotor</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">Debug USB</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">+5V Pres GND Switch Battery</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">0.8 inch (2.03cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">1½ inch (3.81cm)</p></td>
+<td class="tableblock halign-left valign-top"><p class="tableblock">24mm coupler</p></td>
+</tr>
+</tbody>
+</table>
+</div>
+</div>
+<div class="sect1">
+<h2 id="_release_notes">Appendix F: Release Notes</h2>
+<div class="sectionbody">
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_9">F.1. Release Notes for Version 1.9.9</h3>
+<div class="paragraph">
+<p>Version 1.9.9</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+<div class="paragraph">
+<p>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.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos">F.1.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>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.</p>
+</li>
+<li>
+<p>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.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_2">F.1.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>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.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_8">F.2. Release Notes for Version 1.9.8</h3>
+<div class="paragraph">
+<p>Version 1.9.8</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_2">F.2.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMega v5.0</p>
+</li>
+<li>
+<p>Extend extra pyro channel times to support delay &gt; 327 seconds</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_3">F.2.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support ARM devices in Linux binary release</p>
+</li>
+<li>
+<p>Add support for TeleMega v5.0</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_2">F.2.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Show tilt angle in pad and flight tabs</p>
+</li>
+<li>
+<p>Show altitude as well as height (useful for TeleGPS)</p>
+</li>
+<li>
+<p>Support devices without GPS receivers</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_micropeak_gui">F.2.4. MicroPeak GUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Show error dialog if device open fails</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_7">F.3. Release Notes for Version 1.9.7</h3>
+<div class="paragraph">
+<p>Version 1.9.7</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_3">F.3.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix TeleGPS logging so that new data are appended to an existing log correctly</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_4">F.3.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support Mac OS X 11 (Big Sur)</p>
+</li>
+<li>
+<p>Support Monitor Idle on Easy Timer</p>
+</li>
+<li>
+<p>Fix TeleMega v4.0 and TeleMetrum v3.0 configuration in Antenna Down mode</p>
+</li>
+<li>
+<p>Show launch sites in Load Maps view</p>
+</li>
+<li>
+<p>Add IMU header names to CSV files</p>
+</li>
+<li>
+<p>Clean up TeleGPS log corruption due to firmware bugs during firmware update</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_3">F.3.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support older devices back to Android version 5.1</p>
+</li>
+<li>
+<p>Fix a number of issues that could result in app crashes</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_6">F.4. Release Notes for Version 1.9.6</h3>
+<div class="paragraph">
+<p>Version 1.9.6</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_4">F.4.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>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.</p>
+</li>
+<li>
+<p>Adjust self-test of new 9-axis IMU (BMX-160) so that it
+doesn&#8217;t think the part has a failure when tested sitting
+horizontally.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_5">F.5. Release Notes for Version 1.9.5</h3>
+<div class="paragraph">
+<p>Version 1.9.5</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_5">F.5.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add Booster mode for all dual-deploy altimeters. Select
+"Separation &amp; Apogee" mode in AltosUI to fire the 'main'
+channel at first motor burnout and the 'apogee' channel at
+apogee.</p>
+</li>
+<li>
+<p>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.</p>
+</li>
+<li>
+<p>Fix orientation label in AltosUI for devices with
+radios. This makes the orientation say 'Antenna up' and
+'Antenna Down' for TeleMetrum and TeleMega again.</p>
+</li>
+<li>
+<p>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.</p>
+</li>
+<li>
+<p>Allow Igniter Test to fire each igniter more than once.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_5">F.5.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Improve performance of Monitor Idle mode by sending less data for each
+update.</p>
+</li>
+<li>
+<p>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.</p>
+</li>
+<li>
+<p>Make larger dialogs scrollable for use on smaller screens.</p>
+</li>
+<li>
+<p>Fix troubles re-flashing EasyMega boards running older
+firmware.</p>
+</li>
+<li>
+<p>Add TeleMetrum v3.0 firmware to the Windows
+AltosUI packages.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_4">F.6. Release Notes for Version 1.9.4</h3>
+<div class="paragraph">
+<p>Version 1.9.4</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_6">F.6.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>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.</p>
+</li>
+<li>
+<p>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.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_6">F.6.2. AltosUI</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add TeleMetrum v3.0 firmware to the Linux and Mac OSX
+AltosUI packages.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_3">F.7. Release Notes for Version 1.9.3</h3>
+<div class="paragraph">
+<p>Version 1.9.3</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_7">F.7.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add APRS offset. Allows multiple APRS transmitters to coordinate when
+transmission occurs to allow them to share a frequency.</p>
+</li>
+<li>
+<p>Fix max log size. Flight computer storage is erased in 64kB chunks. Adjust max
+log size to be a multiple of this size.</p>
+</li>
+<li>
+<p>Check flight erasing more carefully. Handle interrupting erasing in the
+middle.</p>
+</li>
+<li>
+<p>Add EasyTimer support.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak">F.7.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add configuration support for APRS offset.</p>
+</li>
+<li>
+<p>Adjust flight log sizes to be a multiple of the flight
+computer erase block size.</p>
+</li>
+<li>
+<p>Report barometric pad altitude in Pad tab for TeleMini.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_2">F.8. Release Notes for Version 1.9.2</h3>
+<div class="paragraph">
+<p>Version 1.9.2</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_8">F.8.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMega v4.0</p>
+</li>
+<li>
+<p>Fix time wrapping issue with TeleLCO and TeleFire</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_2">F.8.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add column in AltosUI for IMU data from TeleMega and EasyMega</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_4">F.8.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Allow sorting of trackers by call, serial, frequency or age</p>
+</li>
+<li>
+<p>Offer selection of font sizes</p>
+</li>
+<li>
+<p>Various bug fixes for older Android versions</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9_1">F.9. Release Notes for Version 1.9.1</h3>
+<div class="paragraph">
+<p>Version 1.9.1</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_9">F.9.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMetrum v3.0</p>
+</li>
+<li>
+<p>Fix accel cal value when changing EasyMega v2.0 pad orientation</p>
+</li>
+<li>
+<p>Correct EasyMega v2.0 magnetometer data axes</p>
+</li>
+<li>
+<p>Fix EasyMega v2.0 idle monitor display of IMU data</p>
+</li>
+<li>
+<p>Report all sensor failures at power-up time.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_3">F.9.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Display error message when attempting to graph unknown format file.</p>
+</li>
+<li>
+<p>Make it possible to disable APRS once enabled.</p>
+</li>
+<li>
+<p>Display some data for point near cursor in map tab.</p>
+</li>
+<li>
+<p>Support upgrading devices from pre-1.8 firmware</p>
+</li>
+<li>
+<p>Wait for Windows to prepare new devices during firmware
+upgrade. This should avoid the “COMxx: open failed” message.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_9">F.10. Release Notes for Version 1.9</h3>
+<div class="paragraph">
+<p>Version 1.9</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_10">F.10.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for EasyMega v2.0</p>
+</li>
+<li>
+<p>Replace C library for ARM devices</p>
+</li>
+<li>
+<p>Remove support for 8051-based devices and SDCC compiler</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_4">F.10.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Select ROM images based on product name when reflashing</p>
+</li>
+<li>
+<p>Fix TeleGPS v2 battery voltage display</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_7">F.11. Release Notes for Version 1.8.7</h3>
+<div class="paragraph">
+<p>Version 1.8.7</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_11">F.11.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Include TeleMega v3.0 firmware</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_micropeak_5">F.11.2. AltosUI, TeleGPS, MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Poll for new devices while Device dialog is displayed</p>
+</li>
+<li>
+<p>Wait for device to re-appear when flashing new firmware</p>
+</li>
+<li>
+<p>Fetch correct TeleBT v4.0 RF calibration values from web
+site when reflashing.</p>
+</li>
+<li>
+<p>Change gyro headings in .csv files from x/y/z to
+roll/pitch/yaw</p>
+</li>
+<li>
+<p>Add documentation about Packet Link mode</p>
+</li>
+<li>
+<p>Add documentation about forcing TeleMini RF parameters to
+known values.</p>
+</li>
+<li>
+<p>Create a proxy server for Google Maps to re-enable map
+images</p>
+</li>
+<li>
+<p>Fix Java version info in all distributed jar files so that
+applications will run with standard Mac OS X Java.</p>
+</li>
+<li>
+<p>Replace JavaApplicationStub for Mac OS X so that
+applications will run with Oracle Java.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_6">F.12. Release Notes for Version 1.8.6</h3>
+<div class="paragraph">
+<p>Version 1.8.6</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_12">F.12.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Use maximum of 64 previous tilt values in pyro tilt tests</p>
+</li>
+<li>
+<p>Eliminate 100m height requirement for coast detection</p>
+</li>
+<li>
+<p>Change After Motor pyro check to be &gt;= instead of ==</p>
+</li>
+<li>
+<p>Change Time since Boost to be Time since launch.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps">F.12.2. AltosUI, TeleGPS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Clarify pyro test phrasing</p>
+</li>
+<li>
+<p>Remove ascending/descending from pyro config UI</p>
+</li>
+<li>
+<p>Fix accel calibration in Antenna Down mode</p>
+</li>
+<li>
+<p>Add mag sensor reporting for TeleMega v3 idle monitoring.</p>
+</li>
+<li>
+<p>Fix radio parameter saving at 2400 bps telmetry rate.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_micropeak">F.12.3. MicroPeak</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Report altimeter-recorded maximum height value</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_5">F.13. Release Notes for Version 1.8.5</h3>
+<div class="paragraph">
+<p>Version 1.8.5 includes fixes to the ground software support
+for TeleBT v4, along with a few other minor updates.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_13">F.13.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix startup beeps that indicate sensor failures.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_2">F.13.2. AltosUI, TeleGPS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>When updating device firmware, make sure selected firmware
+matches target device.</p>
+</li>
+<li>
+<p>Correct Bluetooth device matching when looking for TeleBT
+devices.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_4">F.14. Release Notes for Version 1.8.4</h3>
+<div class="paragraph">
+<p>Version 1.8.4 includes support for EasyMini version 2.0</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_14">F.14.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for EasyMini version 2.0 hardware.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_3">F.15. Release Notes for Version 1.8.3</h3>
+<div class="paragraph">
+<p>Version 1.8.3 includes support for TeleMega version 3.0 along
+with two important flight computer fixes. This version also
+changes KML export data to make Tripoli Record reporting
+better and some updates to graph presentation and data
+downloading.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_15">F.15.1. AltOS</h4>
+<div class="sect4">
+<h5 id="_altos_new_features">AltOS New Features</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleMega version 3.0 hardware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_altos_bug_fixes">AltOS Bug Fixes</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Ground testing EasyMega and TeleMega additional pyro
+channels could result in a sticky 'fired' status which would
+prevent these channels from firing on future flights.</p>
+</li>
+<li>
+<p>Corrupted flight log records could prevent future flights
+from capturing log data.</p>
+</li>
+<li>
+<p>Fixed saving of pyro configuration that ended with
+'Descending'.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications">F.15.2. AltosUI and TeleGPS Applications</h4>
+<div class="sect4">
+<h5 id="_altosui_new_features">AltosUI New Features</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleMega version 3.0.</p>
+</li>
+<li>
+<p>Graph lines have improved appearance to make them easier to
+distinguish. Markers may be placed at data points to show
+captured recorded data values.</p>
+</li>
+<li>
+<p>Graphing offers the ability to adjust the smoothing of
+computed speed and acceleration data.</p>
+</li>
+<li>
+<p>The download dialog now offers to graph new flights, checks
+for existing files to avoid overwriting data and reports if
+there are checksum errors in the downloaded data.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_altosuitelegps_bug_fixes">AltosUI/TeleGPS Bug Fixes</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>Restore TeleGPS tracking behavior.</p>
+</li>
+<li>
+<p>Display flight computer call sign and serial number in
+Monitor Idle mode instead of ground station values.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect4">
+<h5 id="_altosui_and_telegps_changes">AltosUI and TeleGPS Changes</h5>
+<div class="ulist">
+<ul>
+<li>
+<p>KML export now reports both barometric and GPS altitude data
+to make it more useful for Tripoli record reporting.</p>
+</li>
+<li>
+<p>CSV export now includes TeleMega/EasyMega pyro voltages and
+tilt angle.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_2">F.16. Release Notes for Version 1.8.2</h3>
+<div class="paragraph">
+<p>Version 1.8.2 includes support for TeleGPS version 2.0 along
+with accelerometer recalibration support in AltosUI.</p>
+</div>
+<div class="paragraph">
+<p>1.8.2 also contains a couple of minor fixes for AltosUI when
+analyzing saved data files.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_16">F.16.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleGPS version 2.0 hardware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_2">F.16.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleGPS version 2.0.</p>
+</li>
+<li>
+<p>Accelerometer re-calibration user interface.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Prevent some crashes when reading older saved flight data
+for graphing or KML export.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8_1">F.17. Release Notes for Version 1.8.1</h3>
+<div class="paragraph">
+<p>Version 1.8.1 includes an important bug fix for Apogee Lockout
+operation in all flight computers. Anyone using this option
+must update firmware.</p>
+</div>
+<div class="paragraph">
+<p>This release also contains a change in how flight computers
+with accelerometers deal with speeds around and above Mach
+1. In previous versions, the flight computer would completely
+disregard the barometric sensor above 330m/s (around Mach
+1). Now, the data from the barometric sensor is reduced in
+effect without ever going away entirely. This prevents early
+drogue deployment for flights which spend considerable time
+above Mach 1.</p>
+</div>
+<div class="paragraph">
+<p>1.8.1 also contains a couple of minor fixes for AltosUI when
+analyzing saved data files.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_17">F.17.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Handle time value wrapping in Apogee Lockout
+correctly. Without this, apogee lockout would sometimes
+prevent any drogue charge from firing.</p>
+</li>
+<li>
+<p>Change Kalman filter on flight computers with accelerometer
+to continue using the barometric sensor even at high speeds
+to avoid unintentional drogue deployment during
+deceleration.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_3">F.17.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add new 'Huge' font size to make text even bigger on high
+resolution monitors.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Prevent some crashes when reading older saved flight data
+for graphing or KML export.</p>
+</li>
+<li>
+<p>Load frequency preference at startup. The loading code was
+broken, so you&#8217;d see only the default frequencies.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_8">F.18. Release Notes for Version 1.8</h3>
+<div class="paragraph">
+<p>Version 1.8 includes support for our new TeleBT v4.0 ground
+station, updates for data analysis in our ground station
+software and bug fixes in in the flight software for all our
+boards and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_18">F.18.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT v4.0 boards.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_4">F.18.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT v4.0 hardware</p>
+</li>
+<li>
+<p>Rewrite graphing and export functions. This code now handles
+each data series separately so that graphs are drawn
+correctly. Smoothing now uses a filter that looks both
+forward and backwards in time to make computed speed and
+acceleration data more accurate.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Bug Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Correct axis labeling of magnetic sensor in TeleMega and
+EasyMega. The Y and Z axes were flipped.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_7">F.19. Release Notes for Version 1.7</h3>
+<div class="paragraph">
+<p>Version 1.7 includes support for our new TeleMini v3.0
+flight computer and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_19">F.19.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMini v3.0 boards.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix interrupt priorities on STM32L processors. Run timer
+interrupt at lowest priority so that device interrupts get
+serviced first.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_5">F.19.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMini v3.0 hardware</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_8">F.20. Release Notes for Version 1.6.8</h3>
+<div class="paragraph">
+<p>Version 1.6.8 fixes a TeleMega and TeleMetrum v2.0 bug where
+the device could stop logging data and transmitting
+telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
+v2.0 users should update their flight firmware.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_20">F.20.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix STM32L DMA driver to work around STM32L SoC DMA priority
+issue t lock-up in the logging or radio code, either of
+which could stop data logging and telemetry.</p>
+</li>
+<li>
+<p>Avoid having TeleBT battery status values smash telemetry
+packet data by holding a lock during both operations.</p>
+</li>
+<li>
+<p>Don&#8217;t start reporting 'flight 0' when the log fills in
+flight.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS changes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Flash LEDS on all products briefly during power up so that
+they can be tested during production.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_and_altosdroid_applications">F.20.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Re-enable go/no-go entries after they&#8217;ve been disabled due
+to lack of data. If telemetry information is delayed when
+the Ui starts up, sometimes important fields would get
+disabled to never re-appear.</p>
+</li>
+<li>
+<p>Deal with ground station failure better during Configure
+Ground Station operation by cleaning up pending operations.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_5">F.21. Release Notes for Version 1.6.5</h3>
+<div class="paragraph">
+<p>Version 1.6.5 fixes a TeleMega and TeleMetrum v2.0 bug where
+the device would often stop logging data and transmitting
+telemetry in flight. All TeleMega v1.0, v2.0 and TeleMetrum
+v2.0 users should update their flight firmware.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_21">F.21.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix STM32L SPI driver to prevent lock-up in the logging or
+radio code, either of which could stop data logging and
+telemetry. Found and characterized by Chuck Haskin, who also
+tested the new firmware before release.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_and_altosdroid_applications_2">F.21.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Deliver firmward for TeleMega v2.0 and TeleBT v3.0 with
+Windows package.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_4">F.22. Release Notes for Version 1.6.4</h3>
+<div class="paragraph">
+<p>Version 1.6.4 fixes a bluetooth communication problem with
+TeleBT v1.0 devices, along with some altosui and altosdroid
+minor nits. It also now ships firmware for some newer devices.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_22">F.22.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix hardware flow control on TeleBT v1.0. Hardware RTS/CTS
+doesn&#8217;t seem to work, switch from using the hardware to
+driving these pins with software.</p>
+</li>
+<li>
+<p>Fix ARM USB drivers to deal with OS restarts. Needed to
+reset all USB-related state when the USB bus is reset. These
+fixes affect all STM32L, STM32F0 and LPC11U14 based devices.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_telegps_and_altosdroid_applications_3">F.22.2. AltosUI, TeleGPS and AltosDroid Applications</h4>
+<div class="paragraph">
+<p>AltosUI, TeleGPS and AltosDroid New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Automatically switch from meters or feet to kilometers or
+miles for distance units.</p>
+</li>
+<li>
+<p>Add Monitor Idle mode to TeleGPS application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI, TeleGPS and AltosDroid Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Abort map preloading when the preload map dialog is closed.</p>
+</li>
+<li>
+<p>In AltosDroid, Don&#8217;t reconnect to last device if the user
+had disconnected it the last time the application was
+active.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation">F.22.3. Documentation</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Mention TeleMega v2.0 in hardware specs table.</p>
+</li>
+<li>
+<p>Document TeleGPS RF output in telegps manual.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_3">F.23. Release Notes for Version 1.6.3</h3>
+<div class="paragraph">
+<p>Version 1.6.3 adds idle mode to AltosDroid and has bug fixes
+for our host software on desktops, laptops an android devices
+along with BlueTooth support for Windows.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_23">F.23.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix hardware flow control on TeleBT v3.0. RTS/CTS is
+wired backwards on this board, switch from using the
+hardware to driving these pins with software.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_6">F.23.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add BlueTooth support for Windows operating system. This
+supports connections to TeleBT over BlueTooth rather than
+just USB.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Change Java detection and install on Windows. Detection is
+now done by looking for the 'javaw.exe' program, and
+installation by opening a browser on the java.com web site.</p>
+</li>
+<li>
+<p>Delay polling while the Fire Igniters is visible to allow
+for TeleMega to report back complete status over the radio.</p>
+</li>
+<li>
+<p>Disallow changing RF calibration numbers in the
+configuration UI. There&#8217;s no good reason to change this from
+the field, and recovering is really hard if you haven&#8217;t
+written down the right number.</p>
+</li>
+<li>
+<p>Fix USB device discovery on Mac OS X El Capitan. This makes
+the connected Altus Metrum USB devices appear again.</p>
+</li>
+<li>
+<p>Fix acceleration data presented in MonitorIdle mode for
+TeleMetrum v2.0 flight computers.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_5">F.23.3. AltosDroid</h4>
+<div class="paragraph">
+<p>AltosDroid new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Monitor Idle mode. Check state of flight computer while in
+idle mode over the radio link</p>
+</li>
+<li>
+<p>Fire Igniters. Remotely fire ignires for recovery system
+ground tests.</p>
+</li>
+<li>
+<p>Remote reboot. Cause the flight computer to reboot over the
+radio link. This provides a method for switching the flight
+computer from idle to flight mode without needing to reach
+the power switch.</p>
+</li>
+<li>
+<p>Configurable frequency menu. Change the set of available
+frequencies and provide more descriptive names.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosDroid bug fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Don&#8217;t set target location if GPS hasn&#8217;t locked yet.</p>
+</li>
+<li>
+<p>Fix saving target states so they can be reloaded when the
+application restarts. When the application is shut down and
+restarted, all previous target state information will be
+restored (including GPS position if available).</p>
+</li>
+<li>
+<p>Fix crash on some Android devices for offline maps when
+changing the map scale or location.</p>
+</li>
+<li>
+<p>Don&#8217;t require USB OTG support. This kept the latest
+AltosDroid from being offered on devices without USB device
+support, although it can work without that just fine using
+BlueTooth.</p>
+</li>
+<li>
+<p>Don&#8217;t require bluetooth to be enabled. This allows the
+application to operate with USB devices or just show old
+data without turning on the bluetooth radio.</p>
+</li>
+<li>
+<p>Recover old tracker positions when restarting
+application. This finally allows you to safely stop and
+restart the application without losing the last known
+location of any tracker.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation_2">F.23.4. Documentation</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Document TeleMega and EasyMega additional pyro channel
+continuity audio alert pattern.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_2">F.24. Release Notes for Version 1.6.2</h3>
+<div class="paragraph">
+<p>Version 1.6.2 includes support for our updated TeleMega v2.0
+product and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_24">F.24.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleMega v2.0 boards.</p>
+</li>
+<li>
+<p>Add PWM servo driver. There&#8217;s no higher level code using
+this yet, but the driver allows testing of the TeleMega v2.0
+servo output connector.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Slow down telemetry packets to allow receiver to keep
+up.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_7">F.24.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix post-flight orientation computation when processing
+TeleMega and EasyMega eeprom data files.</p>
+</li>
+<li>
+<p>Capture complete eeprom data even when there are invalid
+entries in the data. This keeps reading eeprom contents and
+writing the associated .eeprom file when an error is detected.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation_3">F.24.3. Documentation</h4>
+<div class="paragraph">
+<p>We spent a bunch of time trying to improve our documentation</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>HTML versions now have a table of contents on the left side.</p>
+</li>
+<li>
+<p>EasyMini now has its own shorter manual.</p>
+</li>
+<li>
+<p>Provide links between sections in each document.</p>
+</li>
+<li>
+<p>Lots of minor rewriting and restructuring to avoid
+duplication of information</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6_1">F.25. Release Notes for Version 1.6.1</h3>
+<div class="paragraph">
+<p>Version 1.6.1 includes support for our updated TeleBT v3.0
+product and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_25">F.25.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT v3.0 boards.</p>
+</li>
+<li>
+<p>Add support for uncompressed APRS data, providing support
+for older APRS receivers. Uncompressed APRS data is less
+precise, takes more bandwidth and doesn&#8217;t have integrated
+altitude data.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make TeleDongle and TeleBT more tolerant of data rate
+variations from transmitting devices.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_8">F.25.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add map to Monitor Idle display. It&#8217;s nice to be able to
+verify that maps are working, instead of needing to use
+Monitor Flight.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and TeleGPS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix frequency configuration to round values instead of
+truncate them, avoiding a common 1kHz error in the setting.</p>
+</li>
+<li>
+<p>Turn the Windows stub into a more useful program that can
+launch the application with parameters so that file manager
+icons work more reliably.</p>
+</li>
+<li>
+<p>Force KML export to use a C locale so that numbers are
+formatted with '.' instead of ',' for a decimal separator in
+non-US locales.</p>
+</li>
+<li>
+<p>Preload map tiles based on distance rather than number of
+tiles; this means you get the same resolution covering the
+entire area, rather than having high resolution near the
+center and low resolution further away.</p>
+</li>
+<li>
+<p>Allow configuration of frequency and callsign in Monitor
+Idle mode.</p>
+</li>
+<li>
+<p>Fix layout weirdness when resizing windows on
+Windows. Windows shouldn&#8217;t have giant blank spaces around
+the useful content anymore.</p>
+</li>
+<li>
+<p>Fix layout weirdness when resizing windows on
+Windows. Windows shouldn&#8217;t have giant blank spaces around
+the useful content anymore.</p>
+</li>
+<li>
+<p>Use a longer filter for descent speed values. This should
+provide something more useful on the display, although it
+will take longer to respond to changes now.</p>
+</li>
+<li>
+<p>Make Replay Flight run in realtime again. It had been set to
+run at 10x speed by mistake.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_6">F.25.3. AltosDroid</h4>
+<div class="paragraph">
+<p>AltosDroid New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add offline map support using mapping code from AltosUI.</p>
+</li>
+<li>
+<p>Support TeleDongle (and TeleBT via USB) on devices
+supporting USB On-The-Go.</p>
+</li>
+<li>
+<p>Display additional TeleMega pyro channel status in Pad tab.</p>
+</li>
+<li>
+<p>Switch between metric and imperial units.</p>
+</li>
+<li>
+<p>Monitor TeleBT battery voltage.</p>
+</li>
+<li>
+<p>Track multiple devices at the same time, selecting between
+them with a menu or using the map.</p>
+</li>
+<li>
+<p>Add hybrid, satellite and terrain map types.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosDroid Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Use standard Android display conventions so that a menu
+button is available in the application title bar.</p>
+</li>
+<li>
+<p>Adjust layout to work on large and small screens; shrinking
+the go/no-go lights in smaller environments to try and make
+everything visible.</p>
+</li>
+<li>
+<p>Make voice announcements depend on current tab.</p>
+</li>
+<li>
+<p>Compute adjustment to current travel direction while in
+motion towards rocket.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_6">F.26. Release Notes for Version 1.6</h3>
+<div class="paragraph">
+<p>Version 1.6 includes support for our updated TeleDongle v3.0
+product and bug fixes in in the flight software for all our boards
+and ground station interfaces.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_26">F.26.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleDongle v3.0 boards.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Don&#8217;t beep out the continuity twice by accident in idle mode.
+If the battery voltage report takes longer than the initialiation
+sequence, the igniter continuity would get reported twice.</p>
+</li>
+<li>
+<p>Record all 32 bits of gyro calibration data in TeleMega and
+EasyMega log files. This fixes computation of the gyro rates
+in AltosUI.</p>
+</li>
+<li>
+<p>Change TeleDongle LED usage. Green LED flashes when valid
+packet is received. Red LED flashes when invalid packet is
+received.</p>
+</li>
+<li>
+<p>Replace LPC11U14 SPI driver with non-interrupt version. The
+interrupt code would occasionally wedge on long transfers
+if interrupts were blocked for too long. This affects all
+released TeleGPS products; if you have a TeleGPS device,
+you&#8217;ll want to reflash the firmware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_9">F.26.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Compute tilt angle from TeleMega and EasyMega log
+files. This duplicates the quaternion-based angle tracking
+code from the flight firmware inside the ground station
+software so that post-flight analysis can include evaluation
+of the tilt angle.</p>
+</li>
+<li>
+<p>Shows the tool button window when starting with a data file
+specified. This means that opening a data file from the file
+manager will now bring up the main window to let you operate
+the whole application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Show the 'Connecting' dialog when using Monitor Idle. Lets
+you cancel the Monitor Idle startup when connecting over the
+radio link.</p>
+</li>
+<li>
+<p>Make 'Monitor Idle' work for TeleGPS devices when connected
+over USB. It&#8217;s nice for testing without needing to broadcast
+over the radio.</p>
+</li>
+<li>
+<p>Use different Windows API to discover USB devices. This
+works better on my Windows 7 box, and will be used if the
+older API fails to provide the necessary information.</p>
+</li>
+<li>
+<p>Look in more places in the registry to try and identify the
+installed Java version on Windows. If you install the
+default 32-bit version of Windows on a 64-bit OS, the Java
+registry information is hiding \SOFTWARE\Wow6432Node for
+some reason.</p>
+</li>
+<li>
+<p>Fix file association on Windows by searching for the
+javaw.exe program instead of assuming it is in
+%SYSTEMROOT%. This makes double-clicking on Altus Metrum
+data files in the file manager work correctly.</p>
+</li>
+<li>
+<p>When replaying a file, put 'done' in the Age field when we
+reach the end of the file, instead of continuing to count forever.</p>
+</li>
+<li>
+<p>In the Scan Channels code, wait for five seconds if we see
+any packet. This is needed because AltOS now sends the
+callsign, serial number and flight number only once every
+five seconds these days.</p>
+</li>
+<li>
+<p>In the Scan Channels code, reset pending flight state
+information each time we change channels. This avoids having
+flight computers appear on multiple frequencies by accident.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_5">F.27. Release Notes for Version 1.5</h3>
+<div class="paragraph">
+<p>Version 1.5 is a major release. It includes support for our new
+EasyMega product, new features and bug fixes in in the flight
+software for all our boards and the AltosUI ground station</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_27">F.27.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for EasyMega boards.</p>
+</li>
+<li>
+<p>Make the APRS SSID be configurable. This lets you track
+different rockets on the same receiver without getting
+things mixed up.</p>
+</li>
+<li>
+<p>Report extra pyro channel continuity state on EasyMega and
+TeleMega via the beeper. This lets you easily verify flight
+readiness on these boards after powering up the electronics
+on the rail.</p>
+</li>
+<li>
+<p>Add lower telemetry data rates (2400 and 9600 bps) to
+increase telemetry radio range. This reduces the amount of
+data received as well as increasing battery consumption in
+the transmitter.</p>
+</li>
+<li>
+<p>Change TeleGPS to have only a single log, and append new
+data to it rather than using seperate per-flight logs. This
+avoids accidentally filling up log storage by turning
+TeleGPS on/off several times.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Increase the maximum range for altitude values from +/-32767m
+to +/-2147483647m, allowing the flight computers to function
+correctly above the 32km level.</p>
+</li>
+<li>
+<p>Continuously test pyro firing conditions during delay stage,
+inhibiting the pyro channel if the test fails. This prevents
+firing pyro charges where the conditions were good before
+the delay, but become bad before the delay expires.</p>
+</li>
+<li>
+<p>Allow negative numbers in pyro configuration values. This
+lets you specify things like descending speed or
+deceleration.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_10">F.27.2. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>AltosUI and TeleGPS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support telemetry baud rate selection. Adds menus to
+the flight monitoring and configuration for baud rate
+selection.</p>
+</li>
+<li>
+<p>Support APRS SSID configuration.</p>
+</li>
+<li>
+<p>Integrate with file managers. This provides icons for all of
+our file types and associates our application with the files
+so that using a file manager to open a AltOS data file
+results in launching our application.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make the 'Graph' button on the landed tab work again.</p>
+</li>
+<li>
+<p>Make tests for Java on Windows a bit smarter, and also
+provide the user with the option to skip installing Java for
+cases where we just can&#8217;t figure out what version is installed.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_4_2">F.28. Release Notes for Version 1.4.2</h3>
+<div class="paragraph">
+<p>Version 1.4.2 is a minor release. It fixes Java-related install issues on
+Windows</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_11">F.28.1. AltosUI and TeleGPS Applications</h4>
+<div class="paragraph">
+<p>Windows Install Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Checks for Java installation data in more registry locations.</p>
+</li>
+<li>
+<p>Allows user to bypass Java installation in case the
+detection fails.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_4_1">F.29. Release Notes for Version 1.4.1</h3>
+<div class="paragraph">
+<p>Version 1.4.1 is a minor release. It fixes install issues on
+Windows and provides the missing TeleMetrum V2.0 firmware. There
+aren&#8217;t any changes to the firmware or host applications at
+all. All Windows users will want to upgrade to get the signed
+driver, but Mac and Linux users who do not need the TeleMetrum
+V2.0 firmware image will not need to upgrade.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_telegps_applications_12">F.29.1. AltosUI and TeleGPS Applications:</h4>
+<div class="paragraph">
+<p>Windows Install Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Provide signed Windows driver files. This should avoid any need to
+disable driver signature checking on Windows 7 or 8.</p>
+</li>
+<li>
+<p>Fix Java version detection and download. Previously, the
+installer would only look for Java 6 or 7 and insist on
+downloading its own Java bits if there was something else
+installed. Furthermore, the 64-bit Java link provided didn&#8217;t
+work for anyone other than Keith, making it impossible to
+install AltOS on any machine with Java SE 8 installed.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>Other Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Include 1.4 firmware for TeleMetrum V2.0. None of the
+installers shipped this file. Now it&#8217;s included in the AltOS
+packages for Linux, Mac and Windows.</p>
+</li>
+<li>
+<p>Include Google Application Key for map downloading. The 1.4
+release didn&#8217;t have this key in the released version of the
+software, making map downloading fail for most people.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_4">F.30. Release Notes for Version 1.4</h3>
+<div class="paragraph">
+<p>Version 1.4 is a major release. It includes support for our new
+TeleGPS product, new features and bug fixes in in the flight
+software for all our boards and the AltosUI ground station</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_28">F.30.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleGPS boards.</p>
+</li>
+<li>
+<p>Make the beeper tone configurable, making it
+possible to distinguish between two Altus Metrum
+products in the same ebay.</p>
+</li>
+<li>
+<p>Make the firing time for extra pyro channels
+configurable, allowing longer (or shorter) than the
+default 50ms.  Only relevant for TeleMega at this
+time.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Replace the 'dit dit dit' tones at startup with the
+current battery voltage, measured in tenths of a
+volt. This lets you check the battery voltage
+without needing telemetry, which is especially
+useful on EasyMini.</p>
+</li>
+<li>
+<p>Change state beeping to "Farnsworth spacing", which
+means they&#8217;re quite a bit faster than before, and so
+they take less time to send.</p>
+</li>
+<li>
+<p>Fix bug preventing the selection of the 'Flight
+State After' mode in pyro configuration.</p>
+</li>
+<li>
+<p>Fix bug where erasing flights would reset the flight
+number to 2 on TeleMega and TeleMetrum v2.</p>
+</li>
+<li>
+<p>Fix u-Blox GPS driver to mark course and speed data
+as being present.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application">F.30.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add zooming and new content types (terrain and road
+maps) to map view. Change map storage format from
+PNG to Jpeg, which saves a huge amount of disk
+space. You will need to re-download all of your
+pre-loaded map images.</p>
+</li>
+<li>
+<p>Add a distance measuring device to the maps
+view. Select this by using any button other than the
+left one, or by pressing shift or control on the
+keyboard while using the left button.</p>
+</li>
+<li>
+<p>Add new 'Ignitor' tab to the flight monitor display
+for TeleMega&#8217;s extra ignitors.</p>
+</li>
+<li>
+<p>Add additional ignitor firing marks and voltages to
+the graph so you can see when the ignitors fired,
+along with the ignitor voltages.</p>
+</li>
+<li>
+<p>Add GPS course, ground speed and climb rate as
+optional graph elements.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>When flashing new firmware, re-try opening the
+device as sometimes it takes a while for the
+underlying operating system to recognize that the
+device has rebooted in preparation for the flashing
+operation.</p>
+</li>
+<li>
+<p>Hide Tilt Angle in ascent tab for devices that don&#8217;t
+have a gyro.</p>
+</li>
+<li>
+<p>Increase the width of data lines in the graphs to
+make them easier to read.</p>
+</li>
+<li>
+<p>Filter out speed and acceleration spikes caused by
+ejection charge firing when computing the maximum
+values. This provides a more accurate reading of
+those maximums.</p>
+</li>
+<li>
+<p>Fix EasyMini voltage displays. Early EasyMini
+prototypes used a 3.0V regulator, and AltosUI still
+used that value as the basis of the
+computation. Production EasyMini boards have always
+shipped with a 3.3V regulator. Also, purple EasyMini
+boards sensed the battery voltage past the blocking
+diode, resulting in a drop of about 150mV from the
+true battery voltage. Compensate for that when
+displaying the value.</p>
+</li>
+<li>
+<p>Display error message when trying to configure
+maximum flight log size while the flight computer
+still has flight data stored.</p>
+</li>
+<li>
+<p>Handle TeleMetrum and TeleMini eeprom files
+generated with pre-1.0 firmware. Those ancient
+versions didn&#8217;t report the log format, so just use
+the product name instead.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_telegps_application">F.30.3. TeleGPS Application</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>New application designed for use with TeleGPS boards.</p>
+</li>
+<li>
+<p>Shares code with AltosUI, mostly just trimmed down
+to focus on TeleGPS-related functions.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_documentation_4">F.30.4. Documentation</h4>
+<div class="paragraph">
+<p>Documentation changes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Re-create the drill template images; they should
+print correctly from Firefox at least. Ship these as
+individual PDF files so they&#8217;re easy to print.</p>
+</li>
+<li>
+<p>Add a description of the 'Apogee Lockout' setting,
+which prevents the apogee charge from firing for a
+configurable amount of time after boost.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_3_2">F.31. Release Notes for Version 1.3.2</h3>
+<div class="paragraph">
+<p>Version 1.3.2 is a minor release. It includes small bug fixes for
+the TeleMega flight software and AltosUI ground station</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_29">F.31.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>On TeleMega, limit number of logged GPS status
+information to 12 satellites. That&#8217;s all there is
+room for in the log structure.</p>
+</li>
+<li>
+<p>Improve APRS behavior. Remembers last known GPS
+position and keeps sending that if we lose GPS
+lock. Marks locked/unlocked by sending L/U in the
+APRS comment field along with the number of sats in
+view and voltages.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_2">F.31.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>If the TeleMega flight firmware reports that it has
+logged information about more than 12 satellites,
+don&#8217;t believe it as the log only holds 12 satellite
+records.</p>
+</li>
+<li>
+<p>Track the maximum height as computed from GPS
+altitude data and report that in the flight summary
+data.</p>
+</li>
+<li>
+<p>Use letters (A, B, C, D) for alternate pyro channel
+names instead of numbers (0, 1, 2, 3) in the Fire
+Igniter dialog.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_3_1">F.32. Release Notes for Version 1.3.1</h3>
+<div class="paragraph">
+<p>Version 1.3.1 is a minor release. It improves support for
+TeleMega, TeleMetrum v2.0, TeleMini v2.0 and EasyMini.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_30">F.32.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Improved APRS mode. Now uses compressed position
+format for smaller data size, improved precision and
+to include altitude data as well as latitude and
+longitude. Also added battery and pyro voltage
+reports in the APRS comment field so you can confirm
+that the unit is ready for launch.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Improve sensor boot code. If sensors fail to
+self-test, the device will still boot up and check
+for pad/idle modes. If in idle mode, the device will
+warn the user with a distinct beep, if in Pad mode,
+the unit will operate as best it can. Also, the
+Z-axis accelerometer now uses the factory
+calibration values instead of re-calibrating on the
+pad each time. This avoids accidental boost detect
+when moving the device around while in Pad mode.</p>
+</li>
+<li>
+<p>Fix antenna-down mode accelerometer
+configuration. Antenna down mode wasn&#8217;t working
+because the accelerometer calibration values were
+getting re-computed incorrectly in inverted mode.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_3">F.32.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Display additional TeleMega sensor values in real
+units. Make all of these values available for
+plotting. Display TeleMega orientation value in the
+Ascent and Table tabs.</p>
+</li>
+<li>
+<p>Support additional TeleMega pyro channels in the
+Fire Igniter dialog. This lets you do remote testing
+of all of the channels, rather than just Apogee and
+Main.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Limit data rate when downloading satellite images
+from Google to make sure we stay within their limits
+so that all of the map tiles download successfully.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_3">F.33. Release Notes for Version 1.3</h3>
+<div class="paragraph">
+<p>Version 1.3 is a major release. It adds support for TeleMega,
+TeleMetrum v2.0, TeleMini v2.0 and EasyMini.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_31">F.33.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add STM32L processor support. This includes
+enhancements to the scheduler to support products
+with many threads.</p>
+</li>
+<li>
+<p>Add NXP LPC11U14 processor support.</p>
+</li>
+<li>
+<p>Support additional pyro channels. These are
+configurable through the UI to handle air starts,
+staging, additional recovery events and external
+devices such as cameras.</p>
+</li>
+<li>
+<p>Add 3-axis gyro support for orientation
+tracking. This integrates the gyros to compute the
+angle from vertical during flight, allowing the
+additional pyro events to be controlled by this
+value.</p>
+</li>
+<li>
+<p>Many more device drivers, including u-Blox Max 7Q
+GPS, Freescale MMA6555 digital single-axis
+accelerometer, Invensense MPU6000 3-axis
+accelerometer + 3 axis gyro, Honeywell HMC5883
+3-axis magnetic sensor and the TI CC1120 and CC115L
+digital FM transceivers</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_4">F.33.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Support TeleMega, TeleMetrum v2.0, TeleMini v2.0 and
+EasyMini telemetry and log formats.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Use preferred units for main deployment height
+configuration, instead of always doing configuration in
+meters.
+== MicroPeak Application</p>
+</li>
+<li>
+<p>Add 'Download' button to menu bar.</p>
+</li>
+<li>
+<p>Save the last log directory and offer that as the
+default for new downloads</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_2_1">F.34. Release Notes for Version 1.2.1</h3>
+<div class="paragraph">
+<p>Version 1.2.1 is a minor release. It adds support for TeleBT and
+the AltosDroid application, provides several new features in
+AltosUI and fixes some bugs in the AltOS firmware.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_32">F.34.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add support for TeleBT</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>In TeleMini recovery mode (when booted with the
+outer two debug pins connected together), the radio
+parameters are also set back to defaults
+(434.550MHz, N0CALL, factory radio cal).</p>
+</li>
+<li>
+<p>Correct Kalman filter model error covariance
+matrix. The values used previously assumed
+continuous measurements instead of discrete
+measurements.</p>
+</li>
+<li>
+<p>Fix some bugs in the USB driver for TeleMetrum and
+TeleDongle that affected Windows users.</p>
+</li>
+<li>
+<p>Adjusted the automatic gain control parameters that
+affect receive performance for TeleDongle. Field
+tests indicate that this may improve receive
+performance somewhat.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_5">F.34.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI application new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make the initial position of the AltosUI top level
+window configurable. Along with this change, the
+other windows will pop up at 'sensible' places now,
+instead of on top of one another.</p>
+</li>
+<li>
+<p>Add GPS data and a map to the graph window. This
+lets you see a complete summary of the flight
+without needing to 'replay' the whole thing.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI application fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Handle missing GPS lock in 'Descent'
+tab. Previously, if the GPS position of the pad was
+unknown, an exception would be raised, breaking the
+Descent tab contents.</p>
+</li>
+<li>
+<p>Improve the graph, adding tool-tips to show values
+near the cursor and making the displayed set of
+values configurable, adding all of the flight data
+as options while leaving the default settings alone
+so that the graph starts by showing height, speed
+and acceleration.</p>
+</li>
+<li>
+<p>Add callsign to Monitor idle window and connecting
+dialogs. This makes it clear which callsign is being
+used so that the operator will be aware that it must
+match the flight computer value or no communication
+will work.</p>
+</li>
+<li>
+<p>When downloading flight data, display the block
+number so that the user has some sense of
+progress. Unfortunately, we don&#8217;t know how many
+blocks will need to be downloaded, but at least it
+isn&#8217;t just sitting there doing nothing for a long
+time.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosdroid_7">F.34.3. AltosDroid</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>First version of this application</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_2">F.35. Release Notes for Version 1.2</h3>
+<div class="paragraph">
+<p>Version 1.2 is a major release. It adds support for MicroPeak
+and the MicroPeak USB adapter.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_33">F.35.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add MicroPeak support. This includes support for the
+ATtiny85 processor and adaptations to the core code
+to allow for devices too small to run the
+multi-tasking scheduler.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_and_micropeak_application">F.35.2. AltosUI and MicroPeak Application</h4>
+<div class="paragraph">
+<p>New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Added MicroPeak application</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI and MicroPeak fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Distribute Mac OS X packages in disk image ('.dmg')
+format to greatly simplify installation.</p>
+</li>
+<li>
+<p>Provide version numbers for the shared Java
+libraries to ensure that upgrades work properly, and
+to allow for multiple Altus Metrum software packages
+to be installed in the same directory at the same
+time.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_1">F.36. Release Notes for Version 1.1</h3>
+<div class="paragraph">
+<p>Version 1.1.1 is a bug-fix release. It fixes a couple of bugs
+in AltosUI and one firmware bug that affects TeleMetrum
+version 1.0 boards. Thanks to Bob Brown for help diagnosing
+the Google Earth file export issue, and for suggesting the
+addition of the Ground Distance value in the Descent tab.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_34">F.36.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>TeleMetrum v1.0 boards use the AT45DB081D flash
+memory part to store flight data, which is different
+from later TeleMetrum boards. The AltOS v1.1 driver
+for this chip couldn&#8217;t erase memory, leaving it
+impossible to delete flight data or update
+configuration values. This bug doesn&#8217;t affect newer
+TeleMetrum boards, and it doesn&#8217;t affect the safety
+of rockets flying version 1.1 firmware.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_7">F.36.2. AltosUI</h4>
+<div class="paragraph">
+<p>AltosUI new features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>The “Descent” tab displays the range to the rocket,
+which is a combination of the over-the-ground
+distance to the rockets current latitude/longitude
+and the height of the rocket. As such, it&#8217;s useful
+for knowing how far away the rocket is, but
+difficult to use when estimating where the rocket
+might eventually land. A new “Ground Distance” field
+has been added which displays the distance to a spot
+right underneath the rocket.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Creating a Google Earth file (KML) from on-board
+flight data (EEPROM) would generate an empty
+file. The code responsible for reading the EEPROM
+file wasn&#8217;t ever setting the GPS valid bits, and so
+the KML export code thought there was no GPS data in
+the file.</p>
+</li>
+<li>
+<p>The “Landed” tab was displaying all values in metric
+units, even when AltosUI was configured to display
+imperial units. Somehow I just missed this tab when
+doing the units stuff.</p>
+</li>
+<li>
+<p>Sensor data wasn&#8217;t being displayed for TeleMini
+flight computers in Monitor Idle mode, including
+things like battery voltage. The code that picked
+which kinds of data to fetch from the flight
+computer was missing a check for TeleMini when
+deciding whether to fetch the analog sensor data.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_1_2">F.37. Release Notes for Version 1.1</h3>
+<div class="paragraph">
+<p>Version 1.1 is a minor release. It provides a few new features
+in AltosUI and the AltOS firmware and fixes bugs.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_35">F.37.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS Firmware New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add apogee-lockout value. Overrides the apogee
+detection logic to prevent incorrect apogee charge
+firing.</p>
+</li>
+<li>
+<p>Force the radio frequency to 434.550MHz when the
+debug clock pin is connected to ground at boot
+time. This provides a way to talk to a TeleMini
+which is configured to some unknown frequency.</p>
+</li>
+<li>
+<p>Provide RSSI values for Monitor Idle mode. This
+makes it easy to check radio range without needing
+to go to flight mode.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix a bug where the data reported in telemetry
+packets was from 320ms ago.</p>
+</li>
+<li>
+<p>Fix a bug which caused the old received telemetry
+packets to be retransmitted over the USB link when
+the radio was turned off and back on.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_8">F.37.2. AltosUI</h4>
+<div class="paragraph">
+<p>AltosUI New Features:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Make the look-n-feel configurable, providing a choice from
+the available options.</p>
+</li>
+<li>
+<p>Add an 'Age' element to mark how long since a
+telemetry packet has been received. Useful to
+quickly gauge whether communications with the rocket
+are still active.</p>
+</li>
+<li>
+<p>Add 'Configure Ground Station' dialog to set the
+radio frequency used by a particular TeleDongle
+without having to go through the flight monitor UI.</p>
+</li>
+<li>
+<p>Add configuration for the new apogee-lockout
+value. A menu provides a list of reasonable values,
+or the value can be set by hand.</p>
+</li>
+<li>
+<p>Add Imperial units mode to present data in feet
+instead of meters.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix a bug that caused GPS ready to happen too
+quickly. The software was using every telemetry
+packet to signal new GPS data, which caused GPS
+ready to be signalled after 10 packets instead of 10
+GPS updates.</p>
+</li>
+<li>
+<p>Fix Google Earth data export to work with recent
+versions. The google earth file loading code got a
+lot pickier, requiring some minor white space
+changes in the export code.</p>
+</li>
+<li>
+<p>Changed how flight data are downloaded. Now there&#8217;s
+an initial dialog asking which flights to download,
+and after that finishes, a second dialog comes up
+asking which flights to delete.</p>
+</li>
+<li>
+<p>Re-compute time spent in each state for the flight
+graph; this figures out the actual boost and landing
+times instead of using the conservative values
+provide by the flight electronics. This improves the
+accuracy of the boost acceleration and main descent
+rate computations.</p>
+</li>
+<li>
+<p>Make AltosUI run on Mac OS Lion. The default Java
+heap space was dramatically reduced for this release
+causing much of the UI to fail randomly. This most
+often affected the satellite mapping download and
+displays.</p>
+</li>
+<li>
+<p>Change how data are displayed in the 'table' tab of
+the flight monitoring window. This eliminates
+entries duplicated from the header and adds both
+current altitude and pad altitude, which are useful
+in 'Monitor Idle' mode.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_1_0_1">F.38. Release Notes for Version 1.0.1</h3>
+<div class="paragraph">
+<p>Version 1.0.1 is a major release, adding support for the
+TeleMini device and lots of new AltosUI features</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_36">F.38.1. AltOS</h4>
+<div class="paragraph">
+<p>AltOS New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add TeleMini v1.0 support.</p>
+</li>
+<li>
+<p>Support operation of TeleMetrum with the antenna pointing
+aft. Previous firmware versions required the antenna to be
+pointing upwards, now there is a configuration option
+allowing the antenna to point aft, to aid installation in
+some airframes.</p>
+</li>
+<li>
+<p>Ability to disable telemetry. For airframes where an antenna
+just isn&#8217;t possible, or where radio transmissions might
+cause trouble with other electronics, there&#8217;s a
+configuration option to disable all telemetry. Note that the
+board will still enable the radio link in idle mode.</p>
+</li>
+<li>
+<p>Arbitrary frequency selection. The radios in Altus Metrum
+devices can be programmed to a wide range of frequencies, so
+instead of limiting devices to 10 pre-selected 'channels',
+the new firmware allows the user to choose any frequency in
+the 70cm band. Note that the RF matching circuit on the
+boards is tuned for around 435MHz, so frequencies far from
+that may reduce the available range.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltOS Fixes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Change telemetry to be encoded in multiple 32-byte
+packets. This enables support for TeleMini and other devices
+without requiring further updates to the TeleDongle
+firmware.</p>
+</li>
+<li>
+<p>Kalman-filter based flight-tracking. The model based sensor
+fusion approach of a Kalman filter means that AltOS now
+computes apogee much more accurately than before, generally
+within a fraction of a second. In addition, this approach
+allows the baro-only TeleMini device to correctly identify
+Mach transitions, avoiding the error-prone selection of a
+Mach delay.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_6">F.38.2. AltosUI Application</h4>
+<div class="paragraph">
+<p>AltosUI New Features</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Add main/apogee voltage graphs to the data
+plot. This provides a visual indication if the
+igniters fail before being fired.</p>
+</li>
+<li>
+<p>Scan for altimeter devices by watching the defined
+telemetry frequencies. This avoids the problem of
+remembering what frequency a device was configured
+to use, which is especially important with TeleMini
+which does not include a USB connection.</p>
+</li>
+<li>
+<p>Monitor altimeter state in "Idle" mode. This
+provides much of the information presented in the
+"Pad" dialog from the Monitor Flight command,
+monitoring the igniters, battery and GPS status
+withing requiring the flight computer to be armed
+and ready for flight.</p>
+</li>
+<li>
+<p>Pre-load map images from home. For those launch
+sites which don&#8217;t provide free Wi-Fi, this allows
+you to download the necessary satellite images
+given the location of the launch site. A list of
+known launch sites is maintained at altusmetrum.org
+which AltosUI downloads to populate a menu; if
+you&#8217;ve got a launch site not on that list, please
+send the name of it, latitude and longitude along
+with a link to the web site of the controlling club
+to the altusmetrum mailing list.</p>
+</li>
+<li>
+<p>Flight statistics are now displayed in the Graph
+data window. These include max height/speed/accel,
+average descent rates and a few other bits of
+information. The Graph Data window can now be
+reached from the 'Landed' tab in the Monitor Flight
+window so you can immediately see the results of a
+flight.</p>
+</li>
+</ul>
+</div>
+<div class="paragraph">
+<p>AltosUI Changes</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Wait for altimeter when using packet mode. Instead
+of quicly timing out when trying to initialize a
+packet mode configuration connection, AltosUI now
+waits indefinitely for the remote device to appear,
+providing a cancel button should the user get
+bored. This is necessary as the TeleMini can only be
+placed in "Idle" mode if AltosUI is polling it.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_9_2">F.39. Release Notes for Version 0.9.2</h3>
+<div class="paragraph">
+<p>Version 0.9.2 is an AltosUI bug-fix release, with no firmware
+changes.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_9">F.39.1. AltosUI</h4>
+<div class="paragraph">
+<p>AltosUI fixes:</p>
+</div>
+<div class="ulist">
+<ul>
+<li>
+<p>Fix plotting problems due to missing file in the Mac
+OS install image.</p>
+</li>
+<li>
+<p>Always read whole eeprom blocks, mark empty records
+invalid, display parsing errors to user.</p>
+</li>
+<li>
+<p>Add software version to Configure AltosUI dialog</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_9">F.40. Release Notes for Version 0.9</h3>
+<div class="paragraph">
+<p>Version 0.9 adds a few new firmware features and accompanying
+AltosUI changes, along with new hardware support.</p>
+</div>
+<div class="sect3">
+<h4 id="_altos_37">F.40.1. AltOS</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for TeleMetrum v1.1 hardware. Sources for the flash
+memory part used in v1.0 dried up, so v1.1 uses a different
+part which required a new driver and support for explicit
+flight log erasing.</p>
+</li>
+<li>
+<p>Multiple flight log support. This stores more than one
+flight log in the on-board flash memory. It also requires
+the user to explicitly erase flights so that you won&#8217;t lose
+flight logs just because you fly the same board twice in one
+day.</p>
+</li>
+<li>
+<p>Telemetry support for devices with serial number &gt;= 256.
+Previous versions used a telemetry packet format that
+provided only 8 bits for the device serial number. This
+change requires that both ends of the telemetry link be
+running the 0.9 firmware or they will not communicate.</p>
+</li>
+</ul>
+</div>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_7">F.40.2. AltosUI Application</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Support for telemetry format changes.</p>
+</li>
+<li>
+<p>Support for multiple flight logs.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_8">F.41. Release Notes for Version 0.8</h3>
+<div class="paragraph">
+<p>Version 0.8 offers a major upgrade in the AltosUI
+interface.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_8">F.41.1. AltosUI Application:</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Post-flight graphing tool. This lets you explore the
+behaviour of your rocket after flight with a scroll-able and
+zoom-able chart showing the altitude, speed and acceleration
+of the airframe along with events recorded by the flight
+computer. You can export graphs to PNG files, or print them
+directly.</p>
+</li>
+<li>
+<p>Real-time moving map which overlays the in-progress flight
+on satellite imagery fetched from Google Maps. This lets you
+see in pictures where your rocket has landed, allowing you
+to plan recovery activities more accurately.</p>
+</li>
+<li>
+<p>Wireless recovery system testing. Prep your rocket for
+flight and test fire the deployment charges to make sure
+things work as expected. All without threading wires through
+holes in your airframe.</p>
+</li>
+<li>
+<p>Optimized flight status displays. Each flight state now has
+it&#8217;s own custom 'tab' in the flight monitoring window so you
+can focus on the most important details. Pre-flight, the
+system shows a set of red/green status indicators for
+battery voltage, apogee/main igniter continutity and GPS
+reception. Wait until they&#8217;re all green and your rocket is
+ready for flight. There are also tabs for ascent, descent
+and landing along with the original tabular view of the
+data.</p>
+</li>
+<li>
+<p>Monitor multiple flights simultaneously. If you have more
+than one TeleDongle, you can monitor a flight with each one
+on the same computer.</p>
+</li>
+<li>
+<p>Automatic flight monitoring at startup. Plug TeleDongle into
+the machine before starting AltosUI and it will
+automatically connect to it and prepare to monitor a flight.</p>
+</li>
+<li>
+<p>Exports Google Earth flight tracks. Using the Keyhole Markup
+Language (.kml) file format, this provides a 3D view of your
+rocket flight through the Google Earth program.</p>
+</li>
+</ul>
+</div>
+<div style="page-break-after: always;"></div>
+</div>
+</div>
+<div class="sect2">
+<h3 id="_release_notes_for_version_0_7_1">F.42. Release Notes for Version 0.7.1</h3>
+<div class="paragraph">
+<p>Version 0.7.1 is the first release containing our new
+cross-platform Java-based user interface.</p>
+</div>
+<div class="sect3">
+<h4 id="_altosui_application_9">F.42.1. AltosUI Application</h4>
+<div class="ulist">
+<ul>
+<li>
+<p>Receive and log telemetry from a connected TeleDongle
+device. All data received is saved to log files named with
+the current date and the connected rocket serial and flight
+numbers. There is no mode in which telemetry data will not
+be saved.</p>
+</li>
+<li>
+<p>Download logged data from TeleMetrum devices, either through
+a direct USB connection or over the air through a TeleDongle
+device.</p>
+</li>
+<li>
+<p>Configure a TeleMetrum device, setting the radio channel,
+callsign, apogee delay and main deploy height. This can be
+done through either a USB connection or over a radio link
+via a TeleDongle device.</p>
+</li>
+<li>
+<p>Replay a flight in real-time. This takes a saved telemetry
+log or eeprom download and replays it through the user
+interface so you can relive your favorite rocket flights.</p>
+</li>
+<li>
+<p>Reprogram Altus Metrum devices. Using an Altus Metrum device
+connected via USB, another Altus Metrum device can be
+reprogrammed using the supplied programming cable between
+the two devices.</p>
+</li>
+<li>
+<p>Export Flight data to a comma-separated-values file. This
+takes either telemetry or on-board flight data and generates
+data suitable for use in external applications. All data is
+exported using standard units so that no device-specific
+knowledge is needed to handle the data.</p>
+</li>
+<li>
+<p>Speak to you during the flight. Instead of spending the
+flight hunched over your laptop looking at the screen, enjoy
+the view while the computer tells you what’s going on up
+there. During ascent, you hear the current flight state and
+altitude information. During descent, you get azimuth,
+elevation and range information to try and help you find
+your rocket in the air. Once on the ground, the direction
+and distance are reported.</p>
+</li>
+</ul>
+</div>
+</div>
+</div>
+</div>
+</div>
+</div>
+<div id="footer">
+<div id="footer-text">
+Version v1.9.9<br>
+Last updated 2021-10-07 00:16:13 -0600
+</div>
+</div>
+</body>
+</html>
\ No newline at end of file