+ <title>Using a Separate Pyro Battery with TeleMini v1.0</title>
+ <para>
+ As described above, using an external pyro battery involves
+ connecting the negative battery terminal to the flight
+ computer ground, connecting the positive battery terminal to
+ one of the igniter leads and connecting the other igniter
+ lead to the per-channel pyro circuit connection. Because
+ there is no solid ground connection to use on TeleMini, this
+ is not recommended.
+ </para>
+ <para>
+ The only available ground connection on TeleMini v1.0 are
+ the two mounting holes next to the telemetry
+ antenna. Somehow connect a small piece of wire to one of
+ those holes and hook it to the negative pyro battery terminal.
+ </para>
+ <para>
+ Connecting the positive battery terminal to the pyro
+ charges must be done separate from TeleMini v1.0, by soldering
+ them together or using some other connector.
+ </para>
+ <para>
+ The other lead from each pyro charge is then inserted into
+ the appropriate per-pyro channel screw terminal (terminal 3 for the
+ Main charge, terminal 1 for the Apogee charge).
+ </para>
+ </section>
+ <section>
+ <title>Using an Active Switch with TeleMini v1.0</title>
+ <para>
+ As explained above, an external active switch requires three
+ connections, one to the positive battery terminal, one to
+ the flight computer positive input and one to ground. Again,
+ because TeleMini doesn't have any good ground connection,
+ this is not recommended.
+ </para>
+ <para>
+ The positive battery terminal is available on the Right
+ power switch wire, the positive flight computer input is on
+ the left power switch wire. Hook a lead to either of the
+ mounting holes for a ground connection.
+ </para>
+ </section>
+ </section>
+ <section>
+ <title>TeleMini v2.0</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telemini-v2-top.jpg" width="5.5in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <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>
+ <title>TeleMini v2.0 Screw Terminals</title>
+ <para>
+ TeleMini v2.0 has two sets of four screw terminals on the end of the
+ board opposite the telemetry antenna. Using the picture
+ above, the top four have connections for the main pyro
+ circuit and an external battery and the bottom four have
+ connections for the apogee pyro circuit and the power
+ switch. Counting from the left, the connections are as follows:
+ </para>
+ <table frame='all'>
+ <title>TeleMini v2.0 Connections</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Pin #'/>
+ <colspec align='center' colwidth='2*' colname='Pin Name'/>
+ <colspec align='left' colwidth='5*' colname='Description'/>
+ <thead>
+ <row>
+ <entry align='center'>Terminal #</entry>
+ <entry align='center'>Terminal Name</entry>
+ <entry align='center'>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Top 1</entry>
+ <entry>Main -</entry>
+ <entry>Main pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Top 2</entry>
+ <entry>Main +</entry>
+ <entry>Main pyro channel common connection to battery +</entry>
+ </row>
+ <row>
+ <entry>Top 3</entry>
+ <entry>Battery +</entry>
+ <entry>Positive external battery terminal</entry>
+ </row>
+ <row>
+ <entry>Top 4</entry>
+ <entry>Battery -</entry>
+ <entry>Negative external battery terminal</entry>
+ </row>
+ <row>
+ <entry>Bottom 1</entry>
+ <entry>Apogee -</entry>
+ <entry>Apogee pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Bottom 2</entry>
+ <entry>Apogee +</entry>
+ <entry>Apogee pyro channel common connection to
+ battery +</entry>
+ </row>
+ <row>
+ <entry>Bottom 3</entry>
+ <entry>Switch Output</entry>
+ <entry>Switch connection to flight computer</entry>
+ </row>
+ <row>
+ <entry>Bottom 4</entry>
+ <entry>Switch Input</entry>
+ <entry>Switch connection to positive battery terminal</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section>
+ <title>Using a Separate Pyro Battery with TeleMini v2.0</title>
+ <para>
+ As described above, using an external pyro battery involves
+ connecting the negative battery terminal to the flight
+ computer ground, connecting the positive battery terminal to
+ one of the igniter leads and connecting the other igniter
+ lead to the per-channel pyro circuit connection.
+ </para>
+ <para>
+ To connect the negative pyro battery terminal to TeleMini
+ ground, connect it to the negative external battery
+ connection, top terminal 4.
+ </para>
+ <para>
+ Connecting the positive battery terminal to the pyro
+ charges must be done separate from TeleMini v2.0, by soldering
+ them together or using some other connector.
+ </para>
+ <para>
+ The other lead from each pyro charge is then inserted into
+ the appropriate per-pyro channel screw terminal (top
+ terminal 1 for the Main charge, bottom terminal 1 for the
+ Apogee charge).
+ </para>
+ </section>
+ <section>
+ <title>Using an Active Switch with TeleMini v2.0</title>
+ <para>
+ As explained above, an external active switch requires three
+ connections, one to the positive battery terminal, one to
+ the flight computer positive input and one to ground. Use
+ the negative external battery connection, top terminal 4 for
+ ground.
+ </para>
+ <para>
+ The positive battery terminal is available on bottom
+ terminal 4, the positive flight computer input is on the
+ bottom terminal 3.
+ </para>
+ </section>
+ </section>
+ <section>
+ <title>EasyMini</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="easymini-top.jpg" width="5.5in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <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 v2.0, so you can easily swap between
+ EasyMini and TeleMini.
+ </para>
+ <section>
+ <title>EasyMini Screw Terminals</title>
+ <para>
+ EasyMini has two sets of four screw terminals on the end of the
+ board opposite the telemetry antenna. Using the picture
+ above, the top four have connections for the main pyro
+ circuit and an external battery and the bottom four have
+ connections for the apogee pyro circuit and the power
+ switch. Counting from the left, the connections are as follows:
+ </para>
+ <table frame='all'>
+ <title>EasyMini Connections</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Pin #'/>
+ <colspec align='center' colwidth='2*' colname='Pin Name'/>
+ <colspec align='left' colwidth='5*' colname='Description'/>
+ <thead>
+ <row>
+ <entry align='center'>Terminal #</entry>
+ <entry align='center'>Terminal Name</entry>
+ <entry align='center'>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Top 1</entry>
+ <entry>Main -</entry>
+ <entry>Main pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Top 2</entry>
+ <entry>Main +</entry>
+ <entry>Main pyro channel common connection to battery +</entry>
+ </row>
+ <row>
+ <entry>Top 3</entry>
+ <entry>Battery +</entry>
+ <entry>Positive external battery terminal</entry>
+ </row>
+ <row>
+ <entry>Top 4</entry>
+ <entry>Battery -</entry>
+ <entry>Negative external battery terminal</entry>
+ </row>
+ <row>
+ <entry>Bottom 1</entry>
+ <entry>Apogee -</entry>
+ <entry>Apogee pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Bottom 2</entry>
+ <entry>Apogee +</entry>
+ <entry>Apogee pyro channel common connection to
+ battery +</entry>
+ </row>
+ <row>
+ <entry>Bottom 3</entry>
+ <entry>Switch Output</entry>
+ <entry>Switch connection to flight computer</entry>
+ </row>
+ <row>
+ <entry>Bottom 4</entry>
+ <entry>Switch Input</entry>
+ <entry>Switch connection to positive battery terminal</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section>
+ <title>Using a Separate Pyro Battery with EasyMini</title>
+ <para>
+ As described above, using an external pyro battery involves
+ connecting the negative battery terminal to the flight
+ computer ground, connecting the positive battery terminal to
+ one of the igniter leads and connecting the other igniter
+ lead to the per-channel pyro circuit connection.
+ </para>
+ <para>
+ To connect the negative pyro battery terminal to TeleMini
+ ground, connect it to the negative external battery
+ connection, top terminal 4.
+ </para>
+ <para>
+ Connecting the positive battery terminal to the pyro
+ charges must be done separate from EasyMini, by soldering
+ them together or using some other connector.
+ </para>
+ <para>
+ The other lead from each pyro charge is then inserted into
+ the appropriate per-pyro channel screw terminal (top
+ terminal 1 for the Main charge, bottom terminal 1 for the
+ Apogee charge).
+ </para>
+ </section>
+ <section>
+ <title>Using an Active Switch with EasyMini</title>
+ <para>
+ As explained above, an external active switch requires three
+ connections, one to the positive battery terminal, one to
+ the flight computer positive input and one to ground. Use
+ the negative external battery connection, top terminal 4 for
+ ground.
+ </para>
+ <para>
+ The positive battery terminal is available on bottom
+ terminal 4, the positive flight computer input is on the
+ bottom terminal 3.
+ </para>
+ </section>
+ </section>
+ <section>
+ <title>TeleMega</title>
+ <informalfigure>
+ <mediaobject>
+ <imageobject>
+ <imagedata fileref="telemega-v1.0-top.jpg" width="5.5in" scalefit="1"/>
+ </imageobject>
+ </mediaobject>
+ </informalfigure>
+ <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>
+ <title>TeleMega Screw Terminals</title>
+ <para>
+ TeleMega has two sets of nine screw terminals on the end of
+ the board opposite the telemetry antenna. They are as follows:
+ </para>
+ <table frame='all'>
+ <title>TeleMega Screw Terminals</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Pin #'/>
+ <colspec align='center' colwidth='2*' colname='Pin Name'/>
+ <colspec align='left' colwidth='5*' colname='Description'/>
+ <thead>
+ <row>
+ <entry align='center'>Terminal #</entry>
+ <entry align='center'>Terminal Name</entry>
+ <entry align='center'>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Top 1</entry>
+ <entry>Switch Input</entry>
+ <entry>Switch connection to positive battery terminal</entry>
+ </row>
+ <row>
+ <entry>Top 2</entry>
+ <entry>Switch Output</entry>
+ <entry>Switch connection to flight computer</entry>
+ </row>
+ <row>
+ <entry>Top 3</entry>
+ <entry>GND</entry>
+ <entry>Ground connection for use with external active switch</entry>
+ </row>
+ <row>
+ <entry>Top 4</entry>
+ <entry>Main -</entry>
+ <entry>Main pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Top 5</entry>
+ <entry>Main +</entry>
+ <entry>Main pyro channel common connection to battery +</entry>
+ </row>
+ <row>
+ <entry>Top 6</entry>
+ <entry>Apogee -</entry>
+ <entry>Apogee pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Top 7</entry>
+ <entry>Apogee +</entry>
+ <entry>Apogee pyro channel common connection to battery +</entry>
+ </row>
+ <row>
+ <entry>Top 8</entry>
+ <entry>D -</entry>
+ <entry>D pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Top 9</entry>
+ <entry>D +</entry>
+ <entry>D pyro channel common connection to battery +</entry>
+ </row>
+ <row>
+ <entry>Bottom 1</entry>
+ <entry>GND</entry>
+ <entry>Ground connection for negative pyro battery terminal</entry>
+ </row>
+ <row>
+ <entry>Bottom 2</entry>
+ <entry>Pyro</entry>
+ <entry>Positive pyro battery terminal</entry>
+ </row>
+ <row>
+ <entry>Bottom 3</entry>
+ <entry>Lipo</entry>
+ <entry>
+ Power switch output. Use to connect main battery to
+ pyro battery input
+ </entry>
+ </row>
+ <row>
+ <entry>Bottom 4</entry>
+ <entry>A -</entry>
+ <entry>A pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Bottom 5</entry>
+ <entry>A +</entry>
+ <entry>A pyro channel common connection to battery +</entry>
+ </row>
+ <row>
+ <entry>Bottom 6</entry>
+ <entry>B -</entry>
+ <entry>B pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Bottom 7</entry>
+ <entry>B +</entry>
+ <entry>B pyro channel common connection to battery +</entry>
+ </row>
+ <row>
+ <entry>Bottom 8</entry>
+ <entry>C -</entry>
+ <entry>C pyro channel connection to pyro circuit</entry>
+ </row>
+ <row>
+ <entry>Bottom 9</entry>
+ <entry>C +</entry>
+ <entry>C pyro channel common connection to battery +</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </section>
+ <section>
+ <title>Using a Separate Pyro Battery with TeleMega</title>
+ <para>
+ TeleMega provides explicit support for an external pyro
+ battery. All that is required is to remove the jumper
+ between the lipo terminal (Bottom 3) and the pyro terminal
+ (Bottom 2). Then hook the negative pyro battery terminal to ground
+ (Bottom 1) and the positive pyro battery to the pyro battery
+ input (Bottom 2). You can then use the existing pyro screw
+ terminals to hook up all of the pyro charges.
+ </para>
+ </section>
+ <section>
+ <title>Using Only One Battery With TeleMega</title>
+ <para>
+ Because TeleMega has built-in support for a separate pyro
+ battery, if you want to fly with just one battery running
+ both the computer and firing the charges, you need to
+ connect the flight computer battery to the pyro
+ circuit. TeleMega has two screw terminals for this—hook a
+ wire from the Lipo terminal (Bottom 3) to the Pyro terminal
+ (Bottom 2).
+ </para>
+ </section>
+ <section>
+ <title>Using an Active Switch with TeleMega</title>
+ <para>
+ As explained above, an external active switch requires three
+ connections, one to the positive battery terminal, one to
+ the flight computer positive input and one to ground.
+ </para>
+ <para>
+ The positive battery terminal is available on Top terminal
+ 1, the positive flight computer input is on Top terminal
+ 2. Ground is on Top terminal 3.
+ </para>
+ </section>
+ </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
+ replace the stock UHF antenna wire with an edge-launched SMA connector,
+ and, on TeleMetrum v1, you can unplug the integrated GPS
+ antenna and select an appropriate off-board GPS antenna with
+ cable terminating in a U.FL connector.
+ </para>
+ </section>
+ </chapter>
+ <chapter>
+ <title>System Operation</title>
+ <section>
+ <title>Firmware Modes </title>
+ <para>
+ The AltOS firmware build for the altimeters has two
+ fundamental modes, “idle” and “flight”. Which of these modes
+ the firmware operates in is determined at start up time. For
+ TeleMetrum and TeleMega, which have accelerometers, the mode is
+ controlled by the orientation of the
+ rocket (well, actually the board, of course...) at the time
+ power is switched on. If the rocket is “nose up”, then
+ the flight computer assumes it's on a rail or rod being prepared for
+ launch, so the firmware chooses flight mode. However, if the
+ rocket is more or less horizontal, the firmware instead enters
+ idle mode. Since TeleMini v2.0 and EasyMini don't have an
+ accelerometer we can use to determine orientation, “idle” mode
+ is selected if the board is connected via USB to a computer,
+ otherwise the board enters “flight” mode. TeleMini v1.0
+ selects “idle” mode if it receives a command packet within the
+ first five seconds of operation.
+ </para>
+ <para>
+ At power on, the altimeter will beep out the battery voltage
+ to the nearest tenth of a volt. Each digit is represented by
+ a sequence of short “dit” beeps, with a pause between
+ digits. A zero digit is represented with one long “dah”
+ beep. Then there will be a short pause while the altimeter
+ completes initialization and self test, and decides which mode
+ to enter next.
+ </para>
+ <para>
+ Here's a short summary of all of the modes and the beeping (or
+ flashing, in the case of TeleMini v1) that accompanies each
+ mode. In the description of the beeping pattern, “dit” means a
+ short beep while "dah" means a long beep (three times as
+ long). “Brap” means a long dissonant tone.
+ <table frame='all'>
+ <title>AltOS Modes</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='4' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Mode Name'/>
+ <colspec align='center' colwidth='*' colname='Letter'/>
+ <colspec align='center' colwidth='*' colname='Beeps'/>
+ <colspec align='center' colwidth='*' colname='Description'/>
+ <thead>
+ <row>
+ <entry>Mode Name</entry>
+ <entry>Abbreviation</entry>
+ <entry>Beeps</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Startup</entry>
+ <entry>S</entry>
+ <entry>battery voltage in decivolts</entry>
+ <entry>
+ <para>
+ Calibrating sensors, detecting orientation.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Idle</entry>
+ <entry>I</entry>
+ <entry>dit dit</entry>
+ <entry>
+ <para>
+ Ready to accept commands over USB or radio link.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Pad</entry>
+ <entry>P</entry>
+ <entry>dit dah dah dit</entry>
+ <entry>
+ <para>
+ Waiting for launch. Not listening for commands.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Boost</entry>
+ <entry>B</entry>
+ <entry>dah dit dit dit</entry>
+ <entry>
+ <para>
+ Accelerating upwards.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Fast</entry>
+ <entry>F</entry>
+ <entry>dit dit dah dit</entry>
+ <entry>
+ <para>
+ Decelerating, but moving faster than 200m/s.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Coast</entry>
+ <entry>C</entry>
+ <entry>dah dit dah dit</entry>
+ <entry>
+ <para>
+ Decelerating, moving slower than 200m/s
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Drogue</entry>
+ <entry>D</entry>
+ <entry>dah dit dit</entry>
+ <entry>
+ <para>
+ Descending after apogee. Above main height.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Main</entry>
+ <entry>M</entry>
+ <entry>dah dah</entry>
+ <entry>
+ <para>
+ Descending. Below main height.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Landed</entry>
+ <entry>L</entry>
+ <entry>dit dah dit dit</entry>
+ <entry>
+ <para>
+ Stable altitude for at least ten seconds.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Sensor error</entry>
+ <entry>X</entry>
+ <entry>dah dit dit dah</entry>
+ <entry>
+ <para>
+ Error detected during sensor calibration.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ <para>
+ In flight or “pad” mode, the altimeter engages the flight
+ state machine, goes into transmit-only mode to send telemetry,
+ and waits for launch to be detected. Flight mode is indicated
+ by an “di-dah-dah-dit” (“P” for pad) on the beeper or lights,
+ followed by beeps or flashes indicating the state of the
+ pyrotechnic igniter continuity. One beep/flash indicates
+ apogee continuity, two beeps/flashes indicate main continuity,
+ three beeps/flashes indicate both apogee and main continuity,
+ and one longer “brap” sound which is made by rapidly
+ alternating between two tones indicates no continuity. For a
+ dual deploy flight, make sure you're getting three beeps or
+ flashes before launching! For apogee-only or motor eject
+ flights, do what makes sense.
+ </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
+ machine is disengaged, thus no ejection charges will fire.
+ The altimeters also listen for the radio link when in idle
+ mode for requests sent via TeleDongle. Commands can be issued
+ in idle mode over either USB or the radio link
+ equivalently. TeleMini v1.0 only has the radio link. Idle
+ mode is useful for configuring the altimeter, for extracting
+ data from the on-board storage chip after flight, and for
+ ground testing pyro charges.
+ </para>
+ <para>
+ In “Idle” and “Pad” modes, once the mode indication
+ beeps/flashes and continuity indication has been sent, if
+ there is no space available to log the flight in on-board
+ memory, the flight computer will emit a warbling tone (much
+ slower than the “no continuity tone”)
+ </para>
+ <para>
+ Here's a summary of all of the “pad” and “idle” mode indications.
+ <table frame='all'>
+ <title>Pad/Idle Indications</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Name'/>
+ <colspec align='center' colwidth='*' colname='Beeps'/>
+ <colspec align='center' colwidth='*' colname='Description'/>
+ <thead>
+ <row>
+ <entry>Name</entry>
+ <entry>Beeps</entry>
+ <entry>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>Neither</entry>
+ <entry>brap</entry>
+ <entry>
+ <para>
+ No continuity detected on either apogee or main
+ igniters.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Apogee</entry>
+ <entry>dit</entry>
+ <entry>
+ <para>
+ Continuity detected only on apogee igniter.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Main</entry>
+ <entry>dit dit</entry>
+ <entry>
+ <para>
+ Continuity detected only on main igniter.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Both</entry>
+ <entry>dit dit dit</entry>
+ <entry>
+ <para>
+ Continuity detected on both igniters.
+ </para>
+ </entry>
+ </row>
+ <row>
+ <entry>Storage Full</entry>
+ <entry>warble</entry>
+ <entry>
+ <para>
+ On-board data logging storage is full. This will
+ not prevent the flight computer from safely
+ controlling the flight or transmitting telemetry
+ signals, but no record of the flight will be
+ stored in on-board flash.
+ </para>
+ </entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ </para>
+ <para>
+ Once landed, the flight computer will signal that by emitting
+ the “Landed” sound described above, after which it will beep
+ out the apogee height (in meters). Each digit is represented
+ by a sequence of short “dit” beeps, with a pause between
+ digits. A zero digit is represented with one long “dah”
+ beep. The flight computer will continue to report landed mode
+ and beep out the maximum height until turned off.
+ </para>
+ <para>
+ 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
+ via TeleDongle over the radio link to cause the altimeter to reboot and
+ come up in flight mode. This is much safer than standing on the top
+ step of a rickety step-ladder or hanging off the side of a launch
+ tower with a screw-driver trying to turn on your avionics before
+ installing igniters!
+ </para>
+ <para>
+ TeleMini v1.0 is configured solely via the radio link. Of course, that
+ means you need to know the TeleMini radio configuration values
+ or you won't be able to communicate with it. For situations
+ when you don't have the radio configuration values, TeleMini v1.0
+ offers an 'emergency recovery' mode. In this mode, TeleMini is
+ configured as follows:
+ <itemizedlist>
+ <listitem>
+ <para>
+ Sets the radio frequency to 434.550MHz
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Sets the radio calibration back to the factory value.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Sets the callsign to N0CALL
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Does not go to 'pad' mode after five seconds.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </para>
+ <para>
+ To get into 'emergency recovery' mode, first find the row of
+ four small holes opposite the switch wiring. Using a short
+ piece of small gauge wire, connect the outer two holes
+ together, then power TeleMini up. Once the red LED is lit,
+ disconnect the wire and the board should signal that it's in
+ 'idle' mode after the initial five second startup period.
+ </para>
+ </section>
+ <section>
+ <title>GPS </title>
+ <para>
+ TeleMetrum and TeleMega include a complete GPS receiver. A
+ complete explanation of how GPS works is beyond the scope of
+ this manual, but the bottom line is that the GPS receiver
+ needs to lock onto at least four satellites to obtain a solid
+ 3 dimensional position fix and know what time it is.
+ </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
+ the launch rail much faster than if every power-on were a GPS
+ “cold start”. In typical operations, powering up
+ on the flight line in idle mode while performing final air-frame
+ preparation will be sufficient to allow the GPS receiver to cold
+ start and acquire lock. Then the board can be powered down during
+ RSO review and installation on a launch rod or rail. When the board
+ is turned back on, the GPS system should lock very quickly, typically
+ long before igniter installation and return to the flight line are
+ complete.
+ </para>
+ </section>
+ <section>
+ <title>Controlling An Altimeter Over The Radio Link</title>
+ <para>
+ One of the unique features of the Altus Metrum system is the
+ ability to create a two way command link between TeleDongle
+ and an altimeter using the digital radio transceivers
+ built into each device. This allows you to interact with the
+ altimeter from afar, as if it were directly connected to the
+ computer.
+ </para>
+ <para>
+ Any operation which can be performed with a flight computer can
+ either be done with the device directly connected to the
+ computer via the USB cable, or through the radio
+ link. TeleMini v1.0 doesn't provide a USB connector and so it is
+ always communicated with over radio. Select the appropriate
+ TeleDongle device when the list of devices is presented and
+ AltosUI will interact with an altimeter over the radio link.
+ </para>
+ <para>
+ One oddity in the current interface is how AltosUI selects the
+ frequency for radio communications. Instead of providing
+ an interface to specifically configure the frequency, it uses
+ whatever frequency was most recently selected for the target
+ TeleDongle device in Monitor Flight mode. If you haven't ever
+ used that mode with the TeleDongle in question, select the
+ Monitor Flight button from the top level UI, and pick the
+ appropriate TeleDongle device. Once the flight monitoring
+ window is open, select the desired frequency and then close it
+ down again. All radio communications will now use that frequency.
+ </para>
+ <itemizedlist>
+ <listitem>
+ <para>
+ Save Flight Data—Recover flight data from the rocket without
+ opening it up.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Configure altimeter apogee delays, main deploy heights
+ and additional pyro event conditions
+ to respond to changing launch conditions. You can also
+ 'reboot' the altimeter. Use this to remotely enable the
+ flight computer by turning TeleMetrum or TeleMega on in “idle” mode,
+ then once the air-frame is oriented for launch, you can
+ reboot the altimeter and have it restart in pad mode
+ without having to climb the scary ladder.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Fire Igniters—Test your deployment charges without snaking
+ wires out through holes in the air-frame. Simply assemble the
+ rocket as if for flight with the apogee and main charges
+ loaded, then remotely command the altimeter to fire the
+ igniters.
+ </para>
+ </listitem>
+ </itemizedlist>
+ <para>
+ Operation over the radio link for configuring an altimeter, ground
+ testing igniters, and so forth uses the same RF frequencies as flight
+ telemetry. To configure the desired TeleDongle frequency, select
+ the monitor flight tab, then use the frequency selector and
+ close the window before performing other desired radio operations.
+ </para>
+ <para>
+ The flight computers only enable radio commanding in 'idle' mode.
+ TeleMetrum and TeleMega use the accelerometer to detect which orientation they
+ start up in, so make sure you have the flight computer lying horizontally when you turn
+ it on. Otherwise, it will start in 'pad' mode ready for
+ flight, and will not be listening for command packets from TeleDongle.
+ </para>
+ <para>
+ TeleMini listens for a command packet for five seconds after
+ first being turned on, if it doesn't hear anything, it enters
+ 'pad' mode, ready for flight and will no longer listen for
+ command packets. The easiest way to connect to TeleMini is to
+ initiate the command and select the TeleDongle device. At this
+ point, the TeleDongle will be attempting to communicate with
+ the TeleMini. Now turn TeleMini on, and it should immediately
+ start communicating with the TeleDongle and the desired
+ operation can be performed.
+ </para>
+ <para>
+ You can monitor the operation of the radio link by watching the
+ lights on the devices. The red LED will flash each time a packet
+ is transmitted, while the green LED will light up on TeleDongle when
+ it is waiting to receive a packet from the altimeter.
+ </para>
+ </section>
+ <section>
+ <title>Ground Testing </title>
+ <para>
+ An important aspect of preparing a rocket using electronic deployment
+ for flight is ground testing the recovery system. Thanks
+ to the bi-directional radio link central to the Altus Metrum system,
+ this can be accomplished in a TeleMega, TeleMetrum or TeleMini equipped rocket
+ with less work than you may be accustomed to with other systems. It
+ can even be fun!
+ </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
+ selecting the Configure Altimeter tab for TeleMini). This will cause
+ the firmware to go into “idle” mode, in which the normal flight
+ state machine is disabled and charges will not fire without
+ manual command. You can now command the altimeter to fire the apogee
+ or main charges from a safe distance using your computer and
+ TeleDongle and the Fire Igniter tab to complete ejection testing.
+ </para>
+ </section>
+ <section>
+ <title>Radio Link </title>
+ <para>
+ Our flight computers all incorporate an RF transceiver, but
+ it's not a full duplex system... each end can only be transmitting or
+ receiving at any given moment. So we had to decide how to manage the
+ link.
+ </para>
+ <para>
+ By design, the altimeter firmware listens for the radio link when
+ 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
+ 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
+ the radio in case the rocket crashes and we aren't able to extract
+ 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 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>
+ </section>
+ <section>
+ <title>APRS</title>
+ <para>
+ TeleMetrum v2.0 and TeleMega can send APRS if desired, and the
+ interval between APRS packets can be configured. As each APRS
+ packet takes a full second to transmit, we recommend an
+ interval of at least 5 seconds to avoid consuming too much
+ battery power or radio channel bandwidth. You can configure
+ the APRS interval using AltosUI; that process is described in
+ the Configure Altimeter section of the AltosUI chapter.
+ </para>
+ <para>
+ AltOS uses the APRS compressed position report data format,
+ which provides for higher position precision and shorter
+ packets than the original APRS format. It also includes
+ altitude data, which is invaluable when tracking rockets. We
+ haven't found a receiver which doesn't handle compressed
+ positions, but it's just possible that you have one, so if you
+ have an older device that can receive the raw packets but
+ isn't displaying position information, it's possible that this
+ is the cause.
+ </para>
+ <para>
+ The APRS packet format includes a comment field that can have
+ arbitrary text in it. AltOS uses this to send status
+ information about the flight computer. It sends four fields as
+ shown in the following table.
+ </para>
+ <table frame='all'>
+ <title>Altus Metrum APRS Comments</title>
+ <?dbfo keep-together="always"?>
+ <tgroup cols='3' align='center' colsep='1' rowsep='1'>
+ <colspec align='center' colwidth='*' colname='Field'/>
+ <colspec align='center' colwidth='*' colname='Example'/>
+ <colspec align='center' colwidth='4*' colname='Description'/>
+ <thead>
+ <row>
+ <entry align='center'>Field</entry>
+ <entry align='center'>Example</entry>
+ <entry align='center'>Description</entry>
+ </row>
+ </thead>
+ <tbody>
+ <row>
+ <entry>1</entry>
+ <entry>L</entry>
+ <entry>GPS Status U for unlocked, L for locked</entry>
+ </row>
+ <row>
+ <entry>2</entry>
+ <entry>6</entry>
+ <entry>Number of Satellites in View</entry>
+ </row>
+ <row>
+ <entry>3</entry>
+ <entry>B4.0</entry>
+ <entry>Altimeter Battery Voltage</entry>
+ </row>
+ <row>
+ <entry>4</entry>
+ <entry>A3.7</entry>
+ <entry>Apogee Igniter Voltage</entry>
+ </row>
+ <row>
+ <entry>5</entry>
+ <entry>M3.7</entry>
+ <entry>Main Igniter Voltage</entry>
+ </row>
+ </tbody>
+ </tgroup>
+ </table>
+ <para>
+ Here's an example of an APRS comment showing GPS lock with 6
+ satellites in view, a primary battery at 4.0V, and
+ apogee and main igniters both at 3.7V.
+ <screen>
+ L6 B4.0 A3.7 M3.7
+ </screen>
+ </para>
+ <para>
+ Make sure your primary battery is above 3.8V, any connected
+ igniters are above 3.5V and GPS is locked with at least 5 or 6
+ satellites in view before flying. If GPS is switching between
+ L and U regularly, then it doesn't have a good lock and you
+ should wait until it becomes stable.
+ </para>
+ <para>
+ If the GPS receiver loses lock, the APRS data transmitted will
+ contain the last position for which GPS lock was
+ available. You can tell that this has happened by noticing
+ that the GPS status character switches from 'L' to 'U'. Before
+ GPS has locked, APRS will transmit zero for latitude,
+ longitude and altitude.
+ </para>
+ </section>
+ <section>
+ <title>Configurable Parameters</title>
+ <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 configurable parameters can all be set
+ using AltosUI over USB or or radio link via TeleDongle. Read
+ the Configure Altimeter section in the AltosUI chapter below
+ for more information.
+ </para>
+ <section>
+ <title>Radio Frequency</title>
+ <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
+ 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
+ frequency will be used to avoid interference. And of course, both
+ altimeter and TeleDongle must be configured to the same
+ frequency to successfully communicate with each other.
+ </para>
+ </section>
+ <section>
+ <title>Callsign</title>
+ <para>
+ This sets the callsign used for telemetry, APRS and the
+ packet link. For telemetry and APRS, this is used to
+ identify the device. For the packet link, the callsign must
+ match that configured in AltosUI or the link will not
+ work. This is to prevent accidental configuration of another
+ Altus Metrum flight computer operating on the same frequency nearby.
+ </para>
+ </section>
+ <section>
+ <title>Telemetry/RDF/APRS Enable</title>
+ <para>
+ You can completely disable the radio while in flight, if
+ necessary. This doesn't disable the packet link in idle
+ mode.
+ </para>
+ </section>
+ <section>
+ <title>APRS Interval</title>
+ <para>
+ This selects how often APRS packets are transmitted. Set
+ this to zero to disable APRS without also disabling the
+ regular telemetry and RDF transmissions. As APRS takes a
+ full second to transmit a single position report, we
+ recommend sending packets no more than once every 5 seconds.
+ </para>
+ </section>
+ <section>
+ <title>Apogee Delay</title>