doc: Add product pictures to manual
[fw/altos] / doc / altusmetrum.xsl
index 5375e8c29462065bc775a141101b7856ac750ded..61451f414c840c22ba01f5e72fc21867202f339e 100644 (file)
@@ -3,7 +3,7 @@
   "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
 <book>
   <title>The Altus Metrum System</title>
-  <subtitle>An Owner's Manual for TeleMetrum, TeleMini, TeleDongle and TeleBT Devices</subtitle>
+  <subtitle>An Owner's Manual for Altus Metrum Rocketry Electronics</subtitle>
   <bookinfo>
     <author>
       <firstname>Bdale</firstname>
     </revhistory>
   </bookinfo>
   <dedication>
-    <title>Acknowledgements</title>
+    <title>Acknowledgments</title>
     <para>
-      Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing "The
+      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 
+      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!
@@ -145,7 +145,7 @@ NAR #88757, TRA #12200
     <para>
       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
+      as standard features, and a “companion interface” that will
       support optional capabilities in the future. The latest version
       of TeleMetrum, v2.0, has all of the same features but with
       improved sensors and radio to offer increased performance.
@@ -194,7 +194,7 @@ NAR #88757, TRA #12200
     <title>Getting Started</title>
     <para>
       The first thing to do after you check the inventory of parts in your
-      "starter kit" is to charge the battery.
+      “starter kit” is to charge the battery.
     </para>
     <para>
       For TeleMetrum and TeleMega, the battery can be charged by plugging it into the
@@ -243,7 +243,7 @@ NAR #88757, TRA #12200
     <para>
       The other active device in the starter kit is the TeleDongle USB to
       RF interface.  If you plug it in to your Mac or Linux computer it should
-      "just work", showing up as a serial port device.  Windows systems need
+      “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
@@ -296,19 +296,19 @@ NAR #88757, TRA #12200
       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
+      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 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
+      “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.
     </para>
     <para>
-      The barometric sensor sampling port must be able to "breathe",
+      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.
@@ -320,102 +320,482 @@ NAR #88757, TRA #12200
     </para>
   </chapter>
   <chapter>
-    <title>Hardware Overview</title>
-    <para>
-      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 1/4
-      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.
-    </para>
-    <para>
-      TeleMini v1.0 is a ½ inch by 1½ inch circuit board.   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, and wiring for a power switch and
-      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.
-    </para>
-    <para>
-      TeleMini v2.0 and EasyMini are both built on a 0.8 inch by 1½
-      inch circuit board. They're designed to fit in a 24mm coupler
-      tube. TeleMini has an antenna, which must be run straight out
-      fro the board. Bending or folding it will dramatically reduce RF
-      performance. For smaller rockets, it's often best to drill a
-      hole in the bulkhead forward of TeleMini and run the antenna
-      wire through that and alongside any recovery components
-      there. Be careful to seal the hole to prevent ejection gasses
-      from passing through the hole and damaging the electronics.
-    </para>
-    <para>
-      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.
-    </para>
-    <para>
-      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. TeleMini v2.0 and EasyMini may also be used with other
-      batteries as long as they supply between 4 and 12 volts.
-    </para>
-    <para>
-      The battery connectors are a standard 2-pin JST connector and
-      match batteries sold by Spark Fun. 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. <emphasis>Check
-      polarity and voltage before connecting any battery not purchased
-      from Altus Metrum or Spark Fun.</emphasis>
-    </para>
-    <para>
-      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 the "External Pyro Battery" section in this 
-      manual 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.
-    </para>
-    <para>
-      Ejection charges are wired directly to the screw terminal block
-      at the aft end of the altimeter.  You'll need a very small straight 
-      blade screwdriver for these screws, such as you might find in a 
-      jeweler's screwdriver set.
-    </para>
-    <para>
-      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.
-    </para>
-    <para>
-      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
-      order an altimeter with an SMA connector for the UHF antenna
-      connection, 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.
-    </para>
+    <title>Altus Metrum Hardware</title>
+    <section>
+      <title>Overview</title>
+      <para>
+       Here's the full set of Altus Metrum products, both in
+       production and retired.
+      </para>
+      <table frame='all'>
+       <title>Altus Metrum Electronics</title>
+       <?dbfo keep-together="always"?>
+       <tgroup cols='8' align='center' colsep='1' rowsep='1'>
+         <colspec align='center' colwidth='*' colname='Device'/>
+         <colspec align='center' colwidth='*' colname='Barometer'/>
+         <colspec align='center' colwidth='*' colname='Z-axis accelerometer'/>
+         <colspec align='center' colwidth='*' colname='GPS'/>
+         <colspec align='center' colwidth='*' colname='3D sensors'/>
+         <colspec align='center' colwidth='*' colname='Storage'/>
+         <colspec align='center' colwidth='*' colname='RF'/>
+         <colspec align='center' colwidth='*' colname='Battery'/>
+         <thead>
+           <row>
+             <entry align='center'>Device</entry>
+             <entry align='center'>Barometer</entry>
+             <entry align='center'>Z-axis accelerometer</entry>
+             <entry align='center'>GPS</entry>
+             <entry align='center'>3D sensors</entry>
+             <entry align='center'>Storage</entry>
+             <entry align='center'>RF Output</entry>
+             <entry align='center'>Battery</entry>
+           </row>
+         </thead>
+         <tbody>
+           <row>
+             <entry>TeleMetrum v1.0</entry>
+             <entry><para>MP3H6115 10km (33k')</para></entry>
+             <entry><para>MMA2202 50g</para></entry>
+             <entry>SkyTraq</entry>
+             <entry>-</entry>
+             <entry>1MB</entry>
+             <entry>10mW</entry>
+             <entry>3.7V</entry>
+           </row>
+           <row>
+             <entry>TeleMetrum v1.1</entry>
+             <entry><para>MP3H6115 10km (33k')</para></entry>
+             <entry><para>MMA2202 50g</para></entry>
+             <entry>SkyTraq</entry>
+             <entry>-</entry>
+             <entry>2MB</entry>
+             <entry>10mW</entry>
+             <entry>3.7V</entry>
+           </row>
+           <row>
+             <entry>TeleMetrum v1.2</entry>
+             <entry><para>MP3H6115 10km (33k')</para></entry>
+             <entry><para>ADXL78 70g</para></entry>
+             <entry>SkyTraq</entry>
+             <entry>-</entry>
+             <entry>2MB</entry>
+             <entry>10mW</entry>
+             <entry>3.7V</entry>
+           </row>
+           <row>
+             <entry>TeleMetrum v2.0</entry>
+             <entry><para>MS5607 30km (100k')</para></entry>
+             <entry><para>MMA6555 102g</para></entry>
+             <entry>uBlox Max-7Q</entry>
+             <entry>-</entry>
+             <entry>8MB</entry>
+             <entry>40mW</entry>
+             <entry>3.7V</entry>
+           </row>
+           <row>
+             <entry><para>TeleMini <?linebreak?>v1.0</para></entry>
+             <entry><para>MP3H6115 10km (33k')</para></entry>
+             <entry>-</entry>
+             <entry>-</entry>
+             <entry>-</entry>
+             <entry>5kB</entry>
+             <entry>10mW</entry>
+             <entry>3.7V</entry>
+           </row>
+           <row>
+             <entry>TeleMini <?linebreak?>v2.0</entry>
+             <entry><para>MS5607 30km (100k')</para></entry>
+             <entry>-</entry>
+             <entry>-</entry>
+             <entry>-</entry>
+             <entry>1MB</entry>
+             <entry>10mW</entry>
+             <entry>3.7-12V</entry>
+           </row>
+           <row>
+             <entry>EasyMini <?linebreak?>v1.0</entry>
+             <entry><para>MS5607 30km (100k')</para></entry>
+             <entry>-</entry>
+             <entry>-</entry>
+             <entry>-</entry>
+             <entry>1MB</entry>
+             <entry>-</entry>
+             <entry>3.7-12V</entry>
+           </row>
+           <row>
+             <entry>TeleMega <?linebreak?>v1.0</entry>
+             <entry><para>MS5607 30km (100k')</para></entry>
+             <entry><para>MMA6555 102g</para></entry>
+             <entry>uBlox Max-7Q</entry>
+             <entry><para>MPU6000 HMC5883</para></entry>
+             <entry>8MB</entry>
+             <entry>40mW</entry>
+             <entry>3.7V</entry>
+           </row>
+         </tbody>
+       </tgroup>
+      </table>
+      <table frame='all'>
+       <title>Altus Metrum Boards</title>
+       <?dbfo keep-together="always"?>
+       <tgroup cols='6' align='center' colsep='1' rowsep='1'>
+         <colspec align='center' colwidth='*' colname='Device'/>
+         <colspec align='center' colwidth='*' colname='Connectors'/>
+         <colspec align='center' colwidth='*' colname='Screw Terminals'/>
+         <colspec align='center' colwidth='*' colname='Width'/>
+         <colspec align='center' colwidth='*' colname='Length'/>
+         <colspec align='center' colwidth='*' colname='Tube Size'/>
+         <thead>
+           <row>
+             <entry align='center'>Device</entry>
+             <entry align='center'>Connectors</entry>
+             <entry align='center'>Screw Terminals</entry>
+             <entry align='center'>Width</entry>
+             <entry align='center'>Length</entry>
+             <entry align='center'>Tube Size</entry>
+           </row>
+         </thead>
+         <tbody>
+           <row>
+             <entry>TeleMetrum</entry>
+             <entry><para>
+               Antenna<?linebreak?>
+               Debug<?linebreak?>
+               Companion<?linebreak?>
+               USB<?linebreak?>
+               Battery
+             </para></entry>
+             <entry><para>Apogee pyro <?linebreak?>Main pyro <?linebreak?>Switch</para></entry>
+             <entry>1 inch (2.54cm)</entry>
+             <entry>2 ¾ inch (6.99cm)</entry>
+             <entry>29mm coupler</entry>
+           </row>
+           <row>
+             <entry><para>TeleMini <?linebreak?>v1.0</para></entry>
+             <entry><para>
+               Antenna<?linebreak?>
+               Debug<?linebreak?>
+               Battery
+             </para></entry>
+             <entry><para>
+               Apogee pyro <?linebreak?>
+               Main pyro
+             </para></entry>
+             <entry>½ inch (1.27cm)</entry>
+             <entry>1½ inch (3.81cm)</entry>
+             <entry>18mm airframe</entry>
+           </row>
+           <row>
+             <entry>TeleMini <?linebreak?>v2.0</entry>
+             <entry><para>
+               Antenna<?linebreak?>
+               Debug<?linebreak?>
+               USB<?linebreak?>
+               Battery
+             </para></entry>
+             <entry><para>
+               Apogee pyro <?linebreak?>
+               Main pyro <?linebreak?>
+               Battery <?linebreak?>
+               Switch
+               </para></entry>
+             <entry>0.8 inch (2.03cm)</entry>
+             <entry>1½ inch (3.81cm)</entry>
+             <entry>24mm coupler</entry>
+           </row>
+           <row>
+             <entry>EasyMini</entry>
+             <entry><para>
+               Debug<?linebreak?>
+               USB<?linebreak?>
+               Battery
+             </para></entry>
+             <entry><para>
+               Apogee pyro <?linebreak?>
+               Main pyro <?linebreak?>
+               Battery <?linebreak?>
+               Switch
+               </para></entry>
+             <entry>0.8 inch (2.03cm)</entry>
+             <entry>1½ inch (3.81cm)</entry>
+             <entry>24mm coupler</entry>
+           </row>
+           <row>
+             <entry>TeleMega</entry>
+             <entry><para>
+               Antenna<?linebreak?>
+               Debug<?linebreak?>
+               Companion<?linebreak?>
+               USB<?linebreak?>
+               Battery
+             </para></entry>
+             <entry><para>
+               Apogee pyro <?linebreak?>
+               Main pyro<?linebreak?>
+               Pyro A-D<?linebreak?>
+               Switch<?linebreak?>
+               Pyro battery
+             </para></entry>
+             <entry>1¼ inch (3.18cm)</entry>
+             <entry>3¼ inch (8.26cm)</entry>
+             <entry>38mm coupler</entry>
+           </row>
+         </tbody>
+       </tgroup>
+      </table>
+    </section>
+    <section>
+      <title>TeleMetrum</title>
+      <mediaobject>
+       <imageobject>
+         <imagedata fileref="telemetrum-v1.1-thside.jpg" width="5.5in" scalefit="1"/>
+       </imageobject>
+      </mediaobject>
+      <para>
+       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.
+      </para>
+    </section>
+    <section>
+      <title>TeleMini</title>
+      <mediaobject>
+       <imageobject>
+         <imagedata fileref="telemini-v1-top.jpg" width="5.5in" scalefit="1"/>
+       </imageobject>
+      </mediaobject>
+      <para>
+       TeleMini v1.0 is ½ inches by 1½ 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. Two
+       wires for the power switch are connected to holes 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.
+      </para>
+      <mediaobject>
+       <imageobject>
+         <imagedata fileref="telemini-v2-top.jpg" width="5.5in" scalefit="1"/>
+       </imageobject>
+      </mediaobject>
+      <para>
+       TeleMini v2.0 is 0.8 inches by 1½ inches. It adds more
+       on-board data logging memory, a built-in USB connector and
+       screw terminals for the battery and power switch. The larger
+       board fits in a 24mm coupler. There's also a battery connector
+       for a LiPo battery if you want to use one of those.
+      </para>
+    </section>
+    <section>
+      <title>EasyMini</title>
+      <mediaobject>
+       <imageobject>
+         <imagedata fileref="easymini-top.jpg" width="5.5in" scalefit="1"/>
+       </imageobject>
+      </mediaobject>
+      <para>
+       EasyMini is built on a 0.8 inch by 1½ inch circuit board. It's
+       designed to fit in a 24mm coupler tube. The connectors and
+       screw terminals match TeleMini, so you can swap an EasyMini
+       with a TeleMini.
+      </para>
+    </section>
+    <section>
+      <title>TeleMega</title>
+      <mediaobject>
+       <imageobject>
+         <imagedata fileref="telemega-v1.0-top.jpg" width="5.5in" scalefit="1"/>
+       </imageobject>
+      </mediaobject>
+      <para>
+       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.
+      </para>
+    </section>
+    <section>
+      <title>Flight Data Recording</title>
+      <para>
+       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.
+      </para>
+      <table frame='all'>
+       <title>Data Storage on Altus Metrum altimeters</title>
+       <?dbfo keep-together="always"?>
+       <tgroup cols='4' align='center' colsep='1' rowsep='1'>
+         <colspec align='center' colwidth='*' colname='Device'/>
+         <colspec align='center' colwidth='*' colname='Bytes per sample'/>
+         <colspec align='center' colwidth='*' colname='Total storage'/>
+         <colspec align='center' colwidth='*' colname='Minutes of
+                                                       full-rate'/>
+         <thead>
+           <row>
+             <entry align='center'>Device</entry>
+             <entry align='center'>Bytes per Sample</entry>
+             <entry align='center'>Total Storage</entry>
+             <entry align='center'>Minutes at Full Rate</entry>
+           </row>
+         </thead>
+         <tbody>
+           <row>
+             <entry>TeleMetrum v1.0</entry>
+             <entry>8</entry>
+             <entry>1MB</entry>
+             <entry>20</entry>
+           </row>
+           <row>
+             <entry>TeleMetrum v1.1 v1.2</entry>
+             <entry>8</entry>
+             <entry>2MB</entry>
+             <entry>40</entry>
+           </row>
+           <row>
+             <entry>TeleMetrum v2.0</entry>
+             <entry>16</entry>
+             <entry>8MB</entry>
+             <entry>80</entry>
+           </row>
+           <row>
+             <entry>TeleMini v1.0</entry>
+             <entry>2</entry>
+             <entry>5kB</entry>
+             <entry>4</entry>
+           </row>
+           <row>
+             <entry>TeleMini v2.0</entry>
+             <entry>16</entry>
+             <entry>1MB</entry>
+             <entry>10</entry>
+           </row>
+           <row>
+             <entry>EasyMini</entry>
+             <entry>16</entry>
+             <entry>1MB</entry>
+             <entry>10</entry>
+           </row>
+           <row>
+             <entry>TeleMega</entry>
+             <entry>32</entry>
+             <entry>8MB</entry>
+             <entry>40</entry>
+           </row>
+         </tbody>
+       </tgroup>
+      </table>
+      <para>
+       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.
+      </para>
+      <para>
+       Configuration data is also stored in the flash memory on
+       TeleMetrum v1.x, TeleMini and EasyMini. This consumes 64kB
+       of flash space.  This configuration space is not available
+       for storing flight log data. TeleMetrum v2.0 and TeleMega
+       store configuration data in a bit of eeprom available within
+       the processor chip, leaving that space available in flash for
+       more flight data.
+      </para>
+      <para>
+       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.0 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.
+      </para>
+      <para>
+       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.
+      </para>
+      <para>
+       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.
+      </para>
+    </section>
+    <section>
+      <title>Installation</title>
+      <para>
+       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. TeleMini v2.0 and EasyMini may also be used with other
+       batteries as long as they supply between 4 and 12 volts.
+      </para>
+      <para>
+       The battery connectors are a standard 2-pin JST connector and
+       match batteries sold by Spark Fun. 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. <emphasis>Check
+       polarity and voltage before connecting any battery not purchased
+       from Altus Metrum or Spark Fun.</emphasis>
+      </para>
+      <para>
+       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 the “External Pyro Battery” section in this 
+       manual 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.
+
+      </para>
+      <para>
+       Ejection charges are wired directly to the screw terminal block
+       at the aft end of the altimeter.  You'll need a very small straight 
+       blade screwdriver for these screws, such as you might find in a 
+       jeweler's screwdriver set.
+      </para>
+      <para>
+       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.
+      </para>
+      <para>
+       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
+       order an altimeter with an SMA connector for the UHF antenna
+       connection, 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.
+      </para>
+    </section>
   </chapter>
   <chapter>
     <title>System Operation</title>
@@ -423,45 +803,45 @@ NAR #88757, TRA #12200
       <title>Firmware Modes </title>
       <para>
         The AltOS firmware build for the altimeters has two
-        fundamental modes, "idle" and "flight".  Which of these modes
+        fundamental modes, “idle” and “flight”.  Which of these modes
         the firmware operates in is determined at start up time. For
         TeleMetrum, the mode is controlled by the orientation of the
         rocket (well, actually the board, of course...) at the time
-        power is switched on.  If the rocket is "nose up", then
+        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.  Since TeleMini v2.0 and EasyMini don't have an
-        accelerometer we can use to determine orientation, "idle" mode
+        accelerometer we can use to determine orientation, “idle” mode
         is selected if the board is connected via USB to a computer,
-        otherwise the board enters "flight" mode. TeleMini v1.0
-        selects "idle" mode if it receives a command packet within the
+        otherwise the board enters “flight” mode. TeleMini v1.0
+        selects “idle” mode if it receives a command packet within the
         first five seconds of operation.
       </para>
       <para>
         At power on, you will hear three beeps or see three flashes
-        ("S" in Morse code for start up) and then a pause while
+        (“S” in Morse code for start up) and then a pause while
         the altimeter completes initialization and self test, and decides 
        which mode to enter next.
       </para>
       <para>
-        In flight or "pad" mode, the altimeter engages the flight
+        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)
+        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 or
+        apogee and main continuity, and one longer “brap” sound or
         rapidly alternating lights indicates no continuity.  For a
         dual deploy flight, make sure you're getting three beeps or
         flashes before launching!  For apogee-only or motor eject
         flights, do what makes sense.
       </para>
       <para>
-        If idle mode is entered, you will hear an audible "di-dit" or
-        see two short flashes ("I" for idle), and the flight state
+        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
@@ -472,7 +852,7 @@ NAR #88757, TRA #12200
         ground testing pyro charges.
       </para>
       <para>
-        One "neat trick" of particular value when TeleMetrum or TeleMega are used with 
+        One “neat trick” of particular value when TeleMetrum or TeleMega 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 
@@ -532,9 +912,9 @@ NAR #88757, TRA #12200
       </para>
       <para>
         The flight computers provide backup power to the GPS chip any time a 
-        battery is connected.  This allows the receiver to "warm start" on
+        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
+       “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
@@ -588,7 +968,7 @@ NAR #88757, TRA #12200
            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,
+            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.
@@ -648,9 +1028,9 @@ NAR #88757, TRA #12200
       </para>
       <para>
         Just prep the rocket for flight, then power up the altimeter
-        in "idle" mode (placing air-frame horizontal for TeleMetrum or TeleMega, or
+        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
+        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 
@@ -667,11 +1047,11 @@ NAR #88757, TRA #12200
       </para>
       <para>
         By design, the altimeter firmware listens for the radio link when
-        it's in "idle mode", which
+        it'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
+        crack open the air-frame.  However, when the board is in flight
+        mode, the altimeter 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 through
@@ -679,25 +1059,28 @@ NAR #88757, TRA #12200
         data later...
       </para>
       <para>
-        We don't generally use a 'normal packet radio' mode like APRS because they'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 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 great 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 over time, and would of course appreciate customer feedback 
-        on performance in higher altitude flights!
+        We don't generally use a 'normal packet radio' mode like APRS
+        because they'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'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!
       </para>
       <para>
-       However, TeleMetrum v2.0 and TeleMega can send APRS if
-       desired, 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.
+       TeleMetrum v2.0 and TeleMega can send APRS if desired, 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.
       </para>
     </section>
     <section>
@@ -705,7 +1088,7 @@ NAR #88757, TRA #12200
       <para>
         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".  The few 
+        filter means there is no need to set a “mach delay”.  The few 
         configurable parameters can all be set using AltosUI over USB or
         or radio link via TeleDongle.
       </para>
@@ -714,7 +1097,7 @@ NAR #88757, TRA #12200
         <para>
          Altus Metrum boards support radio frequencies in the 70cm
          band. By default, the configuration interface provides a
-         list of 10 "standard" frequencies in 100kHz channels starting at
+         list of 10 “standard” frequencies in 100kHz channels starting at
          434.550MHz.  However, the firmware supports use of
          any 50kHz multiple within the 70cm band. At any given
          launch, we highly recommend coordinating when and by whom each
@@ -760,57 +1143,13 @@ NAR #88757, TRA #12200
       <section>
        <title>Maximum Flight Log</title>
        <para>
-         TeleMetrum version 1.1 and 1.2 have 2MB of on-board flash storage,
-         enough to hold over 40 minutes of data at full data rate
-         (100 samples/second). TeleMetrum 1.0 has 1MB of on-board
-         storage. As data are stored at a reduced rate during descent
-         (10 samples/second), there's plenty of space to store many
-         flights worth of data.
-       </para>
-       <para>
-         TeleMetrum v2.0 and TeleMega have 8MB of on-board flash stroage, enough to hold 
-       </para>
-       <para>
-         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 TeleMetrum can store more
-         flights.
-       </para>
-       <para>
-         All of the configuration data is also stored in the flash
-         memory, which consumes 64kB on TeleMetrum v1.1/v1.2 and 256B on
-         TeleMetrum v1.0. This configuration space is not available
-         for storing flight log data.
-       </para>
-       <para>
-         To compute the amount of space needed for a single flight,
-         you can multiply the expected ascent time (in seconds) by
-         800, multiply the expected descent time (in seconds) by 80
-         and add the two together. That will slightly under-estimate
-         the storage (in bytes) needed for the flight. For instance,
-         a flight spending 20 seconds in ascent and 150 seconds in
-         descent will take about (20 * 800) + (150 * 80) = 28000
-         bytes of storage. You could store dozens of these flights in
-         the on-board flash.
-       </para>
-       <para>
-         The default size, 192kB, allows for 10 flights of storage on
-         TeleMetrum v1.1/v1.2 and 5 flights on TeleMetrum v1.0. This
-         ensures that you won't need to erase the memory before
-         flying each time while still allowing more than sufficient
-         storage for each flight.
-       </para>
-       <para>
-         As TeleMini does not contain an accelerometer, it stores
-         data at 10 samples per second during ascent and one sample
-         per second during descent. Each sample is a two byte reading
-         from the barometer. These are stored in 5kB of
-         on-chip flash memory which can hold 256 seconds at the
-         ascent rate or 2560 seconds at the descent rate. Because of
-         the limited storage, TeleMini cannot hold data for more than
-         one flight, and so must be erased after each flight or it
-         will not capture data for subsequent flights.
+         Changing this value will set the maximum amount of flight
+         log storage that an individual flight will use. The
+         available storage is divided into as many flights of the
+         specified size as can fit in the available space. You can
+         download and erase individual flight logs. If you fill up
+         the available storage, future flights will not get logged
+         until you erase some of the stored ones.
        </para>
       </section>
       <section>
@@ -820,7 +1159,7 @@ NAR #88757, TRA #12200
          a fixed height above the ground, you can configure the
          altimeter to fire both at apogee or both during
          descent. This was added to support an airframe that has two
-         TeleMetrum computers, one in the fin can and one in the
+         altimeters, one in the fin can and one in the
          nose.
        </para>
        <para>
@@ -833,17 +1172,175 @@ NAR #88757, TRA #12200
       <section>
        <title>Pad Orientation</title>
        <para>
-         TeleMetrum measures acceleration along the axis of the
-         board. Which way the board is oriented affects the sign of
-         the acceleration value. Instead of trying to guess which way
-         the board is mounted in the air frame, TeleMetrum must be
-         explicitly configured for either Antenna Up or Antenna
-         Down. The default, Antenna Up, expects the end of the
-         TeleMetrum board connected to the 70cm antenna to be nearest
-         the nose of the rocket, with the end containing the screw
+         TeleMetrum and TeleMega measure acceleration along the axis
+         of the board. Which way the board is oriented affects the
+         sign of the acceleration value. Instead of trying to guess
+         which way the board is mounted in the air frame, the
+         altimeter must be explicitly configured for either Antenna
+         Up or Antenna Down. The default, Antenna Up, expects the end
+         of the board connected to the 70cm antenna to be nearest the
+         nose of the rocket, with the end containing the screw
          terminals nearest the tail.
        </para>
       </section>
+      <section>
+       <title>Pyro Channels</title>
+       <para>
+         In addition to the usual Apogee and Main pyro channels,
+         TeleMega has four additional channels that can be configured
+         to activate when various flight conditions are
+         satisfied. You can select as many conditions as necessary;
+         all of them must be met in order to activate the
+         channel. The conditions available are:
+       </para>
+       <itemizedlist>
+         <listitem>
+           <para>
+             Acceleration away from the ground. Select a value, and
+             then choose whether acceleration 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.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Vertical speed.  Select a value, and then choose whether
+             vertical speed should be above or below that
+             value. Speed is positive upwards, so moving towards the
+             ground would produce negative numbers. Speed during
+             descent is a bit noisy and so be careful when using it
+             during these phases of the flight.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Height. Select a value, and then choose whether the
+             height above the launch pad should be above or below
+             that value.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Orientation. TeleMega contains a 3-axis gyroscope and
+             accelerometer which is used to measure the current
+             angle. Note that this 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. 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 .2°/second (after 10 seconds of flight, the
+             error should be less than 2°).
+           </para>
+           <para>
+             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.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Flight Time. Time since boost was detected. Select a
+             value and choose whether to activate the pyro channel
+             before or after that amount of time.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Ascending. A simple test saying whether the rocket is
+             going up or not. This is exactly equivalent to testing
+             whether the speed is &gt; 0.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Descending. A simple test saying whether the rocket is
+             going down or not. This is exactly equivalent to testing
+             whether the speed is &lt; 0.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             After Motor. The flight software counts each time the
+             rocket starts accelerating (presumably due to a motor or
+             motors igniting). Use this value to count ignitions for
+             multi-staged or multi-airstart launches.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Delay. This value doesn't perform any checks, instead it
+             inserts a delay between the time when the other
+             parameters become true and when the pyro channel is
+             activated.
+           </para>
+         </listitem>
+         <listitem>
+           <para>
+             Flight State. The flight software tracks the flight
+             through a sequence of states:
+             <orderedlist>
+               <listitem>
+                 <para>
+                   Boost. The motor has lit and the rocket is
+                   accelerating upwards.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Fast. The motor has burned out and the rocket is
+                   descellerating, but it is going faster than 200m/s.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Coast. The rocket is still moving upwards and
+                   decelerating, but the speed is less than 200m/s.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Drogue. The rocket has reached apogee and is heading
+                   back down, but is above the configured Main
+                   altitude.
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Main. The rocket is still descending, and is below
+                   the Main altitude
+                 </para>
+               </listitem>
+               <listitem>
+                 <para>
+                   Landed. The rocket is no longer moving.
+                 </para>
+               </listitem>
+             </orderedlist>
+           </para>
+           <para>
+             You can select a state to limit when the pyro channel
+             may activate; note that the check is based on when the
+             rocket transitions <emphasis>into</emphasis> the state, and so checking for
+             “greater than Boost” means that the rocket is currently
+             in boost or some later state.
+           </para>
+           <para>
+             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.
+           </para>
+         </listitem>
+       </itemizedlist>
+      </section>
     </section>
 
   </chapter>
@@ -852,9 +1349,8 @@ NAR #88757, TRA #12200
     <title>AltosUI</title>
     <para>
       The AltosUI program provides a graphical user interface for
-      interacting with the Altus Metrum product family, including
-      TeleMetrum, TeleMini and TeleDongle. AltosUI can monitor telemetry data,
-      configure TeleMetrum, TeleMini and TeleDongle devices and many other
+      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 manual
       is split into chapters, each of which documents one of the tasks
@@ -942,64 +1438,82 @@ NAR #88757, TRA #12200
           rocket is ready for flight. The first elements include red/green
           indicators, if any of these is red, you'll want to evaluate
           whether the rocket is ready to launch:
-          <itemizedlist>
-            <listitem>
-              <para>
-                Battery Voltage. This indicates whether the Li-Po battery
-                powering the TeleMetrum has sufficient charge to last for
-                the duration of the flight. A value of more than
-                3.7V is required for a 'GO' status.
-              </para>
-            </listitem>
-            <listitem>
-              <para>
-                Apogee Igniter Voltage. 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.
-              </para>
-            </listitem>
-            <listitem>
-              <para>
-                Main Igniter Voltage. 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.
-              </para>
-            </listitem>
-           <listitem>
-             <para>
-               On-board Data Logging. This indicates whether there is
-               space remaining on-board to store flight data for the
-               upcoming flight. If you've downloaded data, but failed
-               to erase flights, there may not be any space
-               left. TeleMetrum can store multiple flights, depending
-               on the configured maximum flight log size. TeleMini
-               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.
-             </para>
-           </listitem>
-            <listitem>
-              <para>
-                GPS Locked. For a TeleMetrum 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.
-              </para>
-            </listitem>
-            <listitem>
-              <para>
-                GPS Ready. For a TeleMetrum 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.
-              </para>
-            </listitem>
-          </itemizedlist>
+          <variablelist>
+           <varlistentry>
+             <term>Battery Voltage</term>
+             <listitem>
+               <para>
+                 This indicates whether the Li-Po battery
+                 powering the TeleMetrum has sufficient charge to last for
+                 the duration of the flight. A value of more than
+                 3.8V is required for a 'GO' status.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>Apogee Igniter Voltage</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>Main Igniter Voltage</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>On-board Data Logging</term>
+             <listitem>
+               <para>
+                 This indicates whether there is
+                 space remaining on-board to store flight data for the
+                 upcoming flight. If you've downloaded data, but failed
+                 to erase flights, there may not be any space
+                 left. TeleMetrum can store multiple flights, depending
+                 on the configured maximum flight log size. TeleMini
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>GPS Locked</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>GPS Ready</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+          </variablelist>
         </para>
        <para>
          The Launchpad tab also shows the computed launch pad position
@@ -1194,15 +1708,48 @@ NAR #88757, TRA #12200
         flash memory.
       </para>
       <para>
-        Once a flight record is selected, a window with four tabs is
-        opened. The first tab contains a graph with acceleration
-        (blue), velocity (green) and altitude (red) of the flight,
-        measured in metric units. The apogee(yellow) and main(magenta)
-        igniter voltages are also displayed; high voltages indicate
-        continuity, low voltages indicate open circuits. The second
-        tab lets you configure which data to show in the graph.  The
-        third contains some basic flight statistics while the fourth
-        has a map with the ground track of the flight displayed.
+        Once a flight record is selected, a window with multiple tabs is
+        opened.
+       <variablelist>
+         <varlistentry>
+           <term>Flight Graph</term>
+           <listitem>
+             <para>
+               By default, the graph contains acceleration (blue),
+               velocity (green) and altitude (red).
+             </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term>Configure Graph</term>
+           <listitem>
+             <para>
+               This selects which graph elements to show, and, at the
+               very bottom, lets you switch between metric and
+               imperial units
+             </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term>Flight Statistics</term>
+           <listitem>
+             <para>
+               Shows overall data computed from the flight.
+             </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term>Map</term>
+           <listitem>
+             <para>
+               Shows a satellite image of the flight area overlaid
+               with the path of the flight. The red concentric
+               circles mark the launch pad, the black concentric
+               circles mark the landing location.
+             </para>
+           </listitem>
+         </varlistentry>
+       </variablelist>
       </para>
       <para>
         The graph can be zoomed into a particular area by clicking and
@@ -1261,7 +1808,7 @@ NAR #88757, TRA #12200
     <section>
       <title>Configure Altimeter</title>
       <para>
-        Select this button and then select either a TeleMetrum or
+        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. 
       </para>
@@ -1274,35 +1821,47 @@ NAR #88757, TRA #12200
       <para>
         At the bottom of the dialog, there are four buttons:
       </para>
-      <itemizedlist>
-        <listitem>
-          <para>
-            Save. This writes any changes to the
-            configuration parameter block in flash memory. If you don't
-            press this button, any changes you make will be lost.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Reset. This resets the dialog to the most recently saved values,
-            erasing any changes you have made.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Reboot. 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.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Close. This closes the dialog. Any unsaved changes will be
-            lost.
-          </para>
-        </listitem>
-      </itemizedlist>
+      <variablelist>
+       <varlistentry>
+         <term>Save</term>
+         <listitem>
+           <para>
+             This writes any changes to the
+             configuration parameter block in flash memory. If you don't
+             press this button, any changes you make will be lost.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>Reset</term>
+         <listitem>
+           <para>
+             This resets the dialog to the most recently saved values,
+             erasing any changes you have made.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>Reboot</term>
+         <listitem>
+           <para>
+             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.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>Close</term>
+         <listitem>
+           <para>
+             This closes the dialog. Any unsaved changes will be
+             lost.
+           </para>
+         </listitem>
+       </varlistentry>
+      </variablelist>
       <para>
         The rest of the dialog contains the parameters to be configured.
       </para>
@@ -1332,15 +1891,15 @@ NAR #88757, TRA #12200
       <section>
         <title>Radio Frequency</title>
         <para>
-          This configures which of the configured frequencies to use for both
+          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, you will have to reconfigure
-          the TeleDongle frequency before you will be able to use packet
-          command mode again.
+          value via packet command mode, the TeleDongle frequency will
+          also be automatically reconfigured to match so that
+          communication will continue afterwards.
         </para>
       </section>
       <section>
-        <title>Radio Calibration</title>
+        <title>RF Calibration</title>
         <para>
           The radios in every Altus Metrum device are calibrated at the
           factory to ensure that they transmit and receive on the
@@ -1351,6 +1910,25 @@ NAR #88757, TRA #12200
          you must reprogram the unit completely.
         </para>
       </section>
+      <section>
+       <title>Telemetry/RDF/APRS Enable</title>
+       <para>
+         Enables the radio for transmission during flight. When
+         disabled, the radio will not transmit anything during flight
+         at all.
+       </para>
+      </section>
+      <section>
+       <title>APRS Interval</title>
+       <para>
+         How often to transmit GPS information via APRS. This option
+         is available on TeleMetrum v2 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.
+       </para>
+      </section>
       <section>
         <title>Callsign</title>
         <para>
@@ -1375,62 +1953,103 @@ NAR #88757, TRA #12200
          computers. This configuration parameter allows the two
          channels to be used in different configurations.
        </para>
-       <itemizedlist>
-         <listitem>
-           <para>
-             Dual Deploy. 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.
-           </para>
-         </listitem>
-         <listitem>
-           <para>
-             Redundant Apogee. This fires both channels at
-             apogee, the 'apogee' channel first followed after a two second
-             delay by the 'main' channel.
-           </para>
-         </listitem>
-         <listitem>
-           <para>
-             Redundant Main. 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.
-           </para>
-         </listitem>
-       </itemizedlist>
+          <variablelist>
+           <varlistentry>
+             <term>Dual Deploy</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>Redundant Apogee</term>
+             <listitem>
+               <para>
+                 This fires both channels at
+                 apogee, the 'apogee' channel first followed after a two second
+                 delay by the 'main' channel.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>Redundant Main</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+       </variablelist>
       </section>
       <section>
         <title>Pad Orientation</title>
        <para>
-         Because it includes an accelerometer, TeleMetrum is
-         sensitive to the orientation of the board. By default, it
-         expects 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.
+         Because it includes an accelerometer, TeleMetrum and
+         TeleMega are sensitive to the orientation of the board. By
+         default, it expects 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.
        </para>
-       <itemizedlist>
-         <listitem>
-           <para>
-             Antenna Up. In this mode, the antenna end of the
-             TeleMetrum board must point forward, in line with the
-             expected flight path.
-           </para>
-         </listitem>
-         <listitem>
-           <para>
-             Antenna Down. In this mode, the antenna end of the
-             TeleMetrum board must point aft, in line with the
-             expected flight path.
-           </para>
-         </listitem>
-       </itemizedlist>
-      </section>
-    </section>
-    <section>
-      <title>Configure AltosUI</title>
+       <variablelist>
+         <varlistentry>
+           <term>Antenna Up</term>
+           <listitem>
+             <para>
+               In this mode, the antenna end of the
+               TeleMetrum board must point forward, in line with the
+               expected flight path.
+             </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term>Antenna Down</term>
+           <listitem>
+             <para>
+               In this mode, the antenna end of the
+               TeleMetrum board must point aft, in line with the
+               expected flight path.
+             </para>
+           </listitem>
+         </varlistentry>
+       </variablelist>
+      </section>
+      <section>
+       <title>Configure Pyro Channels</title>
+       <para>
+         This opens a separate window to configure the additional
+         pyro channels available on TeleMega.  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. See the Pyro Channels
+         section in the System Operation chapter above for a
+         description of these parameters.
+       </para>
+       <para>
+         Select conditions and set the related value; the pyro
+         channel will be activated when <emphasis>all</emphasis> 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.
+       </para>
+       <para>
+         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.
+       </para>
+      </section>
+    </section>
+    <section>
+      <title>Configure AltosUI</title>
       <para>
         This button presents a dialog so that you can configure the AltosUI global settings.
       </para>
@@ -1491,9 +2110,10 @@ NAR #88757, TRA #12200
        <para>
          This switches between metric units (meters) and imperial
          units (feet and miles). This affects the display of values
-         use during flight monitoring, 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.
+         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.
        </para>
       </section>
       <section>
@@ -1546,27 +2166,36 @@ NAR #88757, TRA #12200
       <para>
         At the bottom of the dialog, there are three buttons:
       </para>
-      <itemizedlist>
-        <listitem>
-          <para>
-            Save. This writes any changes to the
-            local Java preferences file. If you don't
-            press this button, any changes you make will be lost.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Reset. This resets the dialog to the most recently saved values,
-            erasing any changes you have made.
-          </para>
-        </listitem>
-        <listitem>
-          <para>
-            Close. This closes the dialog. Any unsaved changes will be
-            lost.
-          </para>
-        </listitem>
-      </itemizedlist>
+      <variablelist>
+       <varlistentry>
+         <term>Save</term>
+         <listitem>
+           <para>
+             This writes any changes to the
+             local Java preferences file. If you don't
+             press this button, any changes you make will be lost.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>Reset</term>
+         <listitem>
+           <para>
+             This resets the dialog to the most recently saved values,
+             erasing any changes you have made.
+           </para>
+         </listitem>
+       </varlistentry>
+       <varlistentry>
+         <term>Close</term>
+         <listitem>
+           <para>
+             This closes the dialog. Any unsaved changes will be
+             lost.
+           </para>
+         </listitem>
+       </varlistentry>
+      </variablelist>
       <para>
         The rest of the dialog contains the parameters to be configured.
       </para>
@@ -1595,16 +2224,26 @@ NAR #88757, TRA #12200
     <section>
       <title>Flash Image</title>
       <para>
-        This reprograms any Altus Metrum device by using a TeleMetrum
-        or TeleDongle as a programming dongle. Please read the
-        directions for flashing devices in the Updating Device
-        Firmware chapter below.
+        This reprograms Altus Metrum device with new
+        firmware. TeleMetrum v1.x, TeleDongle, TeleMini and TeleBT are
+        all reprogrammed by using another similar unit as a
+        programming dongle (pair programming). TeleMega, TeleMetrum v2
+        and EasyMini are all programmed directly over their USB ports
+        (self programming).  Please read the directions for flashing
+        devices in the Updating Device Firmware chapter below.
+      </para>
+      <para>
+       For “self programming”, connect USB to the device to be
+       programmed and push the 'Flash Image' button. That will
+       present a dialog box listing all of the connected
+       devices. Carefully select the device to be programmed.
       </para>
       <para>
-        Once you have the programmer and target devices connected,
-        push the 'Flash Image' button. That will present a dialog box
-        listing all of the connected devices. Carefully select the
-        programmer device, not the device to be programmed.
+        For “pair programming”, once you have the programmer and
+        target devices connected, push the 'Flash Image' button. That
+        will present a dialog box listing all of the connected
+        devices. Carefully select the programmer device, not the
+        device to be programmed.
       </para>
       <para>
         Next, select the image to flash to the device. These are named
@@ -1625,10 +2264,10 @@ NAR #88757, TRA #12200
       </para>
       <para>
         When programming is complete, the target device will
-        reboot. Note that if the target device is connected via USB, you
-        will have to unplug it and then plug it back in for the USB
-        connection to reset so that you can communicate with the device
-        again.
+        reboot. Note that if a pair programmed target device is
+        connected via USB, you will have to unplug it and then plug it
+        back in for the USB connection to reset so that you can
+        communicate with the device again.
       </para>
     </section>
     <section>
@@ -1699,9 +2338,13 @@ NAR #88757, TRA #12200
       <title>Monitor Idle</title>
       <para>
        This brings up a dialog similar to the Monitor Flight UI,
-       except it works with the altimeter in "idle" mode by sending
+       except it works with the altimeter in “idle” mode by sending
        query commands to discover the current state rather than
-       listening for telemetry packets.
+       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's very likely that
+       your callsigns are different in some way.
       </para>
     </section>
   </chapter>
@@ -1725,8 +2368,8 @@ NAR #88757, TRA #12200
       <para>
        AltosDroid is included in the Google Play store. To install
        it on your Android device, open open the Google Play Store
-       application and search for "altosdroid". Make sure you don't
-       have a space between "altos" and "droid" or you probably won't
+       application and search for “altosdroid”. Make sure you don't
+       have a space between “altos” and “droid” or you probably won't
        find what you want. That should bring you to the right page
        from which you can download and install the application.
       </para>
@@ -1772,64 +2415,82 @@ NAR #88757, TRA #12200
           rocket is ready for flight. The first elements include red/green
           indicators, if any of these is red, you'll want to evaluate
           whether the rocket is ready to launch:
-          <itemizedlist>
-            <listitem>
-              <para>
-                Battery Voltage. This indicates whether the Li-Po battery
-                powering the TeleMetrum has sufficient charge to last for
-                the duration of the flight. A value of more than
-                3.7V is required for a 'GO' status.
-              </para>
-            </listitem>
-            <listitem>
-              <para>
-                Apogee Igniter Voltage. 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.
-              </para>
-            </listitem>
-            <listitem>
-              <para>
-                Main Igniter Voltage. 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.
-              </para>
-            </listitem>
-           <listitem>
-             <para>
-               On-board Data Logging. This indicates whether there is
-               space remaining on-board to store flight data for the
-               upcoming flight. If you've downloaded data, but failed
-               to erase flights, there may not be any space
-               left. TeleMetrum can store multiple flights, depending
-               on the configured maximum flight log size. TeleMini
-               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.
-             </para>
-           </listitem>
-            <listitem>
-              <para>
-                GPS Locked. For a TeleMetrum 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.
-              </para>
-            </listitem>
-            <listitem>
-              <para>
-                GPS Ready. For a TeleMetrum 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.
-              </para>
-            </listitem>
-          </itemizedlist>
+          <variablelist>
+           <varlistentry>
+             <term>Battery Voltage</term>
+             <listitem>
+               <para>
+                 This indicates whether the Li-Po battery
+                 powering the TeleMetrum has sufficient charge to last for
+                 the duration of the flight. A value of more than
+                 3.8V is required for a 'GO' status.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>Apogee Igniter Voltage</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>Main Igniter Voltage</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>On-board Data Logging</term>
+             <listitem>
+               <para>
+                 This indicates whether there is
+                 space remaining on-board to store flight data for the
+                 upcoming flight. If you've downloaded data, but failed
+                 to erase flights, there may not be any space
+                 left. TeleMetrum can store multiple flights, depending
+                 on the configured maximum flight log size. TeleMini
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>GPS Locked</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+           <varlistentry>
+             <term>GPS Ready</term>
+             <listitem>
+               <para>
+                 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.
+               </para>
+             </listitem>
+           </varlistentry>
+          </variablelist>
        </para>
        <para>
          The Launchpad tab also shows the computed launch pad position
@@ -1910,13 +2571,14 @@ NAR #88757, TRA #12200
           Geo-Caching... just go to the way-point and look around starting from there.
         </para>
         <para>
-          You may also enjoy having a ham radio "HT" that covers the 70cm band... you
+          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.
+          currently uses a Yaesu VX-7R, Bdale has a Baofung UV-5R
+         which isn't as nice, but was a whole lot cheaper.
         </para>
         <para>
           So, to recap, on the ground the hardware you'll need includes:
@@ -1983,7 +2645,7 @@ NAR #88757, TRA #12200
       <section>
         <title>Future Plans</title>
         <para>
-          In the future, we intend to offer "companion boards" for the rocket 
+          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.  
         </para>
@@ -2033,7 +2695,7 @@ NAR #88757, TRA #12200
        securely fastened to the air-frame. For TeleMetrum, we use
        nylon standoffs and nylon screws; they're good to at least 50G
        and cannot cause any electrical issues on the board. For
-       TeleMini, we usually cut small pieces of 1/16" balsa to fit
+       TeleMini, we usually cut small pieces of 1/16 inch balsa to fit
        under the screw holes, and then take 2x56 nylon screws and
        screw them through the TeleMini mounting holes, through the
        balsa and into the underlying material.
@@ -2189,7 +2851,7 @@ NAR #88757, TRA #12200
          in the environment and avoid having wire lengths near a
          natural resonant length. Altusmetrum products transmit on the
          70cm amateur band, so you should avoid lengths that are a
-         simple ratio of that length; essentially any multiple of 1/4
+         simple ratio of that length; essentially any multiple of ¼
          of the wavelength (17.5cm).
          </para>
        </listitem>
@@ -2251,11 +2913,11 @@ NAR #88757, TRA #12200
   <chapter>
     <title>Updating Device Firmware</title>
     <para>
-      The big concept to understand is that you have to use a
-      TeleDongle as a programmer to update a TeleMetrum or TeleMini,
-      and a TeleMetrum or other TeleDongle to program the TeleDongle
-      Due to limited memory resources in the cc1111, we don't support
-      programming directly over USB. 
+      TeleMega, TeleMetrum v2 and EasyMini are all programmed directly
+      over their USB connectors (self programming). TeleMetrum v1, TeleMini and
+      TeleDongle are all programmed by using another device as a
+      programmer (pair programming). It's important to recognize which
+      kind of devices you have before trying to reprogram them.
     </para>
     <para>
       You may wish to begin by ensuring you have current firmware images.
@@ -2269,8 +2931,134 @@ NAR #88757, TRA #12200
     <para>
       We recommend updating the altimeter first, before updating TeleDongle.
     </para>
+    <para>
+      Self-programmable devices (TeleMega, TeleMetrum v2 and EasyMini)
+      are reprogrammed by connecting them to your computer over USB
+    </para>
     <section>
-      <title>Updating TeleMetrum Firmware</title>
+      <title>
+       Updating TeleMega, TeleMetrum v2 or EasyMini Firmware
+      </title>
+      <orderedlist inheritnum='inherit' numeration='arabic'>
+       <listitem>
+         <para>
+           Attach a battery and power switch to the target
+           device. Power up the device.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Using a Micro USB cable, connect the target device to your
+           computer's USB socket.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Run AltosUI, and select 'Flash Image' from the File menu.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Select the target device in the Device Selection dialog.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           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 TeleMega-v1.0-1.3.0.ihx.
+         </para>
+       </listitem>
+        <listitem>
+         <para>
+           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.
+         </para>
+        </listitem>
+        <listitem>
+         <para>
+           Hit the 'OK' button and the software should proceed to flash
+           the device with new firmware, showing a progress bar.
+         </para>
+        </listitem>
+       <listitem>
+         <para>
+           Verify that the device is working by using the 'Configure
+           Altimeter' item to check over the configuration.
+         </para>
+       </listitem>
+      </orderedlist>
+      <section>
+       <title>Recovering From Self-Flashing Failure</title>
+       <para>
+         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.
+       </para>
+       <para>
+         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.
+       </para>
+       <variablelist>
+         <varlistentry>
+           <term>TeleMega</term>
+           <listitem>
+             <para>
+               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 could sequentially across the board. Be very
+               careful to <emphasis>not</emphasis> 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't damage the board.
+             </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term>TeleMetrum v2</term>
+           <listitem>
+             <para>
+               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 could sequentially across the board. Be very
+               careful to <emphasis>not</emphasis> 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't damage the board.
+             </para>
+           </listitem>
+         </varlistentry>
+         <varlistentry>
+           <term>EasyMini</term>
+           <listitem>
+             <para>
+               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 could
+               sequentially across the board, making Pin 6 the one on the
+               other end of the row.
+             </para>
+           </listitem>
+         </varlistentry>
+       </variablelist>
+      </section>
+    </section>
+    <section>
+      <title>Pair Programming</title>
+      <para>
+       The big concept to understand is that you have to use a
+       TeleMega, TeleMetrum or TeleDongle as a programmer to update a
+       pair programmed device. Due to limited memory resources in the
+       cc1111, we don't support programming directly over USB for these
+       devices.
+      </para>
+    </section>
+    <section>
+      <title>Updating TeleMetrum v1.x Firmware</title>
       <orderedlist inheritnum='inherit' numeration='arabic'>
         <listitem>
          <para>
@@ -2428,7 +3216,7 @@ NAR #88757, TRA #12200
 <para>
           Confirm that the TeleMini 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.
+         letting it come up in “flight” mode and listening for telemetry.
         </para>
 </listitem>
         <listitem>
@@ -2455,7 +3243,7 @@ NAR #88757, TRA #12200
         <listitem>
 <para>
          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 or TeleDongle.
+         plug the “mini” end in to the mating connector on TeleMetrum or TeleDongle.
         </para>
 </listitem>
         <listitem>
@@ -2509,7 +3297,7 @@ NAR #88757, TRA #12200
           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
+         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.
         </para>
@@ -2548,7 +3336,142 @@ NAR #88757, TRA #12200
   <chapter>
     <title>Hardware Specifications</title>
     <section>
-      <title>TeleMetrum Specifications</title>
+      <title>
+       TeleMega Specifications
+      </title>
+      <itemizedlist>
+       <listitem>
+         <para>
+           Recording altimeter for model rocketry.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Supports dual deployment and four auxiliary pyro channels
+           (a total of 6 events).
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           70cm 40mW ham-band transceiver for telemetry down-link.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Barometric pressure sensor good to 100k feet MSL.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           1-axis high-g accelerometer for motor characterization, capable of
+           +/- 102g.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           9-axis IMU including integrated 3-axis accelerometer,
+           3-axis gyroscope and 3-axis magnetometer.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           On-board, integrated uBlox Max 7 GPS receiver with 5Hz update rate capability.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           On-board 8 Megabyte non-volatile memory for flight data storage.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           USB interface for battery charging, configuration, and data recovery.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Fully integrated support for Li-Po rechargeable batteries.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Uses Li-Po to fire e-matches, can be modified to support 
+           optional separate pyro battery if needed.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           3.25 x 1.25 inch board designed to fit inside 38mm air-frame coupler tube.
+         </para>
+       </listitem>
+      </itemizedlist>
+    </section>
+    <section>
+      <title>
+       TeleMetrum v2 Specifications
+      </title>
+      <itemizedlist>
+       <listitem>
+         <para>
+           Recording altimeter for model rocketry.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Supports dual deployment (can fire 2 ejection charges).
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           70cm, 40mW ham-band transceiver for telemetry down-link.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Barometric pressure sensor good to 100k feet MSL.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           1-axis high-g accelerometer for motor characterization, capable of
+           +/- 102g.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           On-board, integrated uBlox Max 7 GPS receiver with 5Hz update rate capability.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           On-board 8 Megabyte non-volatile memory for flight data storage.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           USB interface for battery charging, configuration, and data recovery.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Fully integrated support for Li-Po rechargeable batteries.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Uses Li-Po to fire e-matches, can be modified to support 
+           optional separate pyro battery if needed.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           2.75 x 1 inch board designed to fit inside 29mm air-frame coupler tube.
+         </para>
+       </listitem>
+      </itemizedlist>
+    </section>
+    <section>
+      <title>TeleMetrum v1 Specifications</title>
       <itemizedlist>
        <listitem>
          <para>
@@ -2562,7 +3485,7 @@ NAR #88757, TRA #12200
        </listitem>
        <listitem>
          <para>
-           70cm ham-band transceiver for telemetry down-link.
+           70cm, 10mW ham-band transceiver for telemetry down-link.
          </para>
        </listitem>
        <listitem>
@@ -2610,7 +3533,63 @@ NAR #88757, TRA #12200
       </itemizedlist>
     </section>
     <section>
-      <title>TeleMini Specifications</title>
+      <title>
+       TeleMini v2.0 Specifications
+      </title>
+      <itemizedlist>
+       <listitem>
+         <para>
+           Recording altimeter for model rocketry.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Supports dual deployment (can fire 2 ejection charges).
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           70cm, 10mW ham-band transceiver for telemetry down-link.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Barometric pressure sensor good to 100k feet MSL.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           On-board 1 megabyte non-volatile memory for flight data storage.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           USB interface for configuration, and data recovery.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Support for Li-Po rechargeable batteries (using an
+           external charger), or any 3.7-15V external battery.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Uses Li-Po to fire e-matches, can be modified to support 
+           optional separate pyro battery if needed.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           1.5 x .8 inch board designed to fit inside 24mm air-frame coupler tube.
+         </para>
+       </listitem>
+      </itemizedlist>
+    </section>
+    <section>
+      <title>
+       TeleMini v1.0 Specifications
+      </title>
       <itemizedlist>
        <listitem>
          <para>
@@ -2624,7 +3603,7 @@ NAR #88757, TRA #12200
        </listitem>
        <listitem>
          <para>
-           70cm ham-band transceiver for telemetry down-link.
+           70cm, 10mW ham-band transceiver for telemetry down-link.
          </para>
        </listitem>
        <listitem>
@@ -2660,6 +3639,55 @@ NAR #88757, TRA #12200
        </listitem>
       </itemizedlist>
     </section>
+    <section>
+      <title>
+       EasyMini Specifications
+      </title>
+      <itemizedlist>
+       <listitem>
+         <para>
+           Recording altimeter for model rocketry.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Supports dual deployment (can fire 2 ejection charges).
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Barometric pressure sensor good to 100k feet MSL.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           On-board 1 megabyte non-volatile memory for flight data storage.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           USB interface for configuration, and data recovery.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Support for Li-Po rechargeable batteries (using an
+           external charger), or any 3.7-15V external battery.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           Uses Li-Po to fire e-matches, can be modified to support 
+           optional separate pyro battery if needed.
+         </para>
+       </listitem>
+       <listitem>
+         <para>
+           1.5 x .8 inch board designed to fit inside 24mm air-frame coupler tube.
+         </para>
+       </listitem>
+      </itemizedlist>
+    </section>
   </chapter>
   <chapter>
     <title>FAQ</title>
@@ -2667,15 +3695,15 @@ NAR #88757, TRA #12200
         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
+        GPS enters “locked” mode.  The battery charges best when TeleMetrum
         is turned off.
       </para>
       <para>
-        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
+        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.
+        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.
@@ -2688,11 +3716,11 @@ NAR #88757, TRA #12200
         then the battery is being charged at a 'trickle' rate.
       </para>
       <para>
-        There are no "dit-dah-dah-dit" sound or lights like the manual mentions?
-        That's the "pad" mode.  Weak batteries might be the problem.
+        There are no “dit-dah-dah-dit” sound or lights like the manual mentions?
+        That's the “pad” mode.  Weak batteries might be the problem.
         It is also possible that the TeleMetrum is horizontal and the output
-        is instead a "dit-dit" meaning 'idle'. For TeleMini, it's possible that
-       it received a command packet which would have left it in "pad" mode.
+        is instead a “dit-dit” meaning 'idle'. For TeleMini, it's possible that
+       it received a command packet which would have left it in “pad” mode.
       </para>
       <para>
         How do I save flight data?
@@ -2833,18 +3861,18 @@ NAR #88757, TRA #12200
     </para>
     <para>
       Now might be a good time to take a break and read the rest of this
-      manual, particularly about the two "modes" that the altimeters
+      manual, particularly about the two “modes” that the altimeters
       can be placed in. TeleMetrum uses the position of the device when booting
-      up will determine whether the unit is in "pad" or "idle" mode. TeleMini
-      enters "idle" mode when it receives a command packet within the first 5 seconds
-      of being powered up, otherwise it enters "pad" mode.
+      up will determine whether the unit is in “pad” or “idle” mode. TeleMini
+      enters “idle” mode when it receives a command packet within the first 5 seconds
+      of being powered up, otherwise it enters “pad” mode.
     </para>
     <para>
       You can access an altimeter in idle mode from the TeleDongle's USB
       connection using the radio link
       by issuing a 'p' command to the TeleDongle. Practice connecting and
       disconnecting ('~~' while using 'cu') from the altimeter.  If
-      you cannot escape out of the "p" command, (by using a '~~' when in
+      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.
     </para>
     <para>
@@ -2854,7 +3882,7 @@ NAR #88757, TRA #12200
       is in 'idle mode' and then place the
       rocket vertically on the launch pad, walk away and then issue a
       reboot command.  The altimeter will reboot and start sending data
-      having changed to the "pad" mode. If the TeleDongle is not receiving
+      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
@@ -2915,6 +3943,18 @@ NAR #88757, TRA #12200
       These images, when printed, provide precise templates for the
       mounting holes in Altus Metrum flight computers
     </para>
+    <section>
+      <title>TeleMega template</title>
+      <para>
+       TeleMega has overall dimensions of 1.250 x 3.250 inches, and
+       the mounting holes are sized for use with 4-40 or M3 screws.
+      </para>
+      <mediaobject id="TeleMegaTemplate">
+       <imageobject>
+         <imagedata format="SVG" fileref="telemega-outline.svg"/>
+       </imageobject>
+      </mediaobject>
+    </section>
     <section>
       <title>TeleMetrum template</title>
       <para>
@@ -2928,7 +3968,19 @@ NAR #88757, TRA #12200
       </mediaobject>
     </section>
     <section>
-      <title>TeleMini template</title>
+      <title>TeleMini v2/EasyMini template</title>
+      <para>
+       TeleMini v2 and EasyMini have overall dimensions of 0.800 x 1.500 inches, and the
+       mounting holes are sized for use with 4-40 or M3 screws.
+      </para>
+      <mediaobject id="MiniTemplate">
+       <imageobject>
+         <imagedata format="SVG" fileref="easymini-outline.svg"/>
+       </imageobject>
+      </mediaobject>
+    </section>
+    <section>
+      <title>TeleMini v1 template</title>
       <para>
        TeleMini has overall dimensions of 0.500 x 1.500 inches, and the
        mounting holes are sized for use with 2-56 or M2 screws.
@@ -2943,18 +3995,19 @@ NAR #88757, TRA #12200
   <appendix>
       <title>Calibration</title>
       <para>
-        There are only two calibrations required for a TeleMetrum board, and
-        only one for TeleDongle and TeleMini.  All boards are shipped from
-        the factory pre-calibrated, but the procedures are documented here
-       in case they are ever needed.  Re-calibration is not supported by
-       AltosUI, you must connect to the board with a serial terminal program
-       and interact directly with the on-board command interpreter to effect
-       calibration.
+        There are only two calibrations required for TeleMetrum and
+        TeleMega, and only one for TeleDongle, TeleMini and EasyMini.
+        All boards are shipped from the factory pre-calibrated, but
+        the procedures are documented here in case they are ever
+        needed.  Re-calibration is not supported by AltosUI, you must
+        connect to the board with a serial terminal program and
+        interact directly with the on-board command interpreter to
+        effect calibration.
       </para>
       <section>
         <title>Radio Frequency</title>
         <para>
-          The radio frequency is synthesized from a clock based on the 48 MHz
+          The radio frequency is synthesized from a clock based on the
           crystal on the board.  The actual frequency of this oscillator 
           must be measured to generate a calibration constant.  While our 
           GFSK modulation
@@ -2967,13 +4020,14 @@ NAR #88757, TRA #12200
           should generally not be required.
         </para>
         <para>
-          To calibrate the radio frequency, connect the UHF antenna port to a
-          frequency counter, set the board to 434.550MHz, and use the 'C'
-          command in the on-board command interpreter to generate a CW 
-          carrier.  For TeleMetrum, this is best done over USB.  For TeleMini,
-         note that the only way to escape the 'C' command is via power cycle
-         since the board will no longer be listening for commands once it
-         starts generating a CW carrier.
+          To calibrate the radio frequency, connect the UHF antenna
+          port to a frequency counter, set the board to 434.550MHz,
+          and use the 'C' command in the on-board command interpreter
+          to generate a CW carrier.  For USB-enabled boards, this is
+          best done over USB.  For TeleMini v1, note that the only way
+          to escape the 'C' command is via power cycle since the board
+          will no longer be listening for commands once it starts
+          generating a CW carrier.
        </para>
        <para>
          Wait for the transmitter temperature to stabilize and the frequency 
@@ -2984,7 +4038,7 @@ NAR #88757, TRA #12200
           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.
+          change to the parameter block in the on-board storage chip.
         </para>
        <para>
          Note that any time you re-do the radio frequency calibration, the
@@ -2994,21 +4048,13 @@ NAR #88757, TRA #12200
        </para>
       </section>
       <section>
-        <title>TeleMetrum Accelerometer</title>
+        <title>TeleMetrum and TeleMega Accelerometers</title>
         <para>
-          The TeleMetrum 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 ratio-metric to
-          the ADC converter, and calibration is required.  Explicitly 
-         calibrating the accelerometers also allows us to load any device
-         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.
+          While barometric sensors are factory-calibrated,
+          accelerometers are not, and so each must be calibrated once
+          installed in a flight computer.  Explicitly calibrating the
+          accelerometers also allows us to load any compatible device.
+          We perform a two-point calibration using gravity.
         </para>
         <para>
           To calibrate the acceleration sensor, use the 'c a 0' command.  You
@@ -3024,24 +4070,25 @@ NAR #88757, TRA #12200
           The +1g and -1g calibration points are included in each telemetry
           frame and are part of the header stored in onboard flash to be
          downloaded after flight.  We always store and return raw ADC 
-         samples for each sensor... so nothing is permanently "lost" or 
-         "damaged" if the calibration is poor.
+         samples for each sensor... so nothing is permanently “lost” or 
+         “damaged” if the calibration is poor.
         </para>
         <para>
          In the unlikely event an accel cal goes badly, it is possible
-         that TeleMetrum may always come up in 'pad mode' and as such not be
-         listening to either the USB or radio link.  If that happens,
-         there is a special hook in the firmware to force the board back
-         in to 'idle mode' so you can re-do the cal.  To use this hook, you
-         just need to ground the SPI clock pin at power-on.  This pin is
-         available as pin 2 on the 8-pin companion connector, and pin 1 is
-         ground.  So either carefully install a fine-gauge wire jumper
-         between the two pins closest to the index hole end of the 8-pin
-         connector, or plug in the programming cable to the 8-pin connector
-         and use a small screwdriver or similar to short the two pins closest
-         to the index post on the 4-pin end of the programming cable, and
-         power up the board.  It should come up in 'idle mode' (two beeps),
-        allowing a re-cal.
+         that TeleMetrum or TeleMega may always come up in 'pad mode'
+         and as such not be listening to either the USB or radio link.
+         If that happens, there is a special hook in the firmware to
+         force the board back in to 'idle mode' so you can re-do the
+         cal.  To use this hook, you just need to ground the SPI clock
+         pin at power-on.  This pin is available as pin 2 on the 8-pin
+         companion connector, and pin 1 is ground.  So either
+         carefully install a fine-gauge wire jumper between the two
+         pins closest to the index hole end of the 8-pin connector, or
+         plug in the programming cable to the 8-pin connector and use
+         a small screwdriver or similar to short the two pins closest
+         to the index post on the 4-pin end of the programming cable,
+         and power up the board.  It should come up in 'idle mode'
+         (two beeps), allowing a re-cal.
         </para>
       </section>
   </appendix>