+ By design, TeleMetrum firmware listens for an RF connection when
+ it's in "idle mode" (turned on while the rocket is horizontal), which
+ allows us to use the RF link to configure the rocket, do things like
+ ejection tests, and extract data after a flight without having to
+ crack open the airframe. However, when the board is in "flight
+ mode" (turned on when the rocket is vertical) the TeleMetrum only
+ transmits and doesn't listen at all. That's because we want to put
+ ultimate priority on event detection and getting telemetry out of
+ the rocket and out over
+ the RF link in case the rocket crashes and we aren't able to extract
+ data later...
+ </p><p>
+ We don't use a 'normal packet radio' mode because they're just too
+ inefficient. The GFSK modulation we use is just FSK with the
+ baseband pulses passed through a
+ Gaussian filter before they go into the modulator to limit the
+ transmitted bandwidth. When combined with the hardware forward error
+ correction support in the cc1111 chip, this allows us to have a very
+ robust 38.4 kilobit data link with only 10 milliwatts of transmit power,
+ a whip antenna in the rocket, and a hand-held Yagi on the ground. We've
+ had flights to above 21k feet AGL with good reception, and calculations
+ suggest we should be good to well over 40k feet AGL with a 5-element yagi on
+ the ground. We hope to fly boards to higher altitudes soon, and would
+ of course appreciate customer feedback on performance in higher
+ altitude flights!
+ </p></div><div class="section" title="Configurable Parameters"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2542980"></a>Configurable Parameters</h2></div></div></div><p>
+ Configuring a TeleMetrum board for flight is very simple. Because we
+ have both acceleration and pressure sensors, there is no need to set
+ a "mach delay", for example. The few configurable parameters can all
+ be set using a simple terminal program over the USB port or RF link
+ via TeleDongle.
+ </p><div class="section" title="Radio Channel"><div class="titlepage"><div><div><h3 class="title"><a name="id2563251"></a>Radio Channel</h3></div></div></div><p>
+ Our firmware supports 10 channels. The default channel 0 corresponds
+ to a center frequency of 434.550 Mhz, and channels are spaced every
+ 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz.
+ At any given launch, we highly recommend coordinating who will use
+ each channel and when to avoid interference. And of course, both
+ TeleMetrum and TeleDongle must be configured to the same channel to
+ successfully communicate with each other.
+ </p><p>
+ To set the radio channel, use the 'c r' command, like 'c r 3' to set
+ channel 3.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip on
+ your TeleMetrum board if you want the change to stay in place across reboots.
+ </p></div><div class="section" title="Apogee Delay"><div class="titlepage"><div><div><h3 class="title"><a name="id2554165"></a>Apogee Delay</h3></div></div></div><p>
+ Apogee delay is the number of seconds after TeleMetrum detects flight
+ apogee that the drogue charge should be fired. In most cases, this
+ should be left at the default of 0. However, if you are flying
+ redundant electronics such as for an L3 certification, you may wish
+ to set one of your altimeters to a positive delay so that both
+ primary and backup pyrotechnic charges do not fire simultaneously.
+ </p><p>
+ To set the apogee delay, use the [FIXME] command.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </p><p>
+ Please note that the TeleMetrum apogee detection algorithm always
+ fires a fraction of a second *after* apogee. If you are also flying
+ an altimeter like the PerfectFlite MAWD, which only supports selecting
+ 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0
+ seconds delay and set the TeleMetrum to fire your backup 2 or 3
+ seconds later to avoid any chance of both charges firing
+ simultaneously. We've flown several airframes this way quite happily,
+ including Keith's successful L3 cert.
+ </p></div><div class="section" title="Main Deployment Altitude"><div class="titlepage"><div><div><h3 class="title"><a name="id2571971"></a>Main Deployment Altitude</h3></div></div></div><p>
+ By default, TeleMetrum will fire the main deployment charge at an
+ elevation of 250 meters (about 820 feet) above ground. We think this
+ is a good elevation for most airframes, but feel free to change this
+ to suit. In particular, if you are flying two altimeters, you may
+ wish to set the
+ deployment elevation for the backup altimeter to be something lower
+ than the primary so that both pyrotechnic charges don't fire
+ simultaneously.
+ </p><p>
+ To set the main deployment altitude, use the [FIXME] command.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </p></div></div><div class="section" title="Calibration"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2550600"></a>Calibration</h2></div></div></div><p>
+ There are only two calibrations required for a TeleMetrum board, and
+ only one for TeleDongle.
+ </p><div class="section" title="Radio Frequency"><div class="titlepage"><div><div><h3 class="title"><a name="id2574322"></a>Radio Frequency</h3></div></div></div><p>
+ The radio frequency is synthesized from a clock based on the 48 Mhz
+ crystal on the board. The actual frequency of this oscillator must be
+ measured to generate a calibration constant. While our GFSK modulation
+ bandwidth is wide enough to allow boards to communicate even when
+ their oscillators are not on exactly the same frequency, performance
+ is best when they are closely matched.
+ Radio frequency calibration requires a calibrated frequency counter.
+ Fortunately, once set, the variation in frequency due to aging and
+ temperature changes is small enough that re-calibration by customers
+ should generally not be required.
+ </p><p>
+ To calibrate the radio frequency, connect the UHF antenna port to a
+ frequency counter, set the board to channel 0, and use the 'C'
+ command to generate a CW carrier. Wait for the transmitter temperature
+ to stabilize and the frequency to settle down.
+ Then, divide 434.550 Mhz by the
+ measured frequency and multiply by the current radio cal value show
+ in the 'c s' command. For an unprogrammed board, the default value
+ is 1186611. Take the resulting integer and program it using the 'c f'
+ command. Testing with the 'C' command again should show a carrier
+ within a few tens of Hertz of the intended frequency.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </p></div><div class="section" title="Accelerometer"><div class="titlepage"><div><div><h3 class="title"><a name="id2564433"></a>Accelerometer</h3></div></div></div><p>
+ The accelerometer we use has its own 5 volt power supply and
+ the output must be passed through a resistive voltage divider to match
+ the input of our 3.3 volt ADC. This means that unlike the barometric
+ sensor, the output of the acceleration sensor is not ratiometric to
+ the ADC converter, and calibration is required. We also support the
+ use of any of several accelerometers from a Freescale family that
+ includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity,
+ a simple 2-point calibration yields acceptable results capturing both
+ the different sensitivities and ranges of the different accelerometer
+ parts and any variation in power supply voltages or resistor values
+ in the divider network.
+ </p><p>
+ To calibrate the acceleration sensor, use the 'c a 0' command. You
+ will be prompted to orient the board vertically with the UHF antenna
+ up and press a key, then to orient the board vertically with the
+ UHF antenna down and press a key.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board DataFlash chip.
+ </p><p>
+ The +1g and -1g calibration points are included in each telemetry
+ frame and are part of the header extracted by ao-dumplog after flight.
+ Note that we always store and return raw ADC samples for each
+ sensor... nothing is permanently "lost" or "damaged" if the
+ calibration is poor.
+ </p></div></div></div><div class="chapter" title="Chapter 7. Updating Device Firmware"><div class="titlepage"><div><div><h2 class="title"><a name="id2554553"></a>Chapter 7. Updating Device Firmware</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2569887">Updating TeleMetrum Firmware</a></span></dt><dt><span class="section"><a href="#id2552683">Updating TeleDongle Firmware</a></span></dt></dl></div><p>
+ The big conceptual thing to realize is that you have to use a
+ TeleDongle as a programmer to update a TeleMetrum, and vice versa.
+ Due to limited memory resources in the cc1111, we don't support
+ programming either unit directly over USB.
+ </p><p>
+ You may wish to begin by ensuring you have current firmware images.
+ These are distributed as part of the AltOS software bundle that
+ also includes the AltosUI ground station program. Newer ground
+ station versions typically work fine with older firmware versions,
+ so you don't need to update your devices just to try out new
+ software features. You can always download the most recent
+ version from http://www.altusmetrum.org/AltOS/.
+ </p><p>
+ We recommend updating TeleMetrum first, before updating TeleDongle.
+ </p><div class="section" title="Updating TeleMetrum Firmware"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2569887"></a>Updating TeleMetrum Firmware</h2></div></div></div><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+ Find the 'programming cable' that you got as part of the starter
+ kit, that has a red 8-pin MicroMaTch connector on one end and a
+ red 4-pin MicroMaTch connector on the other end.
+ </li><li class="listitem">
+ Take the 2 screws out of the TeleDongle case to get access
+ to the circuit board.
+ </li><li class="listitem">
+ Plug the 8-pin end of the programming cable to the
+ matching connector on the TeleDongle, and the 4-pin end to the
+ matching connector on the TeleMetrum.
+ </li><li class="listitem">
+ Attach a battery to the TeleMetrum board.
+ </li><li class="listitem">
+ Plug the TeleDongle into your computer's USB port, and power
+ up the TeleMetrum.
+ </li><li class="listitem">
+ Run AltosUI, and select 'Flash Image' from the File menu.
+ </li><li class="listitem">
+ Pick the TeleDongle device from the list, identifying it as the
+ programming device.
+ </li><li class="listitem">
+ Select the image you want put on the TeleMetrum, which should have a
+ name in the form telemetrum-v1.0-0.7.1.ihx. It should be visible
+ in the default directory, if not you may have to poke around
+ your system to find it.
+ </li><li class="listitem">
+ Make sure the configuration parameters are reasonable
+ looking. If the serial number and/or RF configuration
+ values aren't right, you'll need to change them.
+ </li><li class="listitem">
+ Hit the 'OK' button and the software should proceed to flash
+ the TeleMetrum with new firmware, showing a progress bar.
+ </li><li class="listitem">
+ Confirm that the TeleMetrum board seems to have updated ok, which you
+ can do by plugging in to it over USB and using a terminal program
+ to connect to the board and issue the 'v' command to check
+ the version, etc.
+ </li><li class="listitem">
+ If something goes wrong, give it another try.
+ </li></ol></div></div><div class="section" title="Updating TeleDongle Firmware"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2552683"></a>Updating TeleDongle Firmware</h2></div></div></div><p>
+ Updating TeleDongle's firmware is just like updating TeleMetrum
+ firmware, but you switch which board is the programmer and which
+ is the programming target.
+ </p><div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
+ Find the 'programming cable' that you got as part of the starter
+ kit, that has a red 8-pin MicroMaTch connector on one end and a
+ red 4-pin MicroMaTch connector on the other end.
+ </li><li class="listitem">
+ Find the USB cable that you got as part of the starter kit, and
+ plug the "mini" end in to the mating connector on TeleMetrum.
+ </li><li class="listitem">
+ Take the 2 screws out of the TeleDongle case to get access
+ to the circuit board.
+ </li><li class="listitem">
+ Plug the 8-pin end of the programming cable to the (latching)
+ matching connector on the TeleMetrum, and the 4-pin end to the
+ matching connector on the TeleDongle.
+ </li><li class="listitem">
+ Attach a battery to the TeleMetrum board.
+ </li><li class="listitem">
+ Plug both TeleMetrum and TeleDongle into your computer's USB
+ ports, and power up the TeleMetrum.
+ </li><li class="listitem">
+ Run AltosUI, and select 'Flash Image' from the File menu.
+ </li><li class="listitem">
+ Pick the TeleMongle device from the list, identifying it as the
+ programming device.
+ </li><li class="listitem">
+ Select the image you want put on the TeleDongle, which should have a
+ name in the form teledongle-v0.2-0.7.1.ihx. It should be visible
+ in the default directory, if not you may have to poke around
+ your system to find it.
+ </li><li class="listitem">
+ Make sure the configuration parameters are reasonable
+ looking. If the serial number and/or RF configuration
+ values aren't right, you'll need to change them. The TeleDongle
+ serial number is on the "bottom" of the circuit board, and can
+ usually be read through the translucent blue plastic case without
+ needing to remove the board from the case.
+ </li><li class="listitem">
+ Hit the 'OK' button and the software should proceed to flash
+ the TeleDongle with new firmware, showing a progress bar.
+ </li><li class="listitem">
+ Confirm that the TeleDongle board seems to have updated ok, which you
+ can do by plugging in to it over USB and using a terminal program
+ to connect to the board and issue the 'v' command to check
+ the version, etc. Once you're happy, remove the programming cable
+ and put the cover back on the TeleDongle.
+ </li><li class="listitem">
+ If something goes wrong, give it another try.
+ </li></ol></div><p>
+ Be careful removing the programming cable from the locking 8-pin
+ connector on TeleMetrum. You'll need a fingernail or perhaps a thin
+ screwdriver or knife blade to gently pry the locking ears out
+ slightly to extract the connector. We used a locking connector on
+ TeleMetrum to help ensure that the cabling to companion boards
+ used in a rocket don't ever come loose accidentally in flight.
+ </p></div></div><div class="chapter" title="Chapter 8. Using Altus Metrum Products"><div class="titlepage"><div><div><h2 class="title"><a name="id2539483"></a>Chapter 8. Using Altus Metrum Products</h2></div></div></div><div class="toc"><p><b>Table of Contents</b></p><dl><dt><span class="section"><a href="#id2558109">Being Legal</a></span></dt><dd><dl><dt><span class="section"><a href="#id2554650">In the Rocket</a></span></dt><dt><span class="section"><a href="#id2572268">On the Ground</a></span></dt><dt><span class="section"><a href="#id2569008">Data Analysis</a></span></dt><dt><span class="section"><a href="#id2563568">Future Plans</a></span></dt></dl></dd><dt><span class="section"><a href="#id2567979">
+ How GPS Works
+ </a></span></dt></dl></div><div class="section" title="Being Legal"><div class="titlepage"><div><div><h2 class="title" style="clear: both"><a name="id2558109"></a>Being Legal</h2></div></div></div><p>
+ First off, in the US, you need an [amateur radio license](../Radio) or
+ other authorization to legally operate the radio transmitters that are part
+ of our products.
+ </p><div class="section" title="In the Rocket"><div class="titlepage"><div><div><h3 class="title"><a name="id2554650"></a>In the Rocket</h3></div></div></div><p>
+ In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and
+ a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V
+ alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours.
+ </p><p>
+ By default, we ship TeleMetrum with a simple wire antenna. If your
+ electronics bay or the airframe it resides within is made of carbon fiber,
+ which is opaque to RF signals, you may choose to have an SMA connector
+ installed so that you can run a coaxial cable to an antenna mounted
+ elsewhere in the rocket.
+ </p></div><div class="section" title="On the Ground"><div class="titlepage"><div><div><h3 class="title"><a name="id2572268"></a>On the Ground</h3></div></div></div><p>
+ To receive the data stream from the rocket, you need an antenna and short
+ feedline connected to one of our [TeleDongle](../TeleDongle) units. The
+ TeleDongle in turn plugs directly into the USB port on a notebook
+ computer. Because TeleDongle looks like a simple serial port, your computer
+ does not require special device drivers... just plug it in.