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>23 November 2010</date>
33 <revremark>New section on AltosUI mostly by Keith</revremark>
36 <revnumber>0.2</revnumber>
37 <date>18 July 2010</date>
38 <revremark>Significant update</revremark>
41 <revnumber>0.1</revnumber>
42 <date>30 March 2010</date>
43 <revremark>Initial content</revremark>
48 <title>Introduction and Overview</title>
50 Welcome to the Altus Metrum community! Our circuits and software reflect
51 our passion for both hobby rocketry and Free Software. We hope their
52 capabilities and performance will delight you in every way, but by
53 releasing all of our hardware and software designs under open licenses,
54 we also hope to empower you to take as active a role in our collective
58 The focal point of our community is TeleMetrum, a dual deploy altimeter
59 with fully integrated GPS and radio telemetry as standard features, and
60 a "companion interface" that will support optional capabilities in the
64 Complementing TeleMetrum is TeleDongle, a USB to RF interface for
65 communicating with TeleMetrum. Combined with your choice of antenna and
66 notebook computer, TeleDongle and our associated user interface software
67 form a complete ground station capable of logging and displaying in-flight
68 telemetry, aiding rocket recovery, then processing and archiving flight
69 data for analysis and review.
72 More products will be added to the Altus Metrum family over time, and
73 we currently envision that this will be a single, comprehensive manual
74 for the entire product family.
78 <title>Getting Started</title>
80 This chapter began as "The Mere-Mortals Quick Start/Usage Guide to
81 the Altus Metrum Starter Kit" by Bob Finch, W9YA, NAR 12965, TRA 12350,
82 w9ya@amsat.org. Bob was one of our first customers for a production
83 TeleMetrum, and the enthusiasm that led to his contribution of this
84 section is immensely gratifying and highy appreciated!
87 The first thing to do after you check the inventory of parts in your
88 "starter kit" is to charge the battery by plugging it into the
89 corresponding socket of the TeleMetrum and then using the USB A to B
90 cable to plug the Telemetrum into your computer's USB socket. The
91 TeleMetrum circuitry will charge the battery whenever it is plugged
92 into the usb socket. The TeleMetrum's on-off switch does NOT control
93 the charging circuitry. When the GPS chip is initially searching for
94 satellites, the unit will pull more current than it can pull from the
95 usb port, so the battery must be plugged in order to get a good
96 satellite lock. Once GPS is locked the current consumption goes back
97 down enough to enable charging while
98 running. So it's a good idea to fully charge the battery as your
99 first item of business so there is no issue getting and maintaining
100 satellite lock. The yellow charge indicator led will go out when the
101 battery is nearly full and the charger goes to trickle charge.
104 The other active device in the starter kit is the half-duplex TeleDongle
105 rf link. If you plug it in to your computer it should "just work",
106 showing up as a serial port device. If you are using Linux and are
107 having problems, try moving to a fresher kernel (2.6.33 or newer), as
108 there were some ugly USB serial driver bugs in earlier versions.
111 Next you should obtain and install the AltOS utilities. The first
112 generation sofware was written for Linux only. New software is coming
113 soon that will also run on Windows and Mac. For now, we'll concentrate
114 on Linux. If you are using Debian, an 'altos' package already exists,
115 see http://altusmetrum.org/AltOS for details on how to install it.
116 User-contributed directions for building packages on ArchLinux may be
117 found in the contrib/arch-linux directory as PKGBUILD files.
118 Between the debian/rules file and the PKGBUILD files in
119 contrib, you should find enough information to learn how to build the
120 software for any other version of Linux.
123 When you have successfully installed the software suite (either from
124 compiled source code or as the pre-built Debian package) you will
125 have 10 or so executable programs all of which have names beginning
127 ('ao-view' is the lone GUI-based program, the rest are command-line
128 oriented.) You will also have man pages, that give you basic info
130 You will also get this documentation in two file types in the doc/
131 directory, telemetrum-doc.pdf and telemetrum-doc.html.
132 Finally you will have a couple control files that allow the ao-view
133 GUI-based program to appear in your menu of programs (under
134 the 'Internet' category).
137 Both Telemetrum and TeleDongle can be directly communicated
138 with using USB ports. The first thing you should try after getting
139 both units plugged into to your computer's usb port(s) is to run
140 'ao-list' from a terminal-window to see what port-device-name each
141 device has been assigned by the operating system.
142 You will need this information to access the devices via their
143 respective on-board firmware and data using other command line
144 programs in the AltOS software suite.
147 To access the device's firmware for configuration you need a terminal
148 program such as you would use to talk to a modem. The software
149 authors prefer using the program 'cu' which comes from the UUCP package
150 on most Unix-like systems such as Linux. An example command line for
151 cu might be 'cu -l /dev/ttyACM0', substituting the correct number
152 indicated from running the
153 ao-list program. Another reasonable terminal program for Linux is
154 'cutecom'. The default 'escape'
155 character used by CU (i.e. the character you use to
156 issue commands to cu itself instead of sending the command as input
157 to the connected device) is a '~'. You will need this for use in
158 only two different ways during normal operations. First is to exit
159 the program by sending a '~.' which is called a 'escape-disconnect'
160 and allows you to close-out from 'cu'. The
161 second use will be outlined later.
164 Both TeleMetrum and TeleDongle share the concept of a two level
165 command set in their firmware.
166 The first layer has several single letter commands. Once
167 you are using 'cu' (or 'cutecom') sending (typing) a '?'
168 returns a full list of these
169 commands. The second level are configuration sub-commands accessed
170 using the 'c' command, for
171 instance typing 'c?' will give you this second level of commands
172 (all of which require the
173 letter 'c' to access). Please note that most configuration options
174 are stored only in DataFlash memory, and only TeleMetrum has this
175 memory to save the various values entered like the channel number
176 and your callsign when powered off. TeleDongle requires that you
177 set these each time you plug it in, which ao-view can help with.
180 Try setting these config ('c' or second level menu) values. A good
181 place to start is by setting your call sign. By default, the boards
182 use 'N0CALL' which is cute, but not exactly legal!
183 Spend a few minutes getting comfortable with the units, their
184 firmware, and 'cu' (or possibly 'cutecom').
185 For instance, try to send
186 (type) a 'c r 2' and verify the channel change by sending a 'c s'.
187 Verify you can connect and disconnect from the units while in your
188 terminal program by sending the escape-disconnect mentioned above.
191 Note that the 'reboot' command, which is very useful on TeleMetrum,
192 will likely just cause problems with the dongle. The *correct* way
193 to reset the dongle is just to unplug and re-plug it.
196 A fun thing to do at the launch site and something you can do while
197 learning how to use these units is to play with the rf-link access
198 of the TeleMetrum from the TeleDongle. Be aware that you *must* create
199 some physical separation between the devices, otherwise the link will
200 not function due to signal overload in the receivers in each device.
203 Now might be a good time to take a break and read the rest of this
204 manual, particularly about the two "modes" that the TeleMetrum
205 can be placed in and how the position of the TeleMetrum when booting
206 up will determine whether the unit is in "pad" or "idle" mode.
209 You can access a TeleMetrum in idle mode from the Teledongle's USB
210 connection using the rf link
211 by issuing a 'p' command to the TeleDongle. Practice connecting and
212 disconnecting ('~~' while using 'cu') from the TeleMetrum. If
213 you cannot escape out of the "p" command, (by using a '~~' when in
214 CU) then it is likely that your kernel has issues. Try a newer version.
217 Using this rf link allows you to configure the TeleMetrum, test
218 fire e-matches and igniters from the flight line, check pyro-match
219 continuity and so forth. You can leave the unit turned on while it
220 is in 'idle mode' and then place the
221 rocket vertically on the launch pad, walk away and then issue a
222 reboot command. The TeleMetrum will reboot and start sending data
223 having changed to the "pad" mode. If the TeleDongle is not receiving
224 this data, you can disconnect 'cu' from the Teledongle using the
225 procedures mentioned above and THEN connect to the TeleDongle from
226 inside 'ao-view'. If this doesn't work, disconnect from the
227 TeleDongle, unplug it, and try again after plugging it back in.
230 Eventually the GPS will find enough satellites, lock in on them,
231 and 'ao-view' will both auditorially announce and visually indicate
233 Now you can launch knowing that you have a good data path and
234 good satellite lock for flight data and recovery. Remember
235 you MUST tell ao-view to connect to the TeleDongle explicitly in
236 order for ao-view to be able to receive data.
239 Both RDF (radio direction finding) tones from the TeleMetrum and
240 GPS trekking data are available and together are very useful in
241 locating the rocket once it has landed. (The last good GPS data
242 received before touch-down will be on the data screen of 'ao-view'.)
245 Once you have recovered the rocket you can download the eeprom
246 contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
247 either a USB cable or over the radio link using TeleDongle.
248 And by following the man page for 'ao-postflight' you can create
249 various data output reports, graphs, and even kml data to see the
250 flight trajectory in google-earth. (Moving the viewing angle making
251 sure to connect the yellow lines while in google-earth is the proper
255 As for ao-view.... some things are in the menu but don't do anything
256 very useful. The developers have stopped working on ao-view to focus
257 on a new, cross-platform ground station program. So ao-view may or
258 may not be updated in the future. Mostly you just use
259 the Log and Device menus. It has a wonderful display of the incoming
260 flight data and I am sure you will enjoy what it has to say to you
261 once you enable the voice output!
266 The altimeter (TeleMetrum) seems to shut off when disconnected from the
267 computer. Make sure the battery is adequately charged. Remember the
268 unit will pull more power than the USB port can deliver before the
269 GPS enters "locked" mode. The battery charges best when TeleMetrum
273 It's impossible to stop the TeleDongle when it's in "p" mode, I have
274 to unplug the USB cable? Make sure you have tried to "escape out" of
275 this mode. If this doesn't work the reboot procedure for the
276 TeleDongle *is* to simply unplug it. 'cu' however will retain it's
277 outgoing buffer IF your "escape out" ('~~') does not work.
278 At this point using either 'ao-view' (or possibly
279 'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
283 The amber LED (on the TeleMetrum/altimeter) lights up when both
284 battery and USB are connected. Does this mean it's charging?
285 Yes, the yellow LED indicates the charging at the 'regular' rate.
286 If the led is out but the unit is still plugged into a USB port,
287 then the battery is being charged at a 'trickle' rate.
290 There are no "dit-dah-dah-dit" sound like the manual mentions?
291 That's the "pad" mode. Weak batteries might be the problem.
292 It is also possible that the unit is horizontal and the output
293 is instead a "dit-dit" meaning 'idle'.
296 It's unclear how to use 'ao-view' and other programs when 'cu'
297 is running. You cannot have more than one program connected to
298 the TeleDongle at one time without apparent data loss as the
299 incoming data will not make it to both programs intact.
300 Disconnect whatever programs aren't currently being used.
303 How do I save flight data?
304 Live telemetry is written to file(s) whenever 'ao-view' is connected
305 to the TeleDongle. The file area defaults to ~/altos
306 but is easily changed using the menus in 'ao-view'. The files that
307 are written end in '.telem'. The after-flight
308 data-dumped files will end in .eeprom and represent continuous data
309 unlike the rf-linked .telem files that are subject to the
310 turnarounds/data-packaging time slots in the half-duplex rf data path.
311 See the above instructions on what and how to save the eeprom stored
312 data after physically retrieving your TeleMetrum. Make sure to save
313 the on-board data after each flight, as the current firmware will
314 over-write any previous flight data during a new flight.
319 <title>Specifications</title>
323 Recording altimeter for model rocketry.
328 Supports dual deployment (can fire 2 ejection charges).
333 70cm ham-band transceiver for telemetry downlink.
338 Barometric pressure sensor good to 45k feet MSL.
343 1-axis high-g accelerometer for motor characterization, capable of
344 +/- 50g using default part.
349 On-board, integrated GPS receiver with 5hz update rate capability.
354 On-board 1 megabyte non-volatile memory for flight data storage.
359 USB interface for battery charging, configuration, and data recovery.
364 Fully integrated support for LiPo rechargeable batteries.
369 Uses LiPo to fire e-matches, support for optional separate pyro
375 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube.
381 <title>Handling Precautions</title>
383 TeleMetrum is a sophisticated electronic device. When handled gently and
384 properly installed in an airframe, it will deliver impressive results.
385 However, like all electronic devices, there are some precautions you
389 The Lithium Polymer rechargeable batteries used with TeleMetrum have an
390 extraordinary power density. This is great because we can fly with
391 much less battery mass than if we used alkaline batteries or previous
392 generation rechargeable batteries... but if they are punctured
393 or their leads are allowed to short, they can and will release their
395 Thus we recommend that you take some care when handling our batteries
396 and consider giving them some extra protection in your airframe. We
397 often wrap them in suitable scraps of closed-cell packing foam before
398 strapping them down, for example.
401 The TeleMetrum barometric sensor is sensitive to sunlight. In normal
402 mounting situations, it and all of the other surface mount components
403 are "down" towards whatever the underlying mounting surface is, so
404 this is not normally a problem. Please consider this, though, when
405 designing an installation, for example, in a 29mm airframe with a
406 see-through plastic payload bay.
409 The TeleMetrum barometric sensor sampling port must be able to
411 both by not being covered by foam or tape or other materials that might
412 directly block the hole on the top of the sensor, but also by having a
413 suitable static vent to outside air.
416 As with all other rocketry electronics, TeleMetrum must be protected
417 from exposure to corrosive motor exhaust and ejection charge gasses.
421 <title>Hardware Overview</title>
423 TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to
424 fit inside coupler for 29mm airframe tubing, but using it in a tube that
425 small in diameter may require some creativity in mounting and wiring
426 to succeed! The default 1/4
427 wave UHF wire antenna attached to the center of the nose-cone end of
428 the board is about 7 inches long, and wiring for a power switch and
429 the e-matches for apogee and main ejection charges depart from the
430 fin can end of the board. Given all this, an ideal "simple" avionics
431 bay for TeleMetrum should have at least 10 inches of interior length.
434 A typical TeleMetrum installation using the on-board GPS antenna and
435 default wire UHF antenna involves attaching only a suitable
436 Lithium Polymer battery, a single pole switch for power on/off, and
437 two pairs of wires connecting e-matches for the apogee and main ejection
441 By default, we use the unregulated output of the LiPo battery directly
442 to fire ejection charges. This works marvelously with standard
443 low-current e-matches like the J-Tek from MJG Technologies, and with
444 Quest Q2G2 igniters. However, if you
445 want or need to use a separate pyro battery, you can do so by adding
446 a second 2mm connector to position B2 on the board and cutting the
447 thick pcb trace connecting the LiPo battery to the pyro circuit between
448 the two silk screen marks on the surface mount side of the board shown
452 We offer two choices of pyro and power switch connector, or you can
453 choose neither and solder wires directly to the board. All three choices
454 are reasonable depending on the constraints of your airframe. Our
455 favorite option when there is sufficient room above the board is to use
456 the Tyco pin header with polarization and locking. If you choose this
457 option, you crimp individual wires for the power switch and e-matches
458 into a mating connector, and installing and removing the TeleMetrum
459 board from an airframe is as easy as plugging or unplugging two
460 connectors. If the airframe will not support this much height or if
461 you want to be able to directly attach e-match leads to the board, we
462 offer a screw terminal block. This is very similar to what most other
463 altimeter vendors provide and so may be the most familiar option.
464 You'll need a very small straight blade screwdriver to connect
465 and disconnect the board in this case, such as you might find in a
466 jeweler's screwdriver set. Finally, you can forego both options and
467 solder wires directly to the board, which may be the best choice for
468 minimum diameter and/or minimum mass designs.
471 For most airframes, the integrated GPS antenna and wire UHF antenna are
472 a great combination. However, if you are installing in a carbon-fiber
473 electronics bay which is opaque to RF signals, you may need to use
474 off-board external antennas instead. In this case, you can order
475 TeleMetrum with an SMA connector for the UHF antenna connection, and
476 you can unplug the integrated GPS antenna and select an appropriate
477 off-board GPS antenna with cable terminating in a U.FL connector.
481 <title>System Operation</title>
483 <title>Firmware Modes </title>
485 The AltOS firmware build for TeleMetrum has two fundamental modes,
486 "idle" and "flight". Which of these modes the firmware operates in
487 is determined by the orientation of the rocket (well, actually the
488 board, of course...) at the time power is switched on. If the rocket
489 is "nose up", then TeleMetrum assumes it's on a rail or rod being
490 prepared for launch, so the firmware chooses flight mode. However,
491 if the rocket is more or less horizontal, the firmware instead enters
495 At power on, you will hear three beeps
496 ("S" in Morse code for startup) and then a pause while
497 TeleMetrum completes initialization and self tests, and decides which
501 In flight or "pad" mode, TeleMetrum turns on the GPS system,
503 state machine, goes into transmit-only mode on the RF link sending
504 telemetry, and waits for launch to be detected. Flight mode is
505 indicated by an audible "di-dah-dah-dit" ("P" for pad) on the
507 beeps indicating the state of the pyrotechnic igniter continuity.
508 One beep indicates apogee continuity, two beeps indicate
509 main continuity, three beeps indicate both apogee and main continuity,
510 and one longer "brap" sound indicates no continuity. For a dual
511 deploy flight, make sure you're getting three beeps before launching!
512 For apogee-only or motor eject flights, do what makes sense.
515 In idle mode, you will hear an audible "di-dit" ("I" for idle), and
516 the normal flight state machine is disengaged, thus
517 no ejection charges will fire. TeleMetrum also listens on the RF
518 link when in idle mode for packet mode requests sent from TeleDongle.
519 Commands can be issued to a TeleMetrum in idle mode over either
520 USB or the RF link equivalently.
521 Idle mode is useful for configuring TeleMetrum, for extracting data
522 from the on-board storage chip after flight, and for ground testing
526 One "neat trick" of particular value when TeleMetrum is used with very
527 large airframes, is that you can power the board up while the rocket
528 is horizontal, such that it comes up in idle mode. Then you can
529 raise the airframe to launch position, use a TeleDongle to open
530 a packet connection, and issue a 'reset' command which will cause
531 TeleMetrum to reboot, realize it's now nose-up, and thus choose
532 flight mode. This is much safer than standing on the top step of a
533 rickety step-ladder or hanging off the side of a launch tower with
534 a screw-driver trying to turn on your avionics before installing
541 TeleMetrum includes a complete GPS receiver. See a later section for
542 a brief explanation of how GPS works that will help you understand
543 the information in the telemetry stream. The bottom line is that
544 the TeleMetrum GPS receiver needs to lock onto at least four
545 satellites to obtain a solid 3 dimensional position fix and know
549 TeleMetrum provides backup power to the GPS chip any time a LiPo
550 battery is connected. This allows the receiver to "warm start" on
551 the launch rail much faster than if every power-on were a "cold start"
552 for the GPS receiver. In typical operations, powering up TeleMetrum
553 on the flight line in idle mode while performing final airframe
554 preparation will be sufficient to allow the GPS receiver to cold
555 start and acquire lock. Then the board can be powered down during
556 RSO review and installation on a launch rod or rail. When the board
557 is turned back on, the GPS system should lock very quickly, typically
558 long before igniter installation and return to the flight line are
563 <title>Ground Testing </title>
565 An important aspect of preparing a rocket using electronic deployment
566 for flight is ground testing the recovery system. Thanks
567 to the bi-directional RF link central to the Altus Metrum system,
568 this can be accomplished in a TeleMetrum-equipped rocket without as
569 much work as you may be accustomed to with other systems. It can
573 Just prep the rocket for flight, then power up TeleMetrum while the
574 airframe is horizontal. This will cause the firmware to go into
575 "idle" mode, in which the normal flight state machine is disabled and
576 charges will not fire without manual command. Then, establish an
577 RF packet connection from a TeleDongle-equipped computer using the
578 P command from a safe distance. You can now command TeleMetrum to
579 fire the apogee or main charges to complete your testing.
582 In order to reduce the chance of accidental firing of pyrotechnic
583 charges, the command to fire a charge is intentionally somewhat
584 difficult to type, and the built-in help is slightly cryptic to
585 prevent accidental echoing of characters from the help text back at
586 the board from firing a charge. The command to fire the apogee
587 drogue charge is 'i DoIt drogue' and the command to fire the main
588 charge is 'i DoIt main'.
592 <title>Radio Link </title>
594 The chip our boards are based on incorporates an RF transceiver, but
595 it's not a full duplex system... each end can only be transmitting or
596 receiving at any given moment. So we had to decide how to manage the
600 By design, TeleMetrum firmware listens for an RF connection when
601 it's in "idle mode" (turned on while the rocket is horizontal), which
602 allows us to use the RF link to configure the rocket, do things like
603 ejection tests, and extract data after a flight without having to
604 crack open the airframe. However, when the board is in "flight
605 mode" (turned on when the rocket is vertical) the TeleMetrum only
606 transmits and doesn't listen at all. That's because we want to put
607 ultimate priority on event detection and getting telemetry out of
608 the rocket and out over
609 the RF link in case the rocket crashes and we aren't able to extract
613 We don't use a 'normal packet radio' mode because they're just too
614 inefficient. The GFSK modulation we use is just FSK with the
615 baseband pulses passed through a
616 Gaussian filter before they go into the modulator to limit the
617 transmitted bandwidth. When combined with the hardware forward error
618 correction support in the cc1111 chip, this allows us to have a very
619 robust 38.4 kilobit data link with only 10 milliwatts of transmit power,
620 a whip antenna in the rocket, and a hand-held Yagi on the ground. We've
621 had flights to above 21k feet AGL with good reception, and calculations
622 suggest we should be good to well over 40k feet AGL with a 5-element yagi on
623 the ground. We hope to fly boards to higher altitudes soon, and would
624 of course appreciate customer feedback on performance in higher
629 <title>Configurable Parameters</title>
631 Configuring a TeleMetrum board for flight is very simple. Because we
632 have both acceleration and pressure sensors, there is no need to set
633 a "mach delay", for example. The few configurable parameters can all
634 be set using a simple terminal program over the USB port or RF link
638 <title>Radio Channel</title>
640 Our firmware supports 10 channels. The default channel 0 corresponds
641 to a center frequency of 434.550 Mhz, and channels are spaced every
642 100 khz. Thus, channel 1 is 434.650 Mhz, and channel 9 is 435.550 Mhz.
643 At any given launch, we highly recommend coordinating who will use
644 each channel and when to avoid interference. And of course, both
645 TeleMetrum and TeleDongle must be configured to the same channel to
646 successfully communicate with each other.
649 To set the radio channel, use the 'c r' command, like 'c r 3' to set
651 As with all 'c' sub-commands, follow this with a 'c w' to write the
652 change to the parameter block in the on-board DataFlash chip on
653 your TeleMetrum board if you want the change to stay in place across reboots.
657 <title>Apogee Delay</title>
659 Apogee delay is the number of seconds after TeleMetrum detects flight
660 apogee that the drogue charge should be fired. In most cases, this
661 should be left at the default of 0. However, if you are flying
662 redundant electronics such as for an L3 certification, you may wish
663 to set one of your altimeters to a positive delay so that both
664 primary and backup pyrotechnic charges do not fire simultaneously.
667 To set the apogee delay, use the [FIXME] command.
668 As with all 'c' sub-commands, follow this with a 'c w' to write the
669 change to the parameter block in the on-board DataFlash chip.
672 Please note that the TeleMetrum apogee detection algorithm always
673 fires a fraction of a second *after* apogee. If you are also flying
674 an altimeter like the PerfectFlite MAWD, which only supports selecting
675 0 or 1 seconds of apogee delay, you may wish to set the MAWD to 0
676 seconds delay and set the TeleMetrum to fire your backup 2 or 3
677 seconds later to avoid any chance of both charges firing
678 simultaneously. We've flown several airframes this way quite happily,
679 including Keith's successful L3 cert.
683 <title>Main Deployment Altitude</title>
685 By default, TeleMetrum will fire the main deployment charge at an
686 elevation of 250 meters (about 820 feet) above ground. We think this
687 is a good elevation for most airframes, but feel free to change this
688 to suit. In particular, if you are flying two altimeters, you may
690 deployment elevation for the backup altimeter to be something lower
691 than the primary so that both pyrotechnic charges don't fire
695 To set the main deployment altitude, use the [FIXME] command.
696 As with all 'c' sub-commands, follow this with a 'c w' to write the
697 change to the parameter block in the on-board DataFlash chip.
702 <title>Calibration</title>
704 There are only two calibrations required for a TeleMetrum board, and
705 only one for TeleDongle.
708 <title>Radio Frequency</title>
710 The radio frequency is synthesized from a clock based on the 48 Mhz
711 crystal on the board. The actual frequency of this oscillator must be
712 measured to generate a calibration constant. While our GFSK modulation
713 bandwidth is wide enough to allow boards to communicate even when
714 their oscillators are not on exactly the same frequency, performance
715 is best when they are closely matched.
716 Radio frequency calibration requires a calibrated frequency counter.
717 Fortunately, once set, the variation in frequency due to aging and
718 temperature changes is small enough that re-calibration by customers
719 should generally not be required.
722 To calibrate the radio frequency, connect the UHF antenna port to a
723 frequency counter, set the board to channel 0, and use the 'C'
724 command to generate a CW carrier. Wait for the transmitter temperature
725 to stabilize and the frequency to settle down.
726 Then, divide 434.550 Mhz by the
727 measured frequency and multiply by the current radio cal value show
728 in the 'c s' command. For an unprogrammed board, the default value
729 is 1186611. Take the resulting integer and program it using the 'c f'
730 command. Testing with the 'C' command again should show a carrier
731 within a few tens of Hertz of the intended frequency.
732 As with all 'c' sub-commands, follow this with a 'c w' to write the
733 change to the parameter block in the on-board DataFlash chip.
737 <title>Accelerometer</title>
739 The accelerometer we use has its own 5 volt power supply and
740 the output must be passed through a resistive voltage divider to match
741 the input of our 3.3 volt ADC. This means that unlike the barometric
742 sensor, the output of the acceleration sensor is not ratiometric to
743 the ADC converter, and calibration is required. We also support the
744 use of any of several accelerometers from a Freescale family that
745 includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity,
746 a simple 2-point calibration yields acceptable results capturing both
747 the different sensitivities and ranges of the different accelerometer
748 parts and any variation in power supply voltages or resistor values
749 in the divider network.
752 To calibrate the acceleration sensor, use the 'c a 0' command. You
753 will be prompted to orient the board vertically with the UHF antenna
754 up and press a key, then to orient the board vertically with the
755 UHF antenna down and press a key.
756 As with all 'c' sub-commands, follow this with a 'c w' to write the
757 change to the parameter block in the on-board DataFlash chip.
760 The +1g and -1g calibration points are included in each telemetry
761 frame and are part of the header extracted by ao-dumplog after flight.
762 Note that we always store and return raw ADC samples for each
763 sensor... nothing is permanently "lost" or "damaged" if the
771 <title>AltosUI</title>
773 The AltosUI program provides a graphical user interface for
774 interacting with the Altus Metrum product family, including
775 TeleMetrum and TeleDongle. AltosUI can monitor telemetry data,
776 configure TeleMetrum and TeleDongle devices and many other
777 tasks. The primary interface window provides a selection of
778 buttons, one for each major activity in the system. This manual
779 is split into chapters, each of which documents one of the tasks
780 provided from the top-level toolbar.
783 <title>Packet Command Mode</title>
784 <subtitle>Controlling TeleMetrum Over The Radio Link</subtitle>
786 One of the unique features of the Altos Metrum environment is
787 the ability to create a two way command link between TeleDongle
788 and TeleMetrum using the digital radio transceivers built into
789 each device. This allows you to interact with TeleMetrum from
790 afar, as if it were directly connected to the computer.
793 Any operation which can be performed with TeleMetrum
794 can either be done with TeleMetrum directly connected to
795 the computer via the USB cable, or through the packet
796 link. Simply select the appropriate TeleDongle device when
797 the list of devices is presented and AltosUI will use packet
803 Save Flight Data—Recover flight data from the rocket without
809 Configure TeleMetrum—Reset apogee delays or main deploy
810 heights to respond to changing launch conditions. You can
811 also 'reboot' the TeleMetrum device. Use this to remotely
812 enable the flight computer by turning TeleMetrum on while
813 horizontal, then once the airframe is oriented for launch,
814 you can reboot TeleMetrum and have it restart in pad mode
815 without having to climb the scary ladder.
820 Fire Igniters—Test your deployment charges without snaking
821 wires out through holes in the airframe. Simply assembly the
822 rocket as if for flight with the apogee and main charges
823 loaded, then remotely command TeleMetrum to fire the
829 Packet command mode uses the same RF channels as telemetry
830 mode. Configure the desired TeleDongle channel using the
831 flight monitor window channel selector and then close that
832 window before performing the desired operation.
835 TeleMetrum only enables packet command mode in 'idle' mode, so
836 make sure you have TeleMetrum lying horizontally when you turn
837 it on. Otherwise, TeleMetrum will start in 'pad' mode ready for
838 flight and will not be listening for command packets from TeleDongle.
841 When packet command mode is enabled, you can monitor the link
842 by watching the lights on the TeleDongle and TeleMetrum
843 devices. The red LED will flash each time TeleDongle or
844 TeleMetrum transmit a packet while the green LED will light up
845 on TeleDongle while it is waiting to receive a packet from
850 <title>Monitor Flight</title>
851 <subtitle>Receive, Record and Display Telemetry Data</subtitle>
853 Selecting this item brings up a dialog box listing all of the
854 connected TeleDongle devices. When you choose one of these,
855 AltosUI will create a window to display telemetry data as
856 received by the selected TeleDongle device.
859 All telemetry data received are automatically recorded in
860 suitable log files. The name of the files includes the current
861 date and rocket serial and flight numbers.
864 The radio channel being monitored by the TeleDongle device is
865 displayed at the top of the window. You can configure the
866 channel by clicking on the channel box and selecting the desired
867 channel. AltosUI remembers the last channel selected for each
868 TeleDongle and selects that automatically the next time you use
872 Below the TeleDongle channel selector, the window contains a few
873 significant pieces of information about the TeleMetrum providing
874 the telemetry data stream:
878 <para>The TeleMetrum callsign</para>
881 <para>The TeleMetrum serial number</para>
884 <para>The flight number. Each TeleMetrum remembers how many
890 The rocket flight state. Each flight passes through several
891 states including Pad, Boost, Fast, Coast, Drogue, Main and
897 The Received Signal Strength Indicator value. This lets
898 you know how strong a signal TeleDongle is receiving. The
899 radio inside TeleDongle operates down to about -99dBm;
900 weaker signals may not be receiveable. The packet link uses
901 error correction and detection techniques which prevent
902 incorrect data from being reported.
907 Finally, the largest portion of the window contains a set of
908 tabs, each of which contain some information about the rocket.
909 They're arranged in 'flight order' so that as the flight
910 progresses, the selected tab automatically switches to display
911 data relevant to the current state of the flight. You can select
912 other tabs at any time. The final 'table' tab contains all of
913 the telemetry data in one place.
916 <title>Launch Pad</title>
918 The 'Launch Pad' tab shows information used to decide when the
919 rocket is ready for flight. The first elements include red/green
920 indicators, if any of these is red, you'll want to evaluate
921 whether the rocket is ready to launch:
925 Battery Voltage. This indicates whether the LiPo battery
926 powering the TeleMetrum has sufficient charge to last for
927 the duration of the flight. A value of more than
928 3.7V is required for a 'GO' status.
933 Apogee Igniter Voltage. This indicates whether the apogee
934 igniter has continuity. If the igniter has a low
935 resistance, then the voltage measured here will be close
936 to the LiPo battery voltage. A value greater than 3.2V is
937 required for a 'GO' status.
942 Main Igniter Voltage. This indicates whether the main
943 igniter has continuity. If the igniter has a low
944 resistance, then the voltage measured here will be close
945 to the LiPo battery voltage. A value greater than 3.2V is
946 required for a 'GO' status.
951 GPS Locked. This indicates whether the GPS receiver is
952 currently able to compute position information. GPS requires
953 at least 4 satellites to compute an accurate position.
958 GPS Ready. This indicates whether GPS has reported at least
959 10 consecutive positions without losing lock. This ensures
960 that the GPS receiver has reliable reception from the
966 The LaunchPad tab also shows the computed launch pad position
967 and altitude, averaging many reported positions to improve the
973 <title>Ascent</title>
975 This tab is shown during Boost, Fast and Coast
976 phases. The information displayed here helps monitor the
977 rocket as it heads towards apogee.
980 The height, speed and acceleration are shown along with the
981 maxium values for each of them. This allows you to quickly
982 answer the most commonly asked questions you'll hear during
986 The current latitude and longitude reported by the GPS are
987 also shown. Note that under high acceleration, these values
988 may not get updated as the GPS receiver loses position
989 fix. Once the rocket starts coasting, the receiver should
990 start reporting position again.
993 Finally, the current igniter voltages are reported as in the
994 Launch Pad tab. This can help diagnose deployment failures
995 caused by wiring which comes loose under high acceleration.
999 <title>Descent</title>
1001 Once the rocket has reached apogee and (we hope) activated the
1002 apogee charge, attention switches to tracking the rocket on
1003 the way back to the ground, and for dual-deploy flights,
1004 waiting for the main charge to fire.
1007 To monitor whether the apogee charge operated correctly, the
1008 current descent rate is reported along with the current
1009 height. Good descent rates generally range from 15-30m/s.
1012 To help locate the rocket in the sky, use the elevation and
1013 bearing information to figure out where to look. Elevation is
1014 in degrees above the horizon. Bearing is reported in degrees
1015 relative to true north. Range can help figure out how big the
1016 rocket will appear. Note that all of these values are relative
1017 to the pad location. If the elevation is near 90°, the rocket
1018 is over the pad, not over you.
1021 Finally, the igniter voltages are reported in this tab as
1022 well, both to monitor the main charge as well as to see what
1023 the status of the apogee charge is.
1027 <title>Landed</title>
1029 Once the rocket is on the ground, attention switches to
1030 recovery. While the radio signal is generally lost once the
1031 rocket is on the ground, the last reported GPS position is
1032 generally within a short distance of the actual landing location.
1035 The last reported GPS position is reported both by
1036 latitude and longitude as well as a bearing and distance from
1037 the launch pad. The distance should give you a good idea of
1038 whether you'll want to walk or hitch a ride. Take the reported
1039 latitude and longitude and enter them into your handheld GPS
1040 unit and have that compute a track to the landing location.
1043 Finally, the maximum height, speed and acceleration reported
1044 during the flight are displayed for your admiring observers.
1049 <title>Save Flight Data</title>
1051 TeleMetrum records flight data to its internal flash memory.
1052 This data is recorded at a much higher rate than the telemetry
1053 system can handle, and is not subject to radio drop-outs. As
1054 such, it provides a more complete and precise record of the
1055 flight. The 'Save Flight Data' button allows you to read the
1056 flash memory and write it to disk.
1059 Clicking on the 'Save Flight Data' button brings up a list of
1060 connected TeleMetrum and TeleDongle devices. If you select a
1061 TeleMetrum device, the flight data will be downloaded from that
1062 device directly. If you select a TeleDongle device, flight data
1063 will be downloaded from a TeleMetrum device connected via the
1064 packet command link to the specified TeleDongle. See the chapter
1065 on Packet Command Mode for more information about this.
1068 The filename for the data is computed automatically from the recorded
1069 flight date, TeleMetrum serial number and flight number
1074 <title>Replay Flight</title>
1076 Select this button and you are prompted to select a flight
1077 record file, either a .telem file recording telemetry data or a
1078 .eeprom file containing flight data saved from the TeleMetrum
1082 Once a flight record is selected, the flight monitor interface
1083 is displayed and the flight is re-enacted in real time. Check
1084 the Monitor Flight chapter above to learn how this window operates.
1088 <title>Graph Data</title>
1090 This section should be written by AJ.
1094 <title>Export Data</title>
1096 This tool takes the raw data files and makes them available for
1097 external analysis. When you select this button, you are prompted to select a flight
1098 data file (either .eeprom or .telem will do, remember that
1099 .eeprom files contain higher resolution and more continuous
1100 data). Next, a second dialog appears which is used to select
1101 where to write the resulting file. It has a selector to choose
1102 between CSV and KML file formats.
1105 <title>Comma Separated Value Format</title>
1107 This is a text file containing the data in a form suitable for
1108 import into a spreadsheet or other external data analysis
1109 tool. The first few lines of the file contain the version and
1110 configuration information from the TeleMetrum device, then
1111 there is a single header line which labels all of the
1112 fields. All of these lines start with a '#' character which
1113 most tools can be configured to skip over.
1116 The remaining lines of the file contain the data, with each
1117 field separated by a comma and at least one space. All of
1118 the sensor values are converted to standard units, with the
1119 barometric data reported in both pressure, altitude and
1120 height above pad units.
1124 <title>Keyhole Markup Language (for Google Earth)</title>
1126 This is the format used by
1127 Googleearth to provide an overlay within that
1128 application. With this, you can use Googleearth to see the
1129 whole flight path in 3D.
1134 <title>Configure TeleMetrum</title>
1136 Select this button and then select either a TeleMetrum or
1137 TeleDongle Device from the list provided. Selecting a TeleDongle
1138 device will use Packet Comamnd Mode to configure remote
1139 TeleMetrum device. Learn how to use this in the Packet Command
1143 The first few lines of the dialog provide information about the
1144 connected TeleMetrum device, including the product name,
1145 software version and hardware serial number. Below that are the
1146 individual configuration entries.
1149 At the bottom of the dialog, there are four buttons:
1154 Save. This writes any changes to the TeleMetrum
1155 configuration parameter block in flash memory. If you don't
1156 press this button, any changes you make will be lost.
1161 Reset. This resets the dialog to the most recently saved values,
1162 erasing any changes you have made.
1167 Reboot. This reboots the TeleMetrum device. Use this to
1168 switch from idle to pad mode by rebooting once the rocket is
1169 oriented for flight.
1174 Close. This closes the dialog. Any unsaved changes will be
1180 The rest of the dialog contains the parameters to be configured.
1183 <title>Main Deploy Altitude</title>
1185 This sets the altitude (above the recorded pad altitude) at
1186 which the 'main' igniter will fire. The drop-down menu shows
1187 some common values, but you can edit the text directly and
1188 choose whatever you like. If the apogee charge fires below
1189 this altitude, then the main charge will fire two seconds
1190 after the apogee charge fires.
1194 <title>Apogee Delay</title>
1196 When flying redundant electronics, it's often important to
1197 ensure that multiple apogee charges don't fire at precisely
1198 the same time as that can overpressurize the apogee deployment
1199 bay and cause a structural failure of the airframe. The Apogee
1200 Delay parameter tells the flight computer to fire the apogee
1201 charge a certain number of seconds after apogee has been
1206 <title>Radio Channel</title>
1208 This configures which of the 10 radio channels to use for both
1209 telemetry and packet command mode. Note that if you set this
1210 value via packet command mode, you will have to reconfigure
1211 the TeleDongle channel before you will be able to use packet
1216 <title>Radio Calibration</title>
1218 The radios in every Altus Metrum device are calibrated at the
1219 factory to ensure that they transmit and receive on the
1220 specified frequency for each channel. You can adjust that
1221 calibration by changing this value. To change the TeleDongle's
1222 calibration, you must reprogram the unit completely.
1226 <title>Callsign</title>
1228 This sets the callsign included in each telemetry packet. Set this
1229 as needed to conform to your local radio regulations.
1234 <title>Configure AltosUI</title>
1236 This button presents a dialog so that you can configure the AltosUI global settings.
1239 <title>Voice Settings</title>
1241 AltosUI provides voice annoucements during flight so that you
1242 can keep your eyes on the sky and still get information about
1243 the current flight status. However, sometimes you don't want
1248 <para>Enable—turns all voice announcements on and off</para>
1252 Test Voice—Plays a short message allowing you to verify
1253 that the audio systme is working and the volume settings
1260 <title>Log Directory</title>
1262 AltosUI logs all telemetry data and saves all TeleMetrum flash
1263 data to this directory. This directory is also used as the
1264 staring point when selecting data files for display or export.
1267 Click on the directory name to bring up a directory choosing
1268 dialog, select a new directory and click 'Select Directory' to
1269 change where AltosUI reads and writes data files.
1273 <title>Callsign</title>
1275 This value is used in command packet mode and is transmitted
1276 in each packet sent from TeleDongle and received from
1277 TeleMetrum. It is not used in telemetry mode as that transmits
1278 packets only from TeleMetrum to TeleDongle. Configure this
1279 with the AltosUI operators callsign as needed to comply with
1280 your local radio regulations.
1285 <title>Flash Image</title>
1287 This reprograms any Altus Metrum device by using a TeleMetrum or
1288 TeleDongle as a programming dongle. Please read the directions
1289 for connecting the programming cable in the main TeleMetrum
1290 manual before reading these instructions.
1293 Once you have the programmer and target devices connected,
1294 push the 'Flash Image' button. That will present a dialog box
1295 listing all of the connected devices. Carefully select the
1296 programmer device, not the device to be programmed.
1299 Next, select the image to flash to the device. These are named
1300 with the product name and firmware version. The file selector
1301 will start in the directory containing the firmware included
1302 with the AltosUI package. Navigate to the directory containing
1303 the desired firmware if it isn't there.
1306 Next, a small dialog containing the device serial number and
1307 RF calibration values should appear. If these values are
1308 incorrect (possibly due to a corrupted image in the device),
1309 enter the correct values here.
1312 Finally, a dialog containing a progress bar will follow the
1313 programming process.
1316 When programming is complete, the target device will
1317 reboot. Note that if the target device is connected via USB, you
1318 will have to unplug it and then plug it back in for the USB
1319 connection to reset so that you can communicate with the device
1324 <title>Fire Igniter</title>
1330 <title>Using Altus Metrum Products</title>
1332 <title>Being Legal</title>
1334 First off, in the US, you need an [amateur radio license](../Radio) or
1335 other authorization to legally operate the radio transmitters that are part
1339 <title>In the Rocket</title>
1341 In the rocket itself, you just need a [TeleMetrum](../TeleMetrum) board and
1342 a LiPo rechargeable battery. An 860mAh battery weighs less than a 9V
1343 alkaline battery, and will run a [TeleMetrum](../TeleMetrum) for hours.
1346 By default, we ship TeleMetrum with a simple wire antenna. If your
1347 electronics bay or the airframe it resides within is made of carbon fiber,
1348 which is opaque to RF signals, you may choose to have an SMA connector
1349 installed so that you can run a coaxial cable to an antenna mounted
1350 elsewhere in the rocket.
1354 <title>On the Ground</title>
1356 To receive the data stream from the rocket, you need an antenna and short
1357 feedline connected to one of our [TeleDongle](../TeleDongle) units. The
1358 TeleDongle in turn plugs directly into the USB port on a notebook
1359 computer. Because TeleDongle looks like a simple serial port, your computer
1360 does not require special device drivers... just plug it in.
1363 Right now, all of our application software is written for Linux. However,
1364 because we understand that many people run Windows or MacOS, we are working
1365 on a new ground station program written in Java that should work on all
1369 After the flight, you can use the RF link to extract the more detailed data
1370 logged in the rocket, or you can use a mini USB cable to plug into the
1371 TeleMetrum board directly. Pulling out the data without having to open up
1372 the rocket is pretty cool! A USB cable is also how you charge the LiPo
1373 battery, so you'll want one of those anyway... the same cable used by lots
1374 of digital cameras and other modern electronic stuff will work fine.
1377 If your rocket lands out of sight, you may enjoy having a hand-held GPS
1378 receiver, so that you can put in a waypoint for the last reported rocket
1379 position before touch-down. This makes looking for your rocket a lot like
1380 Geo-Cacheing... just go to the waypoint and look around starting from there.
1383 You may also enjoy having a ham radio "HT" that covers the 70cm band... you
1384 can use that with your antenna to direction-find the rocket on the ground
1385 the same way you can use a Walston or Beeline tracker. This can be handy
1386 if the rocket is hiding in sage brush or a tree, or if the last GPS position
1387 doesn't get you close enough because the rocket dropped into a canyon, or
1388 the wind is blowing it across a dry lake bed, or something like that... Keith
1389 and Bdale both currently own and use the Yaesu VX-7R at launches.
1392 So, to recap, on the ground the hardware you'll need includes:
1393 <orderedlist inheritnum='inherit' numeration='arabic'>
1395 an antenna and feedline
1404 optionally, a handheld GPS receiver
1407 optionally, an HT or receiver covering 435 Mhz
1412 The best hand-held commercial directional antennas we've found for radio
1413 direction finding rockets are from
1414 <ulink url="http://www.arrowantennas.com/" >
1417 The 440-3 and 440-5 are both good choices for finding a
1418 TeleMetrum-equipped rocket when used with a suitable 70cm HT.
1422 <title>Data Analysis</title>
1424 Our software makes it easy to log the data from each flight, both the
1425 telemetry received over the RF link during the flight itself, and the more
1426 complete data log recorded in the DataFlash memory on the TeleMetrum
1427 board. Once this data is on your computer, our postflight tools make it
1428 easy to quickly get to the numbers everyone wants, like apogee altitude,
1429 max acceleration, and max velocity. You can also generate and view a
1430 standard set of plots showing the altitude, acceleration, and
1431 velocity of the rocket during flight. And you can even export a data file
1432 useable with Google Maps and Google Earth for visualizing the flight path
1433 in two or three dimensions!
1436 Our ultimate goal is to emit a set of files for each flight that can be
1437 published as a web page per flight, or just viewed on your local disk with
1442 <title>Future Plans</title>
1444 In the future, we intend to offer "companion boards" for the rocket that will
1445 plug in to TeleMetrum to collect additional data, provide more pyro channels,
1446 and so forth. A reference design for a companion board will be documented
1447 soon, and will be compatible with open source Arduino programming tools.
1450 We are also working on the design of a hand-held ground terminal that will
1451 allow monitoring the rocket's status, collecting data during flight, and
1452 logging data after flight without the need for a notebook computer on the
1453 flight line. Particularly since it is so difficult to read most notebook
1454 screens in direct sunlight, we think this will be a great thing to have.
1457 Because all of our work is open, both the hardware designs and the software,
1458 if you have some great idea for an addition to the current Altus Metrum family,
1459 feel free to dive in and help! Or let us know what you'd like to see that
1460 we aren't already working on, and maybe we'll get excited about it too...