+ EasyMega is a 1¼ inch by 2¼ inch circuit board. It was
+ designed to easily fit in a 38mm coupler. Like TeleMetrum,
+ EasyMega has an accelerometer and so it must be mounted so that
+ the board is aligned with the flight axis. It can be mounted
+ either antenna up or down.
+ </para>
+ <section>
+ <title>EasyMega Screw Terminals</title>
+ <para>
+ EasyMega 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>EasyMega 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 EasyMega</title>
+ <para>
+ EasyMega provides explicit support for an external pyro
+ battery. All that is required is to remove the jumper
+ between the lipo terminal (Bottom 3) and the pyro terminal
+ (Bottom 2). Then hook the negative pyro battery terminal to ground
+ (Bottom 1) and the 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 EasyMega</title>
+ <para>
+ Because EasyMega has built-in support for a separate pyro
+ battery, if you want to fly with just one battery running
+ both the computer and firing the charges, you need to
+ connect the flight computer battery to the pyro
+ circuit. EasyMega has two screw terminals for this—hook a
+ wire from the Lipo terminal (Bottom 3) to the Pyro terminal
+ (Bottom 2).
+ </para>
+ </section>
+ <section>
+ <title>Using an Active Switch with EasyMega</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>
+ <row>
+ <entry>EasyMega</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, TeleMega and EasyMega
+ store configuration data in a bit of eeprom available within
+ the processor chip, leaving that space available in flash for
+ more flight data.
+ </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, TeleMega and EasyMega, which have accelerometers, the mode is
+ controlled by the orientation of the
+ rocket (well, actually the board, of course...) at the time
+ power is switched on. If the rocket is “nose up”, then
+ the flight computer assumes it's on a rail or rod being prepared for
+ launch, so the firmware chooses flight mode. However, if the
+ rocket is more or less horizontal, the firmware instead enters
+ idle mode. Since 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, TeleMega
+ or EasyMega are used with
+ very large air-frames, is that you can power the board up while the
+ rocket is horizontal, such that it comes up in idle mode. Then you can
+ raise the air-frame to launch position, and issue a 'reset' command
+ via TeleDongle over the radio link to cause the altimeter to reboot and
+ come up in flight mode. This is much safer than standing on the top
+ step of a rickety step-ladder or hanging off the side of a launch
+ tower with a screw-driver trying to turn on your avionics before
+ installing igniters!
+ </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