+ <chapter>
+ <title>Altimeter Installation Recommendations</title>
+ <para>
+ Building high-power rockets that fly safely is hard enough. Mix
+ in some sophisticated electronics and a bunch of radio energy
+ and oftentimes you find few perfect solutions. This chapter
+ contains some suggestions about how to install Altus Metrum
+ products into the rocket air-frame, including how to safely and
+ reliably mix a variety of electronics into the same air-frame.
+ </para>
+ <section>
+ <title>Mounting the Altimeter</title>
+ <para>
+ The first consideration is to ensure that the altimeter is
+ 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
+ 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.
+ </para>
+ <orderedlist inheritnum='inherit' numeration='arabic'>
+ <listitem>
+ Make sure TeleMetrum is aligned precisely along the axis of
+ acceleration so that the accelerometer can accurately
+ capture data during the flight.
+ </listitem>
+ <listitem>
+ Watch for any metal touching components on the
+ board. Shorting out connections on the bottom of the board
+ can cause the altimeter to fail during flight.
+ </listitem>
+ </orderedlist>
+ </section>
+ <section>
+ <title>Dealing with the Antenna</title>
+ <para>
+ The antenna supplied is just a piece of solid, insulated,
+ wire. If it gets damaged or broken, it can be easily
+ replaced. It should be kept straight and not cut; bending or
+ cutting it will change the resonant frequency and/or
+ impedance, making it a less efficient radiator and thus
+ reducing the range of the telemetry signal.
+ </para>
+ <para>
+ Keeping metal away from the antenna will provide better range
+ and a more even radiation pattern. In most rockets, it's not
+ entirely possible to isolate the antenna from metal
+ components; there are often bolts, all-thread and wires from other
+ electronics to contend with. Just be aware that the more stuff
+ like this around the antenna, the lower the range.
+ </para>
+ <para>
+ Make sure the antenna is not inside a tube made or covered
+ with conducting material. Carbon fiber is the most common
+ culprit here -- CF is a good conductor and will effectively
+ shield the antenna, dramatically reducing signal strength and
+ range. Metallic flake paint is another effective shielding
+ material which is to be avoided around any antennas.
+ </para>
+ <para>
+ If the ebay is large enough, it can be convenient to simply
+ mount the altimeter at one end and stretch the antenna out
+ inside. Taping the antenna to the sled can keep it straight
+ under acceleration. If there are metal rods, keep the
+ antenna as far away as possible.
+ </para>
+ <para>
+ For a shorter ebay, it's quite practical to have the antenna
+ run through a bulkhead and into an adjacent bay. Drill a small
+ hole in the bulkhead, pass the antenna wire through it and
+ then seal it up with glue or clay. We've also used acrylic
+ tubing to create a cavity for the antenna wire. This works a
+ bit better in that the antenna is known to stay straight and
+ not get folded by recovery components in the bay. Angle the
+ tubing towards the side wall of the rocket and it ends up
+ consuming very little space.
+ </para>
+ <para>
+ If you need to place the antenna at a distance from the
+ altimeter, you can replace the antenna with an edge-mounted
+ SMA connector, and then run 50Ω coax from the board to the
+ antenna. Building a remote antenna is beyond the scope of this
+ manual.
+ </para>
+ </section>
+ <section>
+ <title>Preserving GPS Reception</title>
+ <para>
+ The GPS antenna and receiver in TeleMetrum are highly
+ sensitive and normally have no trouble tracking enough
+ satellites to provide accurate position information for
+ recovering the rocket. However, there are many ways to
+ attenuate the GPS signal.
+ <orderedlist inheritnum='inherit' numeration='arabic'>
+ <listitem>
+ Conductive tubing or coatings. Carbon fiber and metal
+ tubing, or metallic paint will all dramatically attenuate the
+ GPS signal. We've never heard of anyone successfully
+ receiving GPS from inside these materials.
+ </listitem>
+ <listitem>
+ Metal components near the GPS patch antenna. These will
+ de-tune the patch antenna, changing the resonant frequency
+ away from the L1 carrier and reduce the effectiveness of the
+ antenna. You can place as much stuff as you like beneath the
+ antenna as that's covered with a ground plane. But, keep
+ wires and metal out from above the patch antenna.
+ </listitem>
+ </orderedlist>
+ </para>
+ </section>
+ <section>
+ <title>Radio Frequency Interference</title>
+ <para>
+ Any altimeter will generate RFI; the digital circuits use
+ high-frequency clocks that spray radio interference across a
+ wide band. Altus Metrum altimeters generate intentional radio
+ signals as well, increasing the amount of RF energy around the board.
+ </para>
+ <para>
+ Rocketry altimeters also use precise sensors measuring air
+ pressure and acceleration. Tiny changes in voltage can cause
+ these sensor readings to vary by a huge amount. When the
+ sensors start mis-reporting data, the altimeter can either
+ fire the igniters at the wrong time, or not fire them at all.
+ </para>
+ <para>
+ Voltages are induced when radio frequency energy is
+ transmitted from one circuit to another. Here are things that
+ influence the induced voltage and current:
+ </para>
+ <itemizedlist>
+ <listitem>
+ Keep wires from different circuits apart. Moving circuits
+ further apart will reduce RFI.
+ </listitem>
+ <listitem>
+ Avoid parallel wires from different circuits. The longer two
+ wires run parallel to one another, the larger the amount of
+ transferred energy. Cross wires at right angles to reduce
+ RFI.
+ </listitem>
+ <listitem>
+ Twist wires from the same circuits. Two wires the same
+ distance from the transmitter will get the same amount of
+ induced energy which will then cancel out. Any time you have
+ a wire pair running together, twist the pair together to
+ even out distances and reduce RFI. For altimeters, this
+ includes battery leads, switch hookups and igniter
+ circuits.
+ </listitem>
+ <listitem>
+ Avoid resonant lengths. Know what frequencies are present
+ 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
+ of the wavelength (17.5cm).
+ </listitem>
+ </itemizedlist>
+ </section>
+ <section>
+ <title>The Barometric Sensor</title>
+ <para>
+ Altusmetrum altimeters measure altitude with a barometric
+ sensor, essentially measuring the amount of air above the
+ rocket to figure out how high it is. A large number of
+ measurements are taken as the altimeter initializes itself to
+ figure out the pad altitude. Subsequent measurements are then
+ used to compute the height above the pad.
+ </para>
+ <para>
+ To accurately measure atmospheric pressure, the ebay
+ containing the altimeter must be vented outside the
+ air-frame. The vent must be placed in a region of linear
+ airflow, have smooth edges, and away from areas of increasing or
+ decreasing pressure.
+ </para>
+ <para>
+ The barometric sensor in the altimeter is quite sensitive to
+ chemical damage from the products of APCP or BP combustion, so
+ make sure the ebay is carefully sealed from any compartment
+ which contains ejection charges or motors.
+ </para>
+ </section>
+ <section>
+ <title>Ground Testing</title>
+ <para>
+ The most important aspect of any installation is careful
+ ground testing. Bringing an air-frame up to the LCO table which
+ hasn't been ground tested can lead to delays or ejection
+ charges firing on the pad, or, even worse, a recovery system
+ failure.
+ </para>
+ <para>
+ Do a 'full systems' test that includes wiring up all igniters
+ without any BP and turning on all of the electronics in flight
+ mode. This will catch any mistakes in wiring and any residual
+ RFI issues that might accidentally fire igniters at the wrong
+ time. Let the air-frame sit for several minutes, checking for
+ adequate telemetry signal strength and GPS lock. If any igniters
+ fire unexpectedly, find and resolve the issue before loading any
+ BP charges!
+ </para>
+ <para>
+ Ground test the ejection charges. Prepare the rocket for
+ flight, loading ejection charges and igniters. Completely
+ assemble the air-frame and then use the 'Fire Igniters'
+ interface through a TeleDongle to command each charge to
+ fire. Make sure the charge is sufficient to robustly separate
+ the air-frame and deploy the recovery system.
+ </para>
+ </section>
+ </chapter>
+ <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.
+ </para>
+ <para>
+ 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 <ulink url="http://www.altusmetrum.org/AltOS/"/>.
+ </para>
+ <para>
+ We recommend updating the altimeter first, before updating TeleDongle.
+ </para>
+ <section>
+ <title>Updating TeleMetrum Firmware</title>
+ <orderedlist inheritnum='inherit' numeration='arabic'>
+ <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.
+ </listitem>
+ <listitem>
+ Take the 2 screws out of the TeleDongle case to get access
+ to the circuit board.
+ </listitem>
+ <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.
+ Note that each MicroMaTch connector has an alignment pin that
+ goes through a hole in the PC board when you have the cable
+ oriented correctly.
+ </listitem>
+ <listitem>
+ Attach a battery to the TeleMetrum board.
+ </listitem>
+ <listitem>
+ Plug the TeleDongle into your computer's USB port, and power
+ up the TeleMetrum.
+ </listitem>
+ <listitem>
+ Run AltosUI, and select 'Flash Image' from the File menu.
+ </listitem>
+ <listitem>
+ Pick the TeleDongle device from the list, identifying it as the
+ programming device.
+ </listitem>
+ <listitem>
+ Select the image you want put on the TeleMetrum, which should have a
+ name in the form telemetrum-v1.2-1.0.0.ihx. It should be visible
+ in the default directory, if not you may have to poke around
+ your system to find it.
+ </listitem>
+ <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.
+ </listitem>
+ <listitem>
+ Hit the 'OK' button and the software should proceed to flash
+ the TeleMetrum with new firmware, showing a progress bar.
+ </listitem>
+ <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.
+ </listitem>
+ <listitem>
+ If something goes wrong, give it another try.
+ </listitem>
+ </orderedlist>
+ </section>
+ <section>
+ <title>Updating TeleMini Firmware</title>
+ <orderedlist inheritnum='inherit' numeration='arabic'>
+ <listitem>
+ You'll need a special 'programming cable' to reprogram the
+ TeleMini. It's available on the Altus Metrum web store, or
+ you can make your own using an 8-pin MicroMaTch connector on
+ one end and a set of four pins on the other.
+ </listitem>
+ <listitem>
+ Take the 2 screws out of the TeleDongle case to get access
+ to the circuit board.
+ </listitem>
+ <listitem>
+ Plug the 8-pin end of the programming cable to the matching
+ connector on the TeleDongle, and the 4-pins into the holes
+ in the TeleMini circuit board. Note that the MicroMaTch
+ connector has an alignment pin that goes through a hole in
+ the PC board when you have the cable oriented correctly, and
+ that pin 1 on the TeleMini board is marked with a square pad
+ while the other pins have round pads.
+ </listitem>
+ <listitem>
+ Attach a battery to the TeleMini board.
+ </listitem>
+ <listitem>
+ Plug the TeleDongle into your computer's USB port, and power
+ up the TeleMini
+ </listitem>
+ <listitem>
+ Run AltosUI, and select 'Flash Image' from the File menu.
+ </listitem>
+ <listitem>
+ Pick the TeleDongle device from the list, identifying it as the
+ programming device.
+ </listitem>
+ <listitem>
+ Select the image you want put on the TeleMini, which should have a
+ name in the form telemini-v1.0-1.0.0.ihx. It should be visible
+ in the default directory, if not you may have to poke around
+ your system to find it.
+ </listitem>
+ <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.
+ </listitem>
+ <listitem>
+ Hit the 'OK' button and the software should proceed to flash
+ the TeleMini with new firmware, showing a progress bar.
+ </listitem>
+ <listitem>
+ 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.
+ </listitem>
+ <listitem>
+ If something goes wrong, give it another try.
+ </listitem>
+ </orderedlist>
+ </section>
+ <section>
+ <title>Updating TeleDongle Firmware</title>
+ <para>
+ Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
+ firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
+ </para>
+ <orderedlist inheritnum='inherit' numeration='arabic'>
+ <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.
+ </listitem>
+ <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 or TeleDongle.
+ </listitem>
+ <listitem>
+ Take the 2 screws out of the TeleDongle case to get access
+ to the circuit board.
+ </listitem>
+ <listitem>
+ Plug the 8-pin end of the programming cable to the
+ matching connector on the programmer, and the 4-pin end to the
+ matching connector on the TeleDongle.
+ Note that each MicroMaTch connector has an alignment pin that
+ goes through a hole in the PC board when you have the cable
+ oriented correctly.
+ </listitem>
+ <listitem>
+ Attach a battery to the TeleMetrum board if you're using one.
+ </listitem>
+ <listitem>
+ Plug both the programmer and the TeleDongle into your computer's USB
+ ports, and power up the programmer.
+ </listitem>
+ <listitem>
+ Run AltosUI, and select 'Flash Image' from the File menu.
+ </listitem>
+ <listitem>
+ Pick the programmer device from the list, identifying it as the
+ programming device.
+ </listitem>
+ <listitem>
+ Select the image you want put on the TeleDongle, which should have a
+ name in the form teledongle-v0.2-1.0.0.ihx. It should be visible
+ in the default directory, if not you may have to poke around
+ your system to find it.
+ </listitem>
+ <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.
+ </listitem>
+ <listitem>
+ Hit the 'OK' button and the software should proceed to flash
+ the TeleDongle with new firmware, showing a progress bar.
+ </listitem>
+ <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.
+ </listitem>
+ <listitem>
+ If something goes wrong, give it another try.
+ </listitem>
+ </orderedlist>
+ <para>
+ 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.
+ </para>
+ </section>
+ </chapter>
+ <chapter>
+ <title>Hardware Specifications</title>
+ <section>
+ <title>TeleMetrum 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 ham-band transceiver for telemetry down-link.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Barometric pressure sensor good to 45k feet MSL.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ 1-axis high-g accelerometer for motor characterization, capable of
+ +/- 50g using default part.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ On-board, integrated GPS receiver with 5Hz update rate capability.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ On-board 1 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>TeleMini 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 ham-band transceiver for telemetry down-link.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Barometric pressure sensor good to 45k feet MSL.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ On-board 5 kilobyte non-volatile memory for flight data storage.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ RF interface for battery charging, configuration, and data recovery.
+ </para>
+ </listitem>
+ <listitem>
+ <para>
+ Support for Li-Po rechargeable batteries, using an external charger.
+ </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 .5 inch board designed to fit inside 18mm air-frame coupler tube.
+ </para>
+ </listitem>
+ </itemizedlist>
+ </section>
+ </chapter>
+ <chapter>
+ <title>FAQ</title>
+ <para>
+ TeleMetrum seems to shut off when disconnected from the
+ computer. Make sure the battery is adequately charged. Remember the
+ unit will pull more power than the USB port can deliver before the
+ GPS enters "locked" mode. The battery charges best when TeleMetrum
+ is turned off.
+ </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
+ this mode. If this doesn't work the reboot procedure for the
+ TeleDongle *is* to simply unplug it. 'cu' however will retain it's
+ outgoing buffer IF your "escape out" ('~~') does not work.
+ At this point using either 'ao-view' (or possibly
+ 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
+ communication.
+ </para>
+ <para>
+ The amber LED (on the TeleMetrum) lights up when both
+ battery and USB are connected. Does this mean it's charging?
+ Yes, the yellow LED indicates the charging at the 'regular' rate.
+ If the led is out but the unit is still plugged into a USB port,
+ then the battery is being charged at a 'trickle' rate.
+ </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.
+ 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.
+ </para>
+ <para>
+ How do I save flight data?
+ Live telemetry is written to file(s) whenever AltosUI is connected
+ to the TeleDongle. The file area defaults to ~/TeleMetrum
+ but is easily changed using the menus in AltosUI. The files that
+ are written end in '.telem'. The after-flight
+ data-dumped files will end in .eeprom and represent continuous data
+ unlike the .telem files that are subject to losses
+ along the RF data path.
+ See the above instructions on what and how to save the eeprom stored
+ data after physically retrieving your altimeter. Make sure to save
+ the on-board data after each flight; while the TeleMetrum can store
+ multiple flights, you never know when you'll lose the altimeter...
+ </para>
+ </chapter>
+ <appendix>
+ <title>Notes for Older Software</title>
+ <para>
+ <emphasis>
+ Before AltosUI was written, using Altus Metrum devices required
+ some finesse with the Linux command line. There was a limited
+ GUI tool, ao-view, which provided functionality similar to the
+ Monitor Flight window in AltosUI, but everything else was a
+ fairly 80's experience. This appendix includes documentation for
+ using that software.
+ </emphasis>
+ </para>
+ <para>
+ Both TeleMetrum and TeleDongle can be directly communicated
+ with using USB ports. The first thing you should try after getting
+ both units plugged into to your computer's USB port(s) is to run
+ 'ao-list' from a terminal-window to see what port-device-name each
+ device has been assigned by the operating system.
+ You will need this information to access the devices via their
+ respective on-board firmware and data using other command line
+ programs in the AltOS software suite.
+ </para>
+ <para>
+ TeleMini can be communicated with through a TeleDongle device
+ over the radio link. When first booted, TeleMini listens for a
+ TeleDongle device and if it receives a packet, it goes into
+ 'idle' mode. Otherwise, it goes into 'pad' mode and waits to be
+ launched. The easiest way to get it talking is to start the
+ communication link on the TeleDongle and the power up the
+ TeleMini board.
+ </para>
+ <para>
+ To access the device's firmware for configuration you need a terminal
+ program such as you would use to talk to a modem. The software
+ authors prefer using the program 'cu' which comes from the UUCP package
+ on most Unix-like systems such as Linux. An example command line for
+ cu might be 'cu -l /dev/ttyACM0', substituting the correct number
+ indicated from running the
+ ao-list program. Another reasonable terminal program for Linux is
+ 'cutecom'. The default 'escape'
+ character used by CU (i.e. the character you use to
+ issue commands to cu itself instead of sending the command as input
+ to the connected device) is a '~'. You will need this for use in
+ only two different ways during normal operations. First is to exit
+ the program by sending a '~.' which is called a 'escape-disconnect'
+ and allows you to close-out from 'cu'. The
+ second use will be outlined later.
+ </para>
+ <para>
+ All of the Altus Metrum devices share the concept of a two level
+ command set in their firmware.
+ The first layer has several single letter commands. Once
+ you are using 'cu' (or 'cutecom') sending (typing) a '?'
+ returns a full list of these
+ commands. The second level are configuration sub-commands accessed
+ using the 'c' command, for
+ instance typing 'c?' will give you this second level of commands
+ (all of which require the
+ letter 'c' to access). Please note that most configuration options
+ are stored only in Flash memory; TeleDongle doesn't provide any storage
+ for these options and so they'll all be lost when you unplug it.
+ </para>
+ <para>
+ Try setting these configuration ('c' or second level menu) values. A good
+ place to start is by setting your call sign. By default, the boards
+ use 'N0CALL' which is cute, but not exactly legal!
+ Spend a few minutes getting comfortable with the units, their
+ firmware, and 'cu' (or possibly 'cutecom').
+ For instance, try to send
+ (type) a 'c r 2' and verify the channel change by sending a 'c s'.
+ Verify you can connect and disconnect from the units while in your
+ terminal program by sending the escape-disconnect mentioned above.
+ </para>
+ <para>
+ To set the radio frequency, use the 'c R' command to specify the
+ radio transceiver configuration parameter. This parameter is computed
+ using the desired frequency, 'F', the radio calibration parameter, 'C' (showed by the 'c s' command) and
+ the standard calibration reference frequency, 'S', (normally 434.550MHz):
+ <programlisting>
+ R = F / S * C
+ </programlisting>
+ Round the result to the nearest integer value.
+ As with all 'c' sub-commands, follow this with a 'c w' to write the
+ change to the parameter block in the on-board flash on
+ your altimeter board if you want the change to stay in place across reboots.
+ </para>
+ <para>
+ To set the apogee delay, use the 'c d' 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.
+ </para>
+ <para>
+ To set the main deployment altitude, use the 'c m' 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.
+ </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 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.
+ </para>
+ <para>
+ Note that the 'reboot' command, which is very useful on the altimeters,
+ will likely just cause problems with the dongle. The *correct* way
+ to reset the dongle is just to unplug and re-plug it.
+ </para>
+ <para>
+ A fun thing to do at the launch site and something you can do while
+ learning how to use these units is to play with the radio link access
+ between an altimeter and the TeleDongle. Be aware that you *must* create
+ some physical separation between the devices, otherwise the link will
+ not function due to signal overload in the receivers in each device.
+ </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
+ 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.
+ </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
+ CU) then it is likely that your kernel has issues. Try a newer version.
+ </para>
+ <para>
+ Using this radio link allows you to configure the altimeter, test
+ fire e-matches and igniters from the flight line, check pyro-match
+ continuity and so forth. You can leave the unit turned on while it
+ is in 'idle mode' and then place the
+ rocket vertically on the launch pad, walk away and then issue a
+ reboot command. The altimeter will reboot and start sending data
+ having changed to the "pad" mode. If the TeleDongle is not receiving
+ this data, you can disconnect 'cu' from the TeleDongle using the
+ procedures mentioned above and THEN connect to the TeleDongle from
+ inside 'ao-view'. If this doesn't work, disconnect from the
+ TeleDongle, unplug it, and try again after plugging it back in.
+ </para>
+ <para>
+ In order to reduce the chance of accidental firing of pyrotechnic
+ charges, the command to fire a charge is intentionally somewhat
+ difficult to type, and the built-in help is slightly cryptic to
+ prevent accidental echoing of characters from the help text back at
+ the board from firing a charge. The command to fire the apogee
+ drogue charge is 'i DoIt drogue' and the command to fire the main
+ charge is 'i DoIt main'.
+ </para>
+ <para>
+ On TeleMetrum, the GPS will eventually find enough satellites, lock in on them,
+ and 'ao-view' will both auditorily announce and visually indicate
+ that GPS is ready.
+ Now you can launch knowing that you have a good data path and
+ good satellite lock for flight data and recovery. Remember
+ you MUST tell ao-view to connect to the TeleDongle explicitly in
+ order for ao-view to be able to receive data.
+ </para>
+ <para>
+ The altimeters provide RDF (radio direction finding) tones on
+ the pad, during descent and after landing. These can be used to
+ locate the rocket using a directional antenna; the signal
+ strength providing an indication of the direction from receiver to rocket.
+ </para>
+ <para>
+ TeleMetrum also provides GPS tracking data, which can further simplify
+ locating the rocket once it has landed. (The last good GPS data
+ received before touch-down will be on the data screen of 'ao-view'.)
+ </para>
+ <para>
+ Once you have recovered the rocket you can download the eeprom
+ contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
+ either a USB cable or over the radio link using TeleDongle.
+ And by following the man page for 'ao-postflight' you can create
+ various data output reports, graphs, and even KML data to see the
+ flight trajectory in Google-earth. (Moving the viewing angle making
+ sure to connect the yellow lines while in Google-earth is the proper
+ technique.)
+ </para>
+ <para>
+ As for ao-view.... some things are in the menu but don't do anything
+ very useful. The developers have stopped working on ao-view to focus
+ on a new, cross-platform ground station program. So ao-view may or
+ may not be updated in the future. Mostly you just use
+ the Log and Device menus. It has a wonderful display of the incoming
+ flight data and I am sure you will enjoy what it has to say to you
+ once you enable the voice output!
+ </para>
+ </appendix>
+ <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.
+ </para>
+ <section>
+ <title>Radio Frequency</title>
+ <para>
+ 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.
+ </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.
+ </para>
+ <para>
+ 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.
+ </para>
+ <para>
+ Note that any time you re-do the radio frequency calibration, the
+ radio frequency is reset to the default 434.550 Mhz. If you want
+ to use another frequency, you will have to set that again after
+ calibration is completed.
+ </para>
+ </section>
+ <section>
+ <title>TeleMetrum Accelerometer</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.
+ </para>
+ <para>
+ 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. Note that the accuracy of this
+ calibration depends primarily on how perfectly vertical and still
+ the board is held during the cal process. 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.
+ </para>
+ <para>
+ 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.
+ </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.
+ </para>
+ </section>
+ </appendix>
+ <appendix
+ xmlns:xi="http://www.w3.org/2001/XInclude">
+ <title>Release Notes</title>
+ <xi:include href="release-notes-1.0.1.xsl" xpointer="xpointer(/article/*)"/>
+ <xi:include href="release-notes-0.9.2.xsl" xpointer="xpointer(/article/*)"/>
+ <xi:include href="release-notes-0.9.xsl" xpointer="xpointer(/article/*)"/>
+ <xi:include href="release-notes-0.8.xsl" xpointer="xpointer(/article/*)"/>
+ <xi:include href="release-notes-0.7.1.xsl" xpointer="xpointer(/article/*)"/>
+ </appendix>
+</book>
+
+<!-- LocalWords: Altusmetrum
+-->