1 <?xml version="1.0" encoding="utf-8" ?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
5 <title>TeleMetrum</title>
6 <subtitle>Owner's Manual for the TeleMetrum System</subtitle>
9 <firstname>Bdale</firstname>
10 <surname>Garbee</surname>
13 <firstname>Keith</firstname>
14 <surname>Packard</surname>
18 <holder>Bdale Garbee and Keith Packard</holder>
22 This document is released under the terms of the
23 <ulink url="http://creativecommons.org/licenses/by-sa/3.0/">
24 Creative Commons ShareAlike 3.0
31 <revnumber>0.3</revnumber>
32 <date>24 November 2010</date>
33 <revremark>New section on AltosUI mostly by Keith with contributions
34 from Anthony Towns. Many other updates.</revremark>
37 <revnumber>0.2</revnumber>
38 <date>18 July 2010</date>
39 <revremark>Significant update</revremark>
42 <revnumber>0.1</revnumber>
43 <date>30 March 2010</date>
44 <revremark>Initial content</revremark>
49 <title>Introduction and Overview</title>
51 Welcome to the Altus Metrum community! Our circuits and software reflect
52 our passion for both hobby rocketry and Free Software. We hope their
53 capabilities and performance will delight you in every way, but by
54 releasing all of our hardware and software designs under open licenses,
55 we also hope to empower you to take as active a role in our collective
59 The focal point of our community is TeleMetrum, a dual deploy altimeter
60 with fully integrated GPS and radio telemetry as standard features, and
61 a "companion interface" that will support optional capabilities in the
65 Complementing TeleMetrum is TeleDongle, a USB to RF interface for
66 communicating with TeleMetrum. Combined with your choice of antenna and
67 notebook computer, TeleDongle and our associated user interface software
68 form a complete ground station capable of logging and displaying in-flight
69 telemetry, aiding rocket recovery, then processing and archiving flight
70 data for analysis and review.
73 More products will be added to the Altus Metrum family over time, and
74 we currently envision that this will be a single, comprehensive manual
75 for the entire product family.
79 <title>Getting Started</title>
81 This chapter began as "The Mere-Mortals Quick Start/Usage Guide to
82 the Altus Metrum Starter Kit" by Bob Finch, W9YA, NAR 12965, TRA 12350,
83 w9ya@amsat.org. Bob was one of our first customers for a production
84 TeleMetrum, and the enthusiasm that led to his contribution of this
85 section is immensely gratifying and highy appreciated!
88 The first thing to do after you check the inventory of parts in your
89 "starter kit" is to charge the battery by plugging it into the
90 corresponding socket of the TeleMetrum and then using the USB A to B
91 cable to plug the Telemetrum into your computer's USB socket. The
92 TeleMetrum circuitry will charge the battery whenever it is plugged
93 into the usb socket. The TeleMetrum's on-off switch does NOT control
94 the charging circuitry. When the GPS chip is initially searching for
95 satellites, the unit will pull more current than it can pull from the
96 usb port, so the battery must be plugged in order to get a good
97 satellite lock. Once GPS is locked the current consumption goes back
98 down enough to enable charging while
99 running. So it's a good idea to fully charge the battery as your
100 first item of business so there is no issue getting and maintaining
101 satellite lock. The yellow charge indicator led will go out when the
102 battery is nearly full and the charger goes to trickle charge.
105 The other active device in the starter kit is the half-duplex TeleDongle
106 rf link. If you plug it in to your computer it should "just work",
107 showing up as a serial port device. If you are using Linux and are
108 having problems, try moving to a fresher kernel (2.6.33 or newer), as
109 there were some ugly USB serial driver bugs in earlier versions.
112 Next you should obtain and install the AltOS utilities. The first
113 generation sofware was written for Linux only. New software is coming
114 soon that will also run on Windows and Mac. For now, we'll concentrate
115 on Linux. If you are using Debian, an 'altos' package already exists,
116 see http://altusmetrum.org/AltOS for details on how to install it.
117 User-contributed directions for building packages on ArchLinux may be
118 found in the contrib/arch-linux directory as PKGBUILD files.
119 Between the debian/rules file and the PKGBUILD files in
120 contrib, you should find enough information to learn how to build the
121 software for any other version of Linux.
124 When you have successfully installed the software suite (either from
125 compiled source code or as the pre-built Debian package) you will
126 have 10 or so executable programs all of which have names beginning
128 ('ao-view' is the lone GUI-based program, the rest are command-line
129 oriented.) You will also have man pages, that give you basic info
131 You will also get this documentation in two file types in the doc/
132 directory, telemetrum-doc.pdf and telemetrum-doc.html.
133 Finally you will have a couple control files that allow the ao-view
134 GUI-based program to appear in your menu of programs (under
135 the 'Internet' category).
138 Both Telemetrum and TeleDongle can be directly communicated
139 with using USB ports. The first thing you should try after getting
140 both units plugged into to your computer's usb port(s) is to run
141 'ao-list' from a terminal-window to see what port-device-name each
142 device has been assigned by the operating system.
143 You will need this information to access the devices via their
144 respective on-board firmware and data using other command line
145 programs in the AltOS software suite.
148 To access the device's firmware for configuration you need a terminal
149 program such as you would use to talk to a modem. The software
150 authors prefer using the program 'cu' which comes from the UUCP package
151 on most Unix-like systems such as Linux. An example command line for
152 cu might be 'cu -l /dev/ttyACM0', substituting the correct number
153 indicated from running the
154 ao-list program. Another reasonable terminal program for Linux is
155 'cutecom'. The default 'escape'
156 character used by CU (i.e. the character you use to
157 issue commands to cu itself instead of sending the command as input
158 to the connected device) is a '~'. You will need this for use in
159 only two different ways during normal operations. First is to exit
160 the program by sending a '~.' which is called a 'escape-disconnect'
161 and allows you to close-out from 'cu'. The
162 second use will be outlined later.
165 Both TeleMetrum and TeleDongle share the concept of a two level
166 command set in their firmware.
167 The first layer has several single letter commands. Once
168 you are using 'cu' (or 'cutecom') sending (typing) a '?'
169 returns a full list of these
170 commands. The second level are configuration sub-commands accessed
171 using the 'c' command, for
172 instance typing 'c?' will give you this second level of commands
173 (all of which require the
174 letter 'c' to access). Please note that most configuration options
175 are stored only in DataFlash memory, and only TeleMetrum has this
176 memory to save the various values entered like the channel number
177 and your callsign when powered off. TeleDongle requires that you
178 set these each time you plug it in, which ao-view can help with.
181 Try setting these config ('c' or second level menu) values. A good
182 place to start is by setting your call sign. By default, the boards
183 use 'N0CALL' which is cute, but not exactly legal!
184 Spend a few minutes getting comfortable with the units, their
185 firmware, and 'cu' (or possibly 'cutecom').
186 For instance, try to send
187 (type) a 'c r 2' and verify the channel change by sending a 'c s'.
188 Verify you can connect and disconnect from the units while in your
189 terminal program by sending the escape-disconnect mentioned above.
192 Note that the 'reboot' command, which is very useful on TeleMetrum,
193 will likely just cause problems with the dongle. The *correct* way
194 to reset the dongle is just to unplug and re-plug it.
197 A fun thing to do at the launch site and something you can do while
198 learning how to use these units is to play with the rf-link access
199 of the TeleMetrum from the TeleDongle. Be aware that you *must* create
200 some physical separation between the devices, otherwise the link will
201 not function due to signal overload in the receivers in each device.
204 Now might be a good time to take a break and read the rest of this
205 manual, particularly about the two "modes" that the TeleMetrum
206 can be placed in and how the position of the TeleMetrum when booting
207 up will determine whether the unit is in "pad" or "idle" mode.
210 You can access a TeleMetrum in idle mode from the Teledongle's USB
211 connection using the rf link
212 by issuing a 'p' command to the TeleDongle. Practice connecting and
213 disconnecting ('~~' while using 'cu') from the TeleMetrum. If
214 you cannot escape out of the "p" command, (by using a '~~' when in
215 CU) then it is likely that your kernel has issues. Try a newer version.
218 Using this rf link allows you to configure the TeleMetrum, test
219 fire e-matches and igniters from the flight line, check pyro-match
220 continuity and so forth. You can leave the unit turned on while it
221 is in 'idle mode' and then place the
222 rocket vertically on the launch pad, walk away and then issue a
223 reboot command. The TeleMetrum will reboot and start sending data
224 having changed to the "pad" mode. If the TeleDongle is not receiving
225 this data, you can disconnect 'cu' from the Teledongle using the
226 procedures mentioned above and THEN connect to the TeleDongle from
227 inside 'ao-view'. If this doesn't work, disconnect from the
228 TeleDongle, unplug it, and try again after plugging it back in.
231 Eventually the GPS will find enough satellites, lock in on them,
232 and 'ao-view' will both auditorially announce and visually indicate
234 Now you can launch knowing that you have a good data path and
235 good satellite lock for flight data and recovery. Remember
236 you MUST tell ao-view to connect to the TeleDongle explicitly in
237 order for ao-view to be able to receive data.
240 Both RDF (radio direction finding) tones from the TeleMetrum and
241 GPS trekking data are available and together are very useful in
242 locating the rocket once it has landed. (The last good GPS data
243 received before touch-down will be on the data screen of 'ao-view'.)
246 Once you have recovered the rocket you can download the eeprom
247 contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
248 either a USB cable or over the radio link using TeleDongle.
249 And by following the man page for 'ao-postflight' you can create
250 various data output reports, graphs, and even kml data to see the
251 flight trajectory in google-earth. (Moving the viewing angle making
252 sure to connect the yellow lines while in google-earth is the proper
256 As for ao-view.... some things are in the menu but don't do anything
257 very useful. The developers have stopped working on ao-view to focus
258 on a new, cross-platform ground station program. So ao-view may or
259 may not be updated in the future. Mostly you just use
260 the Log and Device menus. It has a wonderful display of the incoming
261 flight data and I am sure you will enjoy what it has to say to you
262 once you enable the voice output!
267 The altimeter (TeleMetrum) seems to shut off when disconnected from the
268 computer. Make sure the battery is adequately charged. Remember the
269 unit will pull more power than the USB port can deliver before the
270 GPS enters "locked" mode. The battery charges best when TeleMetrum
274 It's impossible to stop the TeleDongle when it's in "p" mode, I have
275 to unplug the USB cable? Make sure you have tried to "escape out" of
276 this mode. If this doesn't work the reboot procedure for the
277 TeleDongle *is* to simply unplug it. 'cu' however will retain it's
278 outgoing buffer IF your "escape out" ('~~') does not work.
279 At this point using either 'ao-view' (or possibly
280 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
284 The amber LED (on the TeleMetrum/altimeter) lights up when both
285 battery and USB are connected. Does this mean it's charging?
286 Yes, the yellow LED indicates the charging at the 'regular' rate.
287 If the led is out but the unit is still plugged into a USB port,
288 then the battery is being charged at a 'trickle' rate.
291 There are no "dit-dah-dah-dit" sound like the manual mentions?
292 That's the "pad" mode. Weak batteries might be the problem.
293 It is also possible that the unit is horizontal and the output
294 is instead a "dit-dit" meaning 'idle'.
297 It's unclear how to use 'ao-view' and other programs when 'cu'
298 is running. You cannot have more than one program connected to
299 the TeleDongle at one time without apparent data loss as the
300 incoming data will not make it to both programs intact.
301 Disconnect whatever programs aren't currently being used.
304 How do I save flight data?
305 Live telemetry is written to file(s) whenever 'ao-view' is connected
306 to the TeleDongle. The file area defaults to ~/altos
307 but is easily changed using the menus in 'ao-view'. The files that
308 are written end in '.telem'. The after-flight
309 data-dumped files will end in .eeprom and represent continuous data
310 unlike the rf-linked .telem files that are subject to the
311 turnarounds/data-packaging time slots in the half-duplex rf data path.
312 See the above instructions on what and how to save the eeprom stored
313 data after physically retrieving your TeleMetrum. Make sure to save
314 the on-board data after each flight, as the current firmware will
315 over-write any previous flight data during a new flight.
320 <title>Specifications</title>
324 Recording altimeter for model rocketry.
329 Supports dual deployment (can fire 2 ejection charges).
334 70cm ham-band transceiver for telemetry downlink.
339 Barometric pressure sensor good to 45k feet MSL.
344 1-axis high-g accelerometer for motor characterization, capable of
345 +/- 50g using default part.
350 On-board, integrated GPS receiver with 5hz update rate capability.
355 On-board 1 megabyte non-volatile memory for flight data storage.
360 USB interface for battery charging, configuration, and data recovery.
365 Fully integrated support for LiPo rechargeable batteries.
370 Uses LiPo to fire e-matches, support for optional separate pyro
376 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube.
382 <title>Handling Precautions</title>
384 TeleMetrum is a sophisticated electronic device. When handled gently and
385 properly installed in an airframe, it will deliver impressive results.
386 However, like all electronic devices, there are some precautions you
390 The Lithium Polymer rechargeable batteries used with TeleMetrum have an
391 extraordinary power density. This is great because we can fly with
392 much less battery mass than if we used alkaline batteries or previous
393 generation rechargeable batteries... but if they are punctured
394 or their leads are allowed to short, they can and will release their
396 Thus we recommend that you take some care when handling our batteries
397 and consider giving them some extra protection in your airframe. We
398 often wrap them in suitable scraps of closed-cell packing foam before
399 strapping them down, for example.
402 The TeleMetrum barometric sensor is sensitive to sunlight. In normal
403 mounting situations, it and all of the other surface mount components
404 are "down" towards whatever the underlying mounting surface is, so
405 this is not normally a problem. Please consider this, though, when
406 designing an installation, for example, in a 29mm airframe with a
407 see-through plastic payload bay.
410 The TeleMetrum barometric sensor sampling port must be able to
412 both by not being covered by foam or tape or other materials that might
413 directly block the hole on the top of the sensor, but also by having a
414 suitable static vent to outside air.
417 As with all other rocketry electronics, TeleMetrum must be protected
418 from exposure to corrosive motor exhaust and ejection charge gasses.
422 <title>Hardware Overview</title>
424 TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to
425 fit inside coupler for 29mm airframe tubing, but using it in a tube that
426 small in diameter may require some creativity in mounting and wiring
427 to succeed! The default 1/4
428 wave UHF wire antenna attached to the center of the nose-cone end of
429 the board is about 7 inches long, and wiring for a power switch and
430 the e-matches for apogee and main ejection charges depart from the
431 fin can end of the board. Given all this, an ideal "simple" avionics
432 bay for TeleMetrum should have at least 10 inches of interior length.
435 A typical TeleMetrum installation using the on-board GPS antenna and
436 default wire UHF antenna involves attaching only a suitable
437 Lithium Polymer battery, a single pole switch for power on/off, and
438 two pairs of wires connecting e-matches for the apogee and main ejection
442 By default, we use the unregulated output of the LiPo battery directly
443 to fire ejection charges. This works marvelously with standard
444 low-current e-matches like the J-Tek from MJG Technologies, and with
445 Quest Q2G2 igniters. However, if you
446 want or need to use a separate pyro battery, you can do so by adding
447 a second 2mm connector to position B2 on the board and cutting the
448 thick pcb trace connecting the LiPo battery to the pyro circuit between
449 the two silk screen marks on the surface mount side of the board shown
453 We offer two choices of pyro and power switch connector, or you can
454 choose neither and solder wires directly to the board. All three choices
455 are reasonable depending on the constraints of your airframe. Our
456 favorite option when there is sufficient room above the board is to use
457 the Tyco pin header with polarization and locking. If you choose this
458 option, you crimp individual wires for the power switch and e-matches
459 into a mating connector, and installing and removing the TeleMetrum
460 board from an airframe is as easy as plugging or unplugging two
461 connectors. If the airframe will not support this much height or if
462 you want to be able to directly attach e-match leads to the board, we
463 offer a screw terminal block. This is very similar to what most other
464 altimeter vendors provide and so may be the most familiar option.
465 You'll need a very small straight blade screwdriver to connect
466 and disconnect the board in this case, such as you might find in a
467 jeweler's screwdriver set. Finally, you can forego both options and
468 solder wires directly to the board, which may be the best choice for
469 minimum diameter and/or minimum mass designs.
472 For most airframes, the integrated GPS antenna and wire UHF antenna are
473 a great combination. However, if you are installing in a carbon-fiber
474 electronics bay which is opaque to RF signals, you may need to use
475 off-board external antennas instead. In this case, you can order
476 TeleMetrum with an SMA connector for the UHF antenna connection, and
477 you can unplug the integrated GPS antenna and select an appropriate
478 off-board GPS antenna with cable terminating in a U.FL connector.
482 <title>System Operation</title>
484 <title>Firmware Modes </title>
486 The AltOS firmware build for TeleMetrum has two fundamental modes,
487 "idle" and "flight". Which of these modes the firmware operates in
488 is determined by the orientation of the rocket (well, actually the
489 board, of course...) at the time power is switched on. If the rocket
490 is "nose up", then TeleMetrum assumes it's on a rail or rod being
491 prepared for launch, so the firmware chooses flight mode. However,
492 if the rocket is more or less horizontal, the firmware instead enters
496 At power on, you will hear three beeps
497 ("S" in Morse code for startup) and then a pause while
498 TeleMetrum completes initialization and self tests, and decides which
502 In flight or "pad" mode, TeleMetrum turns on the GPS system,
504 state machine, goes into transmit-only mode on the RF link sending
505 telemetry, and waits for launch to be detected. Flight mode is
506 indicated by an audible "di-dah-dah-dit" ("P" for pad) on the
508 beeps indicating the state of the pyrotechnic igniter continuity.
509 One beep indicates apogee continuity, two beeps indicate
510 main continuity, three beeps indicate both apogee and main continuity,
511 and one longer "brap" sound indicates no continuity. For a dual
512 deploy flight, make sure you're getting three beeps before launching!
513 For apogee-only or motor eject flights, do what makes sense.
516 In idle mode, you will hear an audible "di-dit" ("I" for idle), and
517 the normal flight state machine is disengaged, thus
518 no ejection charges will fire. TeleMetrum also listens on the RF
519 link when in idle mode for packet mode requests sent from TeleDongle.
520 Commands can be issued to a TeleMetrum in idle mode over either
521 USB or the RF link equivalently.
522 Idle mode is useful for configuring TeleMetrum, for extracting data
523 from the on-board storage chip after flight, and for ground testing
527 One "neat trick" of particular value when TeleMetrum is used with very
528 large airframes, is that you can power the board up while the rocket
529 is horizontal, such that it comes up in idle mode. Then you can
530 raise the airframe to launch position, use a TeleDongle to open
531 a packet connection, and issue a 'reset' command which will cause
532 TeleMetrum to reboot, realize it's now nose-up, and thus choose
533 flight mode. This is much safer than standing on the top step of a
534 rickety step-ladder or hanging off the side of a launch tower with
535 a screw-driver trying to turn on your avionics before installing
542 TeleMetrum includes a complete GPS receiver. See a later section for
543 a brief explanation of how GPS works that will help you understand
544 the information in the telemetry stream. The bottom line is that
545 the TeleMetrum GPS receiver needs to lock onto at least four
546 satellites to obtain a solid 3 dimensional position fix and know
550 TeleMetrum provides backup power to the GPS chip any time a LiPo
551 battery is connected. This allows the receiver to "warm start" on
552 the launch rail much faster than if every power-on were a "cold start"
553 for the GPS receiver. In typical operations, powering up TeleMetrum
554 on the flight line in idle mode while performing final airframe
555 preparation will be sufficient to allow the GPS receiver to cold
556 start and acquire lock. Then the board can be powered down during
557 RSO review and installation on a launch rod or rail. When the board
558 is turned back on, the GPS system should lock very quickly, typically
559 long before igniter installation and return to the flight line are
564 <title>Ground Testing </title>
566 An important aspect of preparing a rocket using electronic deployment
567 for flight is ground testing the recovery system. Thanks
568 to the bi-directional RF link central to the Altus Metrum system,
569 this can be accomplished in a TeleMetrum-equipped rocket without as
570 much work as you may be accustomed to with other systems. It can
574 Just prep the rocket for flight, then power up TeleMetrum while the
575 airframe is horizontal. This will cause the firmware to go into
576 "idle" mode, in which the normal flight state machine is disabled and
577 charges will not fire without manual command. Then, establish an
578 RF packet connection from a TeleDongle-equipped computer using the
579 P command from a safe distance. You can now command TeleMetrum to
580 fire the apogee or main charges to complete your testing.
583 In order to reduce the chance of accidental firing of pyrotechnic
584 charges, the command to fire a charge is intentionally somewhat
585 difficult to type, and the built-in help is slightly cryptic to
586 prevent accidental echoing of characters from the help text back at
587 the board from firing a charge. The command to fire the apogee
588 drogue charge is 'i DoIt drogue' and the command to fire the main
589 charge is 'i DoIt main'.
593 <title>Radio Link </title>
595 The chip our boards are based on incorporates an RF transceiver, but
596 it's not a full duplex system... each end can only be transmitting or
597 receiving at any given moment. So we had to decide how to manage the
601 By design, TeleMetrum firmware listens for an RF connection when
602 it's in "idle mode" (turned on while the rocket is horizontal), which
603 allows us to use the RF link to configure the rocket, do things like
604 ejection tests, and extract data after a flight without having to
605 crack open the airframe. However, when the board is in "flight
606 mode" (turned on when the rocket is vertical) the TeleMetrum only
607 transmits and doesn't listen at all. That's because we want to put
608 ultimate priority on event detection and getting telemetry out of
609 the rocket and out over
610 the RF link in case the rocket crashes and we aren't able to extract
614 We don't use a 'normal packet radio' mode because they're just too
615 inefficient. The GFSK modulation we use is just FSK with the
616 baseband pulses passed through a
617 Gaussian filter before they go into the modulator to limit the
618 transmitted bandwidth. When combined with the hardware forward error
619 correction support in the cc1111 chip, this allows us to have a very
620 robust 38.4 kilobit data link with only 10 milliwatts of transmit power,
621 a whip antenna in the rocket, and a hand-held Yagi on the ground. We've
622 had flights to above 21k feet AGL with good reception, and calculations
623 suggest we should be good to well over 40k feet AGL with a 5-element yagi on
624 the ground. We hope to fly boards to higher altitudes soon, and would
625 of course appreciate customer feedback on performance in higher
630 <title>Configurable Parameters</title>
632 Configuring a TeleMetrum board for flight is very simple. Because we
633 have both acceleration and pressure sensors, there is no need to set
634 a "mach delay", for example. The few configurable parameters can all
635 be set using a simple terminal program over the USB port or RF link
639 <title>Radio Channel</title>
641 Our firmware supports 10 channels. The default channel 0 corresponds
642 to a center frequency of 434.550 Mhz, and channels are spaced every
643 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz.
644 At any given launch, we highly recommend coordinating who will use
645 each channel and when to avoid interference. And of course, both
646 TeleMetrum and TeleDongle must be configured to the same channel to
647 successfully communicate with each other.
650 To set the radio channel, use the 'c r' command, like 'c r 3' to set
652 As with all 'c' sub-commands, follow this with a 'c w' to write the
653 change to the parameter block in the on-board DataFlash chip on
654 your TeleMetrum board if you want the change to stay in place across reboots.
658 <title>Apogee Delay</title>
660 Apogee delay is the number of seconds after TeleMetrum detects flight
661 apogee that the drogue charge should be fired. In most cases, this
662 should be left at the default of 0. However, if you are flying
663 redundant electronics such as for an L3 certification, you may wish
664 to set one of your altimeters to a positive delay so that both
665 primary and backup pyrotechnic charges do not fire simultaneously.
668 To set the apogee delay, use the [FIXME] command.
669 As with all 'c' sub-commands, follow this with a 'c w' to write the
670 change to the parameter block in the on-board DataFlash chip.
673 Please note that the TeleMetrum apogee detection algorithm always
674 fires a fraction of a second *after* apogee. If you are also flying
675 an altimeter like the PerfectFlite MAWD, which only supports selecting
676 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0
677 seconds delay and set the TeleMetrum to fire your backup 2 or 3
678 seconds later to avoid any chance of both charges firing
679 simultaneously. We've flown several airframes this way quite happily,
680 including Keith's successful L3 cert.
684 <title>Main Deployment Altitude</title>
686 By default, TeleMetrum will fire the main deployment charge at an
687 elevation of 250 meters (about 820 feet) above ground. We think this
688 is a good elevation for most airframes, but feel free to change this
689 to suit. In particular, if you are flying two altimeters, you may
691 deployment elevation for the backup altimeter to be something lower
692 than the primary so that both pyrotechnic charges don't fire
696 To set the main deployment altitude, use the [FIXME] command.
697 As with all 'c' sub-commands, follow this with a 'c w' to write the
698 change to the parameter block in the on-board DataFlash chip.
703 <title>Calibration</title>
705 There are only two calibrations required for a TeleMetrum board, and
706 only one for TeleDongle.
709 <title>Radio Frequency</title>
711 The radio frequency is synthesized from a clock based on the 48 Mhz
712 crystal on the board. The actual frequency of this oscillator must be
713 measured to generate a calibration constant. While our GFSK modulation
714 bandwidth is wide enough to allow boards to communicate even when
715 their oscillators are not on exactly the same frequency, performance
716 is best when they are closely matched.
717 Radio frequency calibration requires a calibrated frequency counter.
718 Fortunately, once set, the variation in frequency due to aging and
719 temperature changes is small enough that re-calibration by customers
720 should generally not be required.
723 To calibrate the radio frequency, connect the UHF antenna port to a
724 frequency counter, set the board to channel 0, and use the 'C'
725 command to generate a CW carrier. Wait for the transmitter temperature
726 to stabilize and the frequency to settle down.
727 Then, divide 434.550 Mhz by the
728 measured frequency and multiply by the current radio cal value show
729 in the 'c s' command. For an unprogrammed board, the default value
730 is 1186611. Take the resulting integer and program it using the 'c f'
731 command. Testing with the 'C' command again should show a carrier
732 within a few tens of Hertz of the intended frequency.
733 As with all 'c' sub-commands, follow this with a 'c w' to write the
734 change to the parameter block in the on-board DataFlash chip.
738 <title>Accelerometer</title>
740 The accelerometer we use has its own 5 volt power supply and
741 the output must be passed through a resistive voltage divider to match
742 the input of our 3.3 volt ADC. This means that unlike the barometric
743 sensor, the output of the acceleration sensor is not ratiometric to
744 the ADC converter, and calibration is required. We also support the
745 use of any of several accelerometers from a Freescale family that
746 includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity,
747 a simple 2-point calibration yields acceptable results capturing both
748 the different sensitivities and ranges of the different accelerometer
749 parts and any variation in power supply voltages or resistor values
750 in the divider network.
753 To calibrate the acceleration sensor, use the 'c a 0' command. You
754 will be prompted to orient the board vertically with the UHF antenna
755 up and press a key, then to orient the board vertically with the
756 UHF antenna down and press a key.
757 As with all 'c' sub-commands, follow this with a 'c w' to write the
758 change to the parameter block in the on-board DataFlash chip.
761 The +1g and -1g calibration points are included in each telemetry
762 frame and are part of the header extracted by ao-dumplog after flight.
763 Note that we always store and return raw ADC samples for each
764 sensor... nothing is permanently "lost" or "damaged" if the
772 <title>AltosUI</title>
774 The AltosUI program provides a graphical user interface for
775 interacting with the Altus Metrum product family, including
776 TeleMetrum and TeleDongle. AltosUI can monitor telemetry data,
777 configure TeleMetrum and TeleDongle devices and many other
778 tasks. The primary interface window provides a selection of
779 buttons, one for each major activity in the system. This manual
780 is split into chapters, each of which documents one of the tasks
781 provided from the top-level toolbar.
784 <title>Packet Command Mode</title>
785 <subtitle>Controlling TeleMetrum Over The Radio Link</subtitle>
787 One of the unique features of the Altos Metrum environment is
788 the ability to create a two way command link between TeleDongle
789 and TeleMetrum using the digital radio transceivers built into
790 each device. This allows you to interact with TeleMetrum from
791 afar, as if it were directly connected to the computer.
794 Any operation which can be performed with TeleMetrum
795 can either be done with TeleMetrum directly connected to
796 the computer via the USB cable, or through the packet
797 link. Simply select the appropriate TeleDongle device when
798 the list of devices is presented and AltosUI will use packet
804 Save Flight Data—Recover flight data from the rocket without
810 Configure TeleMetrum—Reset apogee delays or main deploy
811 heights to respond to changing launch conditions. You can
812 also 'reboot' the TeleMetrum device. Use this to remotely
813 enable the flight computer by turning TeleMetrum on while
814 horizontal, then once the airframe is oriented for launch,
815 you can reboot TeleMetrum and have it restart in pad mode
816 without having to climb the scary ladder.
821 Fire Igniters—Test your deployment charges without snaking
822 wires out through holes in the airframe. Simply assembly the
823 rocket as if for flight with the apogee and main charges
824 loaded, then remotely command TeleMetrum to fire the
830 Packet command mode uses the same RF channels as telemetry
831 mode. Configure the desired TeleDongle channel using the
832 flight monitor window channel selector and then close that
833 window before performing the desired operation.
836 TeleMetrum only enables packet command mode in 'idle' mode, so
837 make sure you have TeleMetrum lying horizontally when you turn
838 it on. Otherwise, TeleMetrum will start in 'pad' mode ready for
839 flight and will not be listening for command packets from TeleDongle.
842 When packet command mode is enabled, you can monitor the link
843 by watching the lights on the TeleDongle and TeleMetrum
844 devices. The red LED will flash each time TeleDongle or
845 TeleMetrum transmit a packet while the green LED will light up
846 on TeleDongle while it is waiting to receive a packet from
851 <title>Monitor Flight</title>
852 <subtitle>Receive, Record and Display Telemetry Data</subtitle>
854 Selecting this item brings up a dialog box listing all of the
855 connected TeleDongle devices. When you choose one of these,
856 AltosUI will create a window to display telemetry data as
857 received by the selected TeleDongle device.
860 All telemetry data received are automatically recorded in
861 suitable log files. The name of the files includes the current
862 date and rocket serial and flight numbers.
865 The radio channel being monitored by the TeleDongle device is
866 displayed at the top of the window. You can configure the
867 channel by clicking on the channel box and selecting the desired
868 channel. AltosUI remembers the last channel selected for each
869 TeleDongle and selects that automatically the next time you use
873 Below the TeleDongle channel selector, the window contains a few
874 significant pieces of information about the TeleMetrum providing
875 the telemetry data stream:
879 <para>The TeleMetrum callsign</para>
882 <para>The TeleMetrum serial number</para>
885 <para>The flight number. Each TeleMetrum remembers how many
891 The rocket flight state. Each flight passes through several
892 states including Pad, Boost, Fast, Coast, Drogue, Main and
898 The Received Signal Strength Indicator value. This lets
899 you know how strong a signal TeleDongle is receiving. The
900 radio inside TeleDongle operates down to about -99dBm;
901 weaker signals may not be receiveable. The packet link uses
902 error correction and detection techniques which prevent
903 incorrect data from being reported.
908 Finally, the largest portion of the window contains a set of
909 tabs, each of which contain some information about the rocket.
910 They're arranged in 'flight order' so that as the flight
911 progresses, the selected tab automatically switches to display
912 data relevant to the current state of the flight. You can select
913 other tabs at any time. The final 'table' tab contains all of
914 the telemetry data in one place.
917 <title>Launch Pad</title>
919 The 'Launch Pad' tab shows information used to decide when the
920 rocket is ready for flight. The first elements include red/green
921 indicators, if any of these is red, you'll want to evaluate
922 whether the rocket is ready to launch:
926 Battery Voltage. This indicates whether the LiPo battery
927 powering the TeleMetrum has sufficient charge to last for
928 the duration of the flight. A value of more than
929 3.7V is required for a 'GO' status.
934 Apogee Igniter Voltage. This indicates whether the apogee
935 igniter has continuity. If the igniter has a low
936 resistance, then the voltage measured here will be close
937 to the LiPo battery voltage. A value greater than 3.2V is
938 required for a 'GO' status.
943 Main Igniter Voltage. This indicates whether the main
944 igniter has continuity. If the igniter has a low
945 resistance, then the voltage measured here will be close
946 to the LiPo battery voltage. A value greater than 3.2V is
947 required for a 'GO' status.
952 GPS Locked. This indicates whether the GPS receiver is
953 currently able to compute position information. GPS requires
954 at least 4 satellites to compute an accurate position.
959 GPS Ready. This indicates whether GPS has reported at least
960 10 consecutive positions without losing lock. This ensures
961 that the GPS receiver has reliable reception from the
967 The LaunchPad tab also shows the computed launch pad position
968 and altitude, averaging many reported positions to improve the
974 <title>Ascent</title>
976 This tab is shown during Boost, Fast and Coast
977 phases. The information displayed here helps monitor the
978 rocket as it heads towards apogee.
981 The height, speed and acceleration are shown along with the
982 maxium values for each of them. This allows you to quickly
983 answer the most commonly asked questions you'll hear during
987 The current latitude and longitude reported by the GPS are
988 also shown. Note that under high acceleration, these values
989 may not get updated as the GPS receiver loses position
990 fix. Once the rocket starts coasting, the receiver should
991 start reporting position again.
994 Finally, the current igniter voltages are reported as in the
995 Launch Pad tab. This can help diagnose deployment failures
996 caused by wiring which comes loose under high acceleration.
1000 <title>Descent</title>
1002 Once the rocket has reached apogee and (we hope) activated the
1003 apogee charge, attention switches to tracking the rocket on
1004 the way back to the ground, and for dual-deploy flights,
1005 waiting for the main charge to fire.
1008 To monitor whether the apogee charge operated correctly, the
1009 current descent rate is reported along with the current
1010 height. Good descent rates generally range from 15-30m/s.
1013 To help locate the rocket in the sky, use the elevation and
1014 bearing information to figure out where to look. Elevation is
1015 in degrees above the horizon. Bearing is reported in degrees
1016 relative to true north. Range can help figure out how big the
1017 rocket will appear. Note that all of these values are relative
1018 to the pad location. If the elevation is near 90°, the rocket
1019 is over the pad, not over you.
1022 Finally, the igniter voltages are reported in this tab as
1023 well, both to monitor the main charge as well as to see what
1024 the status of the apogee charge is.
1028 <title>Landed</title>
1030 Once the rocket is on the ground, attention switches to
1031 recovery. While the radio signal is generally lost once the
1032 rocket is on the ground, the last reported GPS position is
1033 generally within a short distance of the actual landing location.
1036 The last reported GPS position is reported both by
1037 latitude and longitude as well as a bearing and distance from
1038 the launch pad. The distance should give you a good idea of
1039 whether you'll want to walk or hitch a ride. Take the reported
1040 latitude and longitude and enter them into your handheld GPS
1041 unit and have that compute a track to the landing location.
1044 Finally, the maximum height, speed and acceleration reported
1045 during the flight are displayed for your admiring observers.
1049 <title>Site Map</title>
1051 When the rocket gets a GPS fix, the Site Map tab will map
1052 the rocket's position to make it easier for you to locate the
1053 rocket, both while it is in the air, and when it has landed. The
1054 rocket's state is indicated by colour: white for pad, red for
1055 boost, pink for fast, yellow for coast, light blue for drogue,
1056 dark blue for main, and black for landed.
1059 The map's scale is approximately 3m (10ft) per pixel. The map
1060 can be dragged using the left mouse button. The map will attempt
1061 to keep the rocket roughly centred while data is being received.
1064 Images are fetched automatically via the Google Maps Static API,
1065 and are cached for reuse. If map images cannot be downloaded,
1066 the rocket's path will be traced on a dark grey background
1072 <title>Save Flight Data</title>
1074 TeleMetrum records flight data to its internal flash memory.
1075 This data is recorded at a much higher rate than the telemetry
1076 system can handle, and is not subject to radio drop-outs. As
1077 such, it provides a more complete and precise record of the
1078 flight. The 'Save Flight Data' button allows you to read the
1079 flash memory and write it to disk.
1082 Clicking on the 'Save Flight Data' button brings up a list of
1083 connected TeleMetrum and TeleDongle devices. If you select a
1084 TeleMetrum device, the flight data will be downloaded from that
1085 device directly. If you select a TeleDongle device, flight data
1086 will be downloaded from a TeleMetrum device connected via the
1087 packet command link to the specified TeleDongle. See the chapter
1088 on Packet Command Mode for more information about this.
1091 The filename for the data is computed automatically from the recorded
1092 flight date, TeleMetrum serial number and flight number
1097 <title>Replay Flight</title>
1099 Select this button and you are prompted to select a flight
1100 record file, either a .telem file recording telemetry data or a
1101 .eeprom file containing flight data saved from the TeleMetrum
1105 Once a flight record is selected, the flight monitor interface
1106 is displayed and the flight is re-enacted in real time. Check
1107 the Monitor Flight chapter above to learn how this window operates.
1111 <title>Graph Data</title>
1113 Select this button and you are prompted to select a flight
1114 record file, either a .telem file recording telemetry data or a
1115 .eeprom file containing flight data saved from the TeleMetrum
1119 Once a flight record is selected, the acceleration (blue),
1120 velocity (green) and altitude (red) of the flight are plotted and
1121 displayed, measured in metric units.
1124 The graph can be zoomed into a particular area by clicking and
1125 dragging down and to the right. Once zoomed, the graph can be
1126 reset by clicking and dragging up and to the left. Holding down
1127 control and clicking and dragging allows the graph to be panned.
1128 The right mouse button causes a popup menu to be displayed, giving
1129 you the option save or print the plot.
1132 Note that telemetry files will generally produce poor graphs
1133 due to the lower sampling rate and missed telemetry packets,
1134 and will also often have significant amounts of data received
1135 while the rocket was waiting on the pad. Use saved flight data
1136 for graphing where possible.
1140 <title>Export Data</title>
1142 This tool takes the raw data files and makes them available for
1143 external analysis. When you select this button, you are prompted to select a flight
1144 data file (either .eeprom or .telem will do, remember that
1145 .eeprom files contain higher resolution and more continuous
1146 data). Next, a second dialog appears which is used to select
1147 where to write the resulting file. It has a selector to choose
1148 between CSV and KML file formats.
1151 <title>Comma Separated Value Format</title>
1153 This is a text file containing the data in a form suitable for
1154 import into a spreadsheet or other external data analysis
1155 tool. The first few lines of the file contain the version and
1156 configuration information from the TeleMetrum device, then
1157 there is a single header line which labels all of the
1158 fields. All of these lines start with a '#' character which
1159 most tools can be configured to skip over.
1162 The remaining lines of the file contain the data, with each
1163 field separated by a comma and at least one space. All of
1164 the sensor values are converted to standard units, with the
1165 barometric data reported in both pressure, altitude and
1166 height above pad units.
1170 <title>Keyhole Markup Language (for Google Earth)</title>
1172 This is the format used by
1173 Googleearth to provide an overlay within that
1174 application. With this, you can use Googleearth to see the
1175 whole flight path in 3D.
1180 <title>Configure TeleMetrum</title>
1182 Select this button and then select either a TeleMetrum or
1183 TeleDongle Device from the list provided. Selecting a TeleDongle
1184 device will use Packet Comamnd Mode to configure remote
1185 TeleMetrum device. Learn how to use this in the Packet Command
1189 The first few lines of the dialog provide information about the
1190 connected TeleMetrum device, including the product name,
1191 software version and hardware serial number. Below that are the
1192 individual configuration entries.
1195 At the bottom of the dialog, there are four buttons:
1200 Save. This writes any changes to the TeleMetrum
1201 configuration parameter block in flash memory. If you don't
1202 press this button, any changes you make will be lost.
1207 Reset. This resets the dialog to the most recently saved values,
1208 erasing any changes you have made.
1213 Reboot. This reboots the TeleMetrum device. Use this to
1214 switch from idle to pad mode by rebooting once the rocket is
1215 oriented for flight.
1220 Close. This closes the dialog. Any unsaved changes will be
1226 The rest of the dialog contains the parameters to be configured.
1229 <title>Main Deploy Altitude</title>
1231 This sets the altitude (above the recorded pad altitude) at
1232 which the 'main' igniter will fire. The drop-down menu shows
1233 some common values, but you can edit the text directly and
1234 choose whatever you like. If the apogee charge fires below
1235 this altitude, then the main charge will fire two seconds
1236 after the apogee charge fires.
1240 <title>Apogee Delay</title>
1242 When flying redundant electronics, it's often important to
1243 ensure that multiple apogee charges don't fire at precisely
1244 the same time as that can overpressurize the apogee deployment
1245 bay and cause a structural failure of the airframe. The Apogee
1246 Delay parameter tells the flight computer to fire the apogee
1247 charge a certain number of seconds after apogee has been
1252 <title>Radio Channel</title>
1254 This configures which of the 10 radio channels to use for both
1255 telemetry and packet command mode. Note that if you set this
1256 value via packet command mode, you will have to reconfigure
1257 the TeleDongle channel before you will be able to use packet
1262 <title>Radio Calibration</title>
1264 The radios in every Altus Metrum device are calibrated at the
1265 factory to ensure that they transmit and receive on the
1266 specified frequency for each channel. You can adjust that
1267 calibration by changing this value. To change the TeleDongle's
1268 calibration, you must reprogram the unit completely.
1272 <title>Callsign</title>
1274 This sets the callsign included in each telemetry packet. Set this
1275 as needed to conform to your local radio regulations.
1280 <title>Configure AltosUI</title>
1282 This button presents a dialog so that you can configure the AltosUI global settings.
1285 <title>Voice Settings</title>
1287 AltosUI provides voice annoucements during flight so that you
1288 can keep your eyes on the sky and still get information about
1289 the current flight status. However, sometimes you don't want
1294 <para>Enable—turns all voice announcements on and off</para>
1298 Test Voice—Plays a short message allowing you to verify
1299 that the audio systme is working and the volume settings
1306 <title>Log Directory</title>
1308 AltosUI logs all telemetry data and saves all TeleMetrum flash
1309 data to this directory. This directory is also used as the
1310 staring point when selecting data files for display or export.
1313 Click on the directory name to bring up a directory choosing
1314 dialog, select a new directory and click 'Select Directory' to
1315 change where AltosUI reads and writes data files.
1319 <title>Callsign</title>
1321 This value is used in command packet mode and is transmitted
1322 in each packet sent from TeleDongle and received from
1323 TeleMetrum. It is not used in telemetry mode as that transmits
1324 packets only from TeleMetrum to TeleDongle. Configure this
1325 with the AltosUI operators callsign as needed to comply with
1326 your local radio regulations.
1331 <title>Flash Image</title>
1333 This reprograms any Altus Metrum device by using a TeleMetrum or
1334 TeleDongle as a programming dongle. Please read the directions
1335 for connecting the programming cable in the main TeleMetrum
1336 manual before reading these instructions.
1339 Once you have the programmer and target devices connected,
1340 push the 'Flash Image' button. That will present a dialog box
1341 listing all of the connected devices. Carefully select the
1342 programmer device, not the device to be programmed.
1345 Next, select the image to flash to the device. These are named
1346 with the product name and firmware version. The file selector
1347 will start in the directory containing the firmware included
1348 with the AltosUI package. Navigate to the directory containing
1349 the desired firmware if it isn't there.
1352 Next, a small dialog containing the device serial number and
1353 RF calibration values should appear. If these values are
1354 incorrect (possibly due to a corrupted image in the device),
1355 enter the correct values here.
1358 Finally, a dialog containing a progress bar will follow the
1359 programming process.
1362 When programming is complete, the target device will
1363 reboot. Note that if the target device is connected via USB, you
1364 will have to unplug it and then plug it back in for the USB
1365 connection to reset so that you can communicate with the device
1370 <title>Fire Igniter</title>
1376 <title>Using Altus Metrum Products</title>
1378 <title>Being Legal</title>
1380 First off, in the US, you need an [amateur radio license](../Radio) or
1381 other authorization to legally operate the radio transmitters that are part
1385 <title>In the Rocket</title>
1387 In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and
1388 a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V
1389 alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours.
1392 By default, we ship TeleMetrum with a simple wire antenna. If your
1393 electronics bay or the airframe it resides within is made of carbon fiber,
1394 which is opaque to RF signals, you may choose to have an SMA connector
1395 installed so that you can run a coaxial cable to an antenna mounted
1396 elsewhere in the rocket.
1400 <title>On the Ground</title>
1402 To receive the data stream from the rocket, you need an antenna and short
1403 feedline connected to one of our [TeleDongle](../TeleDongle) units. The
1404 TeleDongle in turn plugs directly into the USB port on a notebook
1405 computer. Because TeleDongle looks like a simple serial port, your computer
1406 does not require special device drivers... just plug it in.
1409 Right now, all of our application software is written for Linux. However,
1410 because we understand that many people run Windows or MacOS, we are working
1411 on a new ground station program written in Java that should work on all
1415 After the flight, you can use the RF link to extract the more detailed data
1416 logged in the rocket, or you can use a mini USB cable to plug into the
1417 TeleMetrum board directly. Pulling out the data without having to open up
1418 the rocket is pretty cool! A USB cable is also how you charge the LiPo
1419 battery, so you'll want one of those anyway... the same cable used by lots
1420 of digital cameras and other modern electronic stuff will work fine.
1423 If your rocket lands out of sight, you may enjoy having a hand-held GPS
1424 receiver, so that you can put in a waypoint for the last reported rocket
1425 position before touch-down. This makes looking for your rocket a lot like
1426 Geo-Cacheing... just go to the waypoint and look around starting from there.
1429 You may also enjoy having a ham radio "HT" that covers the 70cm band... you
1430 can use that with your antenna to direction-find the rocket on the ground
1431 the same way you can use a Walston or Beeline tracker. This can be handy
1432 if the rocket is hiding in sage brush or a tree, or if the last GPS position
1433 doesn't get you close enough because the rocket dropped into a canyon, or
1434 the wind is blowing it across a dry lake bed, or something like that... Keith
1435 and Bdale both currently own and use the Yaesu VX-7R at launches.
1438 So, to recap, on the ground the hardware you'll need includes:
1439 <orderedlist inheritnum='inherit' numeration='arabic'>
1441 an antenna and feedline
1450 optionally, a handheld GPS receiver
1453 optionally, an HT or receiver covering 435 Mhz
1458 The best hand-held commercial directional antennas we've found for radio
1459 direction finding rockets are from
1460 <ulink url="http://www.arrowantennas.com/" >
1463 The 440-3 and 440-5 are both good choices for finding a
1464 TeleMetrum-equipped rocket when used with a suitable 70cm HT.
1468 <title>Data Analysis</title>
1470 Our software makes it easy to log the data from each flight, both the
1471 telemetry received over the RF link during the flight itself, and the more
1472 complete data log recorded in the DataFlash memory on the TeleMetrum
1473 board. Once this data is on your computer, our postflight tools make it
1474 easy to quickly get to the numbers everyone wants, like apogee altitude,
1475 max acceleration, and max velocity. You can also generate and view a
1476 standard set of plots showing the altitude, acceleration, and
1477 velocity of the rocket during flight. And you can even export a data file
1478 useable with Google Maps and Google Earth for visualizing the flight path
1479 in two or three dimensions!
1482 Our ultimate goal is to emit a set of files for each flight that can be
1483 published as a web page per flight, or just viewed on your local disk with
1488 <title>Future Plans</title>
1490 In the future, we intend to offer "companion boards" for the rocket that will
1491 plug in to TeleMetrum to collect additional data, provide more pyro channels,
1492 and so forth. A reference design for a companion board will be documented
1493 soon, and will be compatible with open source Arduino programming tools.
1496 We are also working on the design of a hand-held ground terminal that will
1497 allow monitoring the rocket's status, collecting data during flight, and
1498 logging data after flight without the need for a notebook computer on the
1499 flight line. Particularly since it is so difficult to read most notebook
1500 screens in direct sunlight, we think this will be a great thing to have.
1503 Because all of our work is open, both the hardware designs and the software,
1504 if you have some great idea for an addition to the current Altus Metrum family,
1505 feel free to dive in and help! Or let us know what you'd like to see that
1506 we aren't already working on, and maybe we'll get excited about it too...