1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
1318
1319
1320
1321
1322
1323
1324
1325
1326
1327
1328
1329
1330
1331
1332
1333
1334
1335
1336
1337
1338
1339
1340
1341
1342
1343
1344
1345
1346
1347
1348
1349
1350
1351
1352
1353
1354
1355
1356
1357
1358
1359
1360
1361
1362
1363
1364
1365
1366
1367
1368
1369
1370
1371
1372
1373
1374
1375
1376
1377
1378
1379
1380
1381
1382
1383
1384
1385
1386
1387
1388
1389
1390
1391
1392
1393
1394
1395
1396
1397
1398
1399
1400
1401
1402
1403
1404
1405
1406
1407
1408
1409
1410
1411
1412
1413
1414
1415
1416
1417
1418
1419
1420
1421
1422
1423
1424
1425
1426
1427
1428
1429
1430
1431
1432
1433
1434
1435
1436
1437
1438
1439
1440
1441
1442
1443
1444
1445
1446
1447
1448
1449
1450
1451
1452
1453
1454
1455
1456
1457
1458
1459
1460
1461
1462
1463
1464
1465
1466
1467
1468
1469
1470
1471
1472
1473
1474
1475
1476
1477
1478
1479
1480
1481
1482
1483
1484
1485
1486
1487
1488
1489
1490
1491
1492
1493
1494
1495
1496
1497
1498
1499
1500
1501
1502
1503
1504
1505
1506
1507
1508
1509
1510
1511
1512
1513
1514
1515
1516
1517
1518
1519
1520
1521
1522
1523
1524
1525
1526
1527
1528
1529
1530
1531
1532
1533
1534
1535
1536
1537
1538
1539
1540
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1608
1609
1610
1611
1612
1613
1614
1615
1616
1617
1618
1619
1620
1621
1622
1623
1624
1625
1626
1627
1628
1629
1630
1631
1632
1633
1634
1635
1636
1637
1638
1639
1640
1641
1642
1643
1644
1645
1646
1647
1648
1649
1650
1651
1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
1682
1683
1684
1685
1686
1687
1688
1689
1690
1691
1692
1693
1694
1695
1696
1697
1698
1699
1700
1701
1702
1703
1704
1705
1706
1707
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
1778
1779
1780
1781
1782
1783
1784
1785
1786
1787
1788
1789
1790
1791
1792
1793
1794
1795
1796
1797
1798
1799
1800
1801
1802
1803
1804
1805
1806
1807
1808
1809
1810
1811
1812
1813
1814
1815
1816
1817
1818
1819
1820
1821
1822
1823
1824
1825
1826
1827
1828
1829
1830
1831
1832
1833
1834
1835
1836
1837
1838
1839
1840
1841
1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
1872
1873
1874
1875
1876
1877
1878
1879
1880
1881
1882
1883
1884
1885
1886
1887
1888
1889
1890
1891
1892
1893
1894
1895
1896
1897
1898
1899
1900
1901
1902
1903
1904
1905
1906
1907
1908
1909
1910
1911
1912
1913
1914
1915
1916
1917
1918
1919
1920
1921
1922
1923
1924
1925
1926
1927
1928
1929
1930
1931
1932
1933
1934
1935
1936
1937
1938
1939
1940
1941
1942
1943
1944
1945
1946
1947
1948
1949
1950
1951
1952
1953
1954
1955
1956
1957
1958
1959
1960
1961
1962
1963
1964
1965
1966
1967
1968
1969
1970
1971
1972
1973
1974
1975
1976
1977
1978
1979
1980
1981
1982
1983
1984
1985
1986
1987
1988
1989
1990
1991
1992
1993
1994
1995
1996
1997
1998
1999
2000
2001
2002
2003
2004
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
2025
2026
2027
2028
2029
2030
2031
2032
2033
2034
2035
2036
2037
2038
2039
2040
2041
2042
2043
2044
2045
2046
2047
2048
2049
2050
2051
2052
2053
2054
2055
2056
2057
2058
2059
2060
2061
2062
2063
2064
2065
2066
2067
2068
2069
2070
2071
2072
2073
2074
2075
2076
2077
2078
2079
2080
2081
2082
2083
2084
2085
2086
2087
2088
2089
2090
2091
2092
2093
2094
2095
2096
2097
2098
2099
2100
2101
2102
2103
2104
2105
2106
2107
2108
2109
2110
2111
2112
2113
2114
2115
2116
2117
2118
2119
2120
2121
2122
2123
2124
2125
2126
2127
2128
2129
2130
2131
2132
2133
2134
2135
2136
2137
2138
2139
2140
2141
2142
2143
2144
2145
2146
2147
2148
2149
2150
2151
2152
2153
2154
2155
2156
2157
2158
2159
2160
2161
2162
2163
2164
2165
2166
2167
2168
2169
2170
2171
2172
2173
2174
2175
2176
2177
2178
2179
2180
2181
2182
2183
2184
2185
2186
2187
2188
2189
2190
2191
2192
2193
2194
2195
2196
2197
2198
2199
2200
2201
2202
2203
2204
2205
2206
2207
2208
2209
2210
2211
2212
2213
2214
2215
2216
2217
2218
2219
2220
2221
2222
2223
2224
2225
2226
2227
2228
2229
2230
2231
2232
2233
2234
2235
2236
2237
2238
2239
2240
2241
2242
2243
2244
2245
2246
2247
2248
2249
2250
2251
2252
2253
2254
2255
2256
2257
2258
2259
2260
2261
2262
2263
2264
2265
2266
2267
2268
2269
2270
2271
2272
2273
2274
2275
2276
2277
2278
2279
2280
2281
2282
2283
2284
2285
2286
2287
2288
2289
2290
2291
2292
2293
2294
2295
2296
2297
2298
2299
2300
2301
2302
2303
2304
2305
2306
2307
2308
2309
2310
2311
2312
2313
2314
2315
2316
2317
2318
2319
2320
2321
2322
2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357
2358
2359
2360
2361
2362
2363
2364
2365
2366
2367
2368
2369
2370
2371
2372
2373
2374
2375
2376
2377
2378
2379
2380
2381
2382
2383
2384
2385
2386
2387
2388
2389
2390
2391
2392
2393
2394
|
<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
<book>
<title>The Altus Metrum System</title>
<subtitle>An Owner's Manual for TeleMetrum, TeleMini and TeleDongle Devices</subtitle>
<bookinfo>
<author>
<firstname>Bdale</firstname>
<surname>Garbee</surname>
</author>
<author>
<firstname>Keith</firstname>
<surname>Packard</surname>
</author>
<author>
<firstname>Bob</firstname>
<surname>Finch</surname>
</author>
<author>
<firstname>Anthony</firstname>
<surname>Towns</surname>
</author>
<copyright>
<year>2011</year>
<holder>Bdale Garbee and Keith Packard</holder>
</copyright>
<legalnotice>
<para>
This document is released under the terms of the
<ulink url="http://creativecommons.org/licenses/by-sa/3.0/">
Creative Commons ShareAlike 3.0
</ulink>
license.
</para>
</legalnotice>
<revhistory>
<revision>
<revnumber>1.0</revnumber>
<date>24 August 2011</date>
<revremark>
Updated for software version 1.0. Note that 1.0 represents a
telemetry format change, meaning both ends of a link
(TeleMetrum/TeleMini and TeleDongle) must be updated or
communications will fail.
</revremark>
</revision>
<revision>
<revnumber>0.9</revnumber>
<date>18 January 2011</date>
<revremark>
Updated for software version 0.9. Note that 0.9 represents a
telemetry format change, meaning both ends of a link (TeleMetrum and
TeleDongle) must be updated or communications will fail.
</revremark>
</revision>
<revision>
<revnumber>0.8</revnumber>
<date>24 November 2010</date>
<revremark>Updated for software version 0.8 </revremark>
</revision>
</revhistory>
</bookinfo>
<acknowledgements>
<para>
Thanks to Bob Finch, W9YA, NAR 12965, TRA 12350 for writing "The
Mere-Mortals Quick Start/Usage Guide to the Altus Metrum Starter
Kit" which formed the basis of the original Getting Started chapter
in this manual. Bob was one of our first customers for a production
TeleMetrum, and his continued enthusiasm and contributions
are immensely gratifying and highly appreciated!
</para>
<para>
And thanks to Anthony (AJ) Towns for major contributions including
the AltosUI graphing and site map code and associated documentation.
Free software means that our customers and friends can become our
collaborators, and we certainly appreciate this level of
contribution!
</para>
<para>
Have fun using these products, and we hope to meet all of you
out on the rocket flight line somewhere.
<literallayout>
Bdale Garbee, KB0G
NAR #87103, TRA #12201
Keith Packard, KD7SQG
NAR #88757, TRA #12200
</literallayout>
</para>
</acknowledgements>
<chapter>
<title>Introduction and Overview</title>
<para>
Welcome to the Altus Metrum community! Our circuits and software reflect
our passion for both hobby rocketry and Free Software. We hope their
capabilities and performance will delight you in every way, but by
releasing all of our hardware and software designs under open licenses,
we also hope to empower you to take as active a role in our collective
future as you wish!
</para>
<para>
The first device created for our community was TeleMetrum, a dual
deploy altimeter with fully integrated GPS and radio telemetry
as standard features, and a "companion interface" that will
support optional capabilities in the future.
</para>
<para>
The newest device is TeleMini, a dual deploy altimeter with
radio telemetry and radio direction finding. This device is only
13mm by 38mm (½ inch by 1½ inches) and can fit easily in an 18mm
air-frame.
</para>
<para>
Complementing TeleMetrum and TeleMini is TeleDongle, a USB to RF
interface for communicating with the altimeters. Combined with your
choice of antenna and
notebook computer, TeleDongle and our associated user interface software
form a complete ground station capable of logging and displaying in-flight
telemetry, aiding rocket recovery, then processing and archiving flight
data for analysis and review.
</para>
<para>
More products will be added to the Altus Metrum family over time, and
we currently envision that this will be a single, comprehensive manual
for the entire product family.
</para>
</chapter>
<chapter>
<title>Getting Started</title>
<para>
The first thing to do after you check the inventory of parts in your
"starter kit" is to charge the battery.
</para>
<para>
The TeleMetrum battery can be charged by plugging it into the
corresponding socket of the TeleMetrum and then using the USB A to
mini B
cable to plug the TeleMetrum into your computer's USB socket. The
TeleMetrum circuitry will charge the battery whenever it is plugged
in, because the TeleMetrum's on-off switch does NOT control the
charging circuitry.
</para>
<para>
When the GPS chip is initially searching for
satellites, TeleMetrum will consume more current than it can pull
from the USB port, so the battery must be attached in order to get
satellite lock. Once GPS is locked, the current consumption goes back
down enough to enable charging while
running. So it's a good idea to fully charge the battery as your
first item of business so there is no issue getting and maintaining
satellite lock. The yellow charge indicator led will go out when the
battery is nearly full and the charger goes to trickle charge. It
can take several hours to fully recharge a deeply discharged battery.
</para>
<para>
The TeleMini battery can be charged by disconnecting it from the
TeleMini board and plugging it into a standalone battery charger
board, and connecting that via a USB cable to a laptop or other USB
power source
</para>
<para>
The other active device in the starter kit is the TeleDongle USB to
RF interface. If you plug it in to your Mac or Linux computer it should
"just work", showing up as a serial port device. Windows systems need
driver information that is part of the AltOS download to know that the
existing USB modem driver will work. We therefore recommend installing
our software before plugging in TeleDongle if you are using a Windows
computer. If you are using Linux and are having problems, try moving
to a fresher kernel (2.6.33 or newer), as the USB serial driver had
ugly bugs in some earlier versions.
</para>
<para>
Next you should obtain and install the AltOS software. These include
the AltosUI ground station program, current firmware images for
TeleMetrum, TeleMini and TeleDongle, and a number of standalone
utilities that are rarely needed. Pre-built binary packages are
available for Linux, Microsoft Windows, and recent MacOSX versions.
Full source code and build instructions are also available.
The latest version may always be downloaded from
<ulink url="http://altusmetrum.org/AltOS"/>.
</para>
</chapter>
<chapter>
<title>Handling Precautions</title>
<para>
All Altus Metrum products are sophisticated electronic devices.
When handled gently and properly installed in an air-frame, they
will deliver impressive results. However, as with all electronic
devices, there are some precautions you must take.
</para>
<para>
The Lithium Polymer rechargeable batteries have an
extraordinary power density. This is great because we can fly with
much less battery mass than if we used alkaline batteries or previous
generation rechargeable batteries... but if they are punctured
or their leads are allowed to short, they can and will release their
energy very rapidly!
Thus we recommend that you take some care when handling our batteries
and consider giving them some extra protection in your air-frame. We
often wrap them in suitable scraps of closed-cell packing foam before
strapping them down, for example.
</para>
<para>
The barometric sensors used on both TeleMetrum and TeleMini are
sensitive to sunlight. In normal TeleMetrum mounting situations, it
and all of the other surface mount components
are "down" towards whatever the underlying mounting surface is, so
this is not normally a problem. Please consider this, though, when
designing an installation, for example, in an air-frame with a
see-through plastic payload bay. It is particularly important to
consider this with TeleMini, both because the baro sensor is on the
"top" of the board, and because many model rockets with payload bays
use clear plastic for the payload bay! Replacing these with an opaque
cardboard tube, painting them, or wrapping them with a layer of masking
tape are all reasonable approaches to keep the sensor out of direct
sunlight.
</para>
<para>
The barometric sensor sampling port must be able to "breathe",
both by not being covered by foam or tape or other materials that might
directly block the hole on the top of the sensor, and also by having a
suitable static vent to outside air.
</para>
<para>
As with all other rocketry electronics, Altus Metrum altimeters must
be protected from exposure to corrosive motor exhaust and ejection
charge gasses.
</para>
</chapter>
<chapter>
<title>Hardware Overview</title>
<para>
TeleMetrum is a 1 inch by 2.75 inch circuit board. It was designed to
fit inside coupler for 29mm air-frame tubing, but using it in a tube that
small in diameter may require some creativity in mounting and wiring
to succeed! The presence of an accelerometer means TeleMetrum should
be aligned along the flight axis of the airframe, and by default the 1/4
wave UHF wire antenna should be on the nose-cone end of the board. The
antenna wire is about 7 inches long, and wiring for a power switch and
the e-matches for apogee and main ejection charges depart from the
fin can end of the board, meaning an ideal "simple" avionics
bay for TeleMetrum should have at least 10 inches of interior length.
</para>
<para>
TeleMini is a 0.5 inch by 1.5 inch circuit board. It was designed to
fit inside an 18mm air-frame tube, but using it in a tube that
small in diameter may require some creativity in mounting and wiring
to succeed! Since there is no accelerometer, TeleMini can be mounted
in any convenient orientation. The default 1/4
wave UHF wire antenna attached to the center of one end of
the board is about 7 inches long, and wiring for a power switch and
the e-matches for apogee and main ejection charges depart from the
other end of the board, meaning an ideal "simple" avionics
bay for TeleMini should have at least 9 inches of interior length.
</para>
<para>
A typical TeleMetrum or TeleMini installation involves attaching
only a suitable Lithium Polymer battery, a single pole switch for
power on/off, and two pairs of wires connecting e-matches for the
apogee and main ejection charges.
</para>
<para>
By default, we use the unregulated output of the Li-Po battery directly
to fire ejection charges. This works marvelously with standard
low-current e-matches like the J-Tek from MJG Technologies, and with
Quest Q2G2 igniters. However, if you want or need to use a separate
pyro battery, check out the "External Pyro Battery" section in this
manual for instructions on how to wire that up. The altimeters are
designed to work with an external pyro battery of no more than 15 volts.
</para>
<para>
Ejection charges are wired directly to the screw terminal block
at the aft end of the altimeter. You'll need a very small straight
blade screwdriver for these screws, such as you might find in a
jeweler's screwdriver set.
</para>
<para>
TeleMetrum also uses the screw terminal block for the power
switch leads. On TeleMini, the power switch leads are soldered
directly to the board and can be connected directly to a switch.
</para>
<para>
For most air-frames, the integrated antennas are more than
adequate. However, if you are installing in a carbon-fiber or
metal electronics bay which is opaque to RF signals, you may need to
use off-board external antennas instead. In this case, you can
order an altimeter with an SMA connector for the UHF antenna
connection, and, on TeleMetrum, you can unplug the integrated GPS
antenna and select an appropriate off-board GPS antenna with
cable terminating in a U.FL connector.
</para>
</chapter>
<chapter>
<title>System Operation</title>
<section>
<title>Firmware Modes </title>
<para>
The AltOS firmware build for the altimeters has two
fundamental modes, "idle" and "flight". Which of these modes
the firmware operates in is determined at start up time. For
TeleMetrum, the mode is controlled by the orientation of the
rocket (well, actually the board, of course...) at the time
power is switched on. If the rocket is "nose up", then
TeleMetrum assumes it's on a rail or rod being prepared for
launch, so the firmware chooses flight mode. However, if the
rocket is more or less horizontal, the firmware instead enters
idle mode. Since TeleMini doesn't have an accelerometer we can
use to determine orientation, "idle" mode is selected when the
board receives a command packet within the first five seconds
of operation; if no packet is received, the board enters
"flight" mode.
</para>
<para>
At power on, you will hear three beeps or see three flashes
("S" in Morse code for start up) and then a pause while
the altimeter completes initialization and self test, and decides
which mode to enter next.
</para>
<para>
In flight or "pad" mode, the altimeter engages the flight
state machine, goes into transmit-only mode to
send telemetry, and waits for launch to be detected.
Flight mode is indicated by an "di-dah-dah-dit" ("P" for pad)
on the beeper or lights, followed by beeps or flashes
indicating the state of the pyrotechnic igniter continuity.
One beep/flash indicates apogee continuity, two beeps/flashes
indicate main continuity, three beeps/flashes indicate both
apogee and main continuity, and one longer "brap" sound or
rapidly alternating lights indicates no continuity. For a
dual deploy flight, make sure you're getting three beeps or
flashes before launching! For apogee-only or motor eject
flights, do what makes sense.
</para>
<para>
If idle mode is entered, you will hear an audible "di-dit" or see
two short flashes ("I" for idle), and the flight state machine is
disengaged, thus no ejection charges will fire. The altimeters also
listen for the radio link when in idle mode for requests sent via
TeleDongle. Commands can be issued to a TeleMetrum in idle mode
over either
USB or the radio link equivalently. TeleMini only has the radio link.
Idle mode is useful for configuring the altimeter, for extracting data
from the on-board storage chip after flight, and for ground testing
pyro charges.
</para>
<para>
One "neat trick" of particular value when TeleMetrum is used with
very large air-frames, is that you can power the board up while the
rocket is horizontal, such that it comes up in idle mode. Then you can
raise the air-frame to launch position, and issue a 'reset' command
via TeleDongle over the radio link to cause the altimeter to reboot and
come up in flight mode. This is much safer than standing on the top
step of a rickety step-ladder or hanging off the side of a launch
tower with a screw-driver trying to turn on your avionics before
installing igniters!
</para>
</section>
<section>
<title>GPS </title>
<para>
TeleMetrum includes a complete GPS receiver. A complete explanation
of how GPS works is beyond the scope of this manual, but the bottom
line is that the TeleMetrum GPS receiver needs to lock onto at least
four satellites to obtain a solid 3 dimensional position fix and know
what time it is.
</para>
<para>
TeleMetrum provides backup power to the GPS chip any time a
battery is connected. This allows the receiver to "warm start" on
the launch rail much faster than if every power-on were a GPS
"cold start". In typical operations, powering up TeleMetrum
on the flight line in idle mode while performing final air-frame
preparation will be sufficient to allow the GPS receiver to cold
start and acquire lock. Then the board can be powered down during
RSO review and installation on a launch rod or rail. When the board
is turned back on, the GPS system should lock very quickly, typically
long before igniter installation and return to the flight line are
complete.
</para>
</section>
<section>
<title>Controlling An Altimeter Over The Radio Link</title>
<para>
One of the unique features of the Altus Metrum system is
the ability to create a two way command link between TeleDongle
and an altimeter using the digital radio transceivers built into
each device. This allows you to interact with the altimeter from
afar, as if it were directly connected to the computer.
</para>
<para>
Any operation which can be performed with TeleMetrum can
either be done with TeleMetrum directly connected to the
computer via the USB cable, or through the radio
link. TeleMini doesn't provide a USB connector and so it is
always communicated with over radio. Select the appropriate
TeleDongle device when the list of devices is presented and
AltosUI will interact with an altimeter over the radio link.
</para>
<para>
One oddity in the current interface is how AltosUI selects the
frequency for radio communications. Instead of providing
an interface to specifically configure the frequency, it uses
whatever frequency was most recently selected for the target
TeleDongle device in Monitor Flight mode. If you haven't ever
used that mode with the TeleDongle in question, select the
Monitor Flight button from the top level UI, and pick the
appropriate TeleDongle device. Once the flight monitoring
window is open, select the desired frequency and then close it
down again. All radio communications will now use that frequency.
</para>
<itemizedlist>
<listitem>
<para>
Save Flight Data—Recover flight data from the rocket without
opening it up.
</para>
</listitem>
<listitem>
<para>
Configure altimeter apogee delays or main deploy heights
to respond to changing launch conditions. You can also
'reboot' the altimeter. Use this to remotely enable the
flight computer by turning TeleMetrum on in "idle" mode,
then once the air-frame is oriented for launch, you can
reboot the altimeter and have it restart in pad mode
without having to climb the scary ladder.
</para>
</listitem>
<listitem>
<para>
Fire Igniters—Test your deployment charges without snaking
wires out through holes in the air-frame. Simply assembly the
rocket as if for flight with the apogee and main charges
loaded, then remotely command the altimeter to fire the
igniters.
</para>
</listitem>
</itemizedlist>
<para>
Operation over the radio link for configuring an altimeter, ground
testing igniters, and so forth uses the same RF frequencies as flight
telemetry. To configure the desired TeleDongle frequency, select
the monitor flight tab, then use the frequency selector and
close the window before performing other desired radio operations.
</para>
<para>
TeleMetrum only enables packet command mode in 'idle' mode, so
make sure you have TeleMetrum lying horizontally when you turn
it on. Otherwise, TeleMetrum will start in 'pad' mode ready for
flight and will not be listening for command packets from TeleDongle.
</para>
<para>
TeleMini listens for a command packet for five seconds after
first being turned on, if it doesn't hear anything, it enters
'pad' mode, ready for flight and will no longer listen for
command packets. The easiest way to connect to TeleMini is to
initiate the command and select the TeleDongle device. At this
point, the TeleDongle will be attempting to communicate with
the TeleMini. Now turn TeleMini on, and it should immediately
start communicating with the TeleDongle and the desired
operation can be performed.
</para>
<para>
When packet command mode is enabled, you can monitor the link
by watching the lights on the
devices. The red LED will flash each time they
transmit a packet while the green LED will light up
on TeleDongle while it is waiting to receive a packet from
the altimeter.
</para>
</section>
<section>
<title>Ground Testing </title>
<para>
An important aspect of preparing a rocket using electronic deployment
for flight is ground testing the recovery system. Thanks
to the bi-directional radio link central to the Altus Metrum system,
this can be accomplished in a TeleMetrum or TeleMini equipped rocket
with less work than you may be accustomed to with other systems. It
can even be fun!
</para>
<para>
Just prep the rocket for flight, then power up the altimeter
in "idle" mode (placing air-frame horizontal for TeleMetrum or
selected the Configure Altimeter tab for TeleMini). This will cause
the firmware to go into "idle" mode, in which the normal flight
state machine is disabled and charges will not fire without
manual command. You can now command the altimeter to fire the apogee
or main charges from a safe distance using your computer and
TeleDongle and the Fire Igniter tab to complete ejection testing.
</para>
</section>
<section>
<title>Radio Link </title>
<para>
The chip our boards are based on incorporates an RF transceiver, but
it's not a full duplex system... each end can only be transmitting or
receiving at any given moment. So we had to decide how to manage the
link.
</para>
<para>
By design, the altimeter firmware listens for the radio link when
it's in "idle mode", which
allows us to use the radio link to configure the rocket, do things like
ejection tests, and extract data after a flight without having to
crack open the air-frame. However, when the board is in "flight
mode", the altimeter only
transmits and doesn't listen at all. That's because we want to put
ultimate priority on event detection and getting telemetry out of
the rocket through
the radio in case the rocket crashes and we aren't able to extract
data later...
</para>
<para>
We don't use a 'normal packet radio' mode like APRS because they're
just too inefficient. The GFSK modulation we use is FSK with the
base-band pulses passed through a
Gaussian filter before they go into the modulator to limit the
transmitted bandwidth. When combined with the hardware forward error
correction support in the cc1111 chip, this allows us to have a very
robust 38.4 kilobit data link with only 10 milliwatts of transmit
power, a whip antenna in the rocket, and a hand-held Yagi on the
ground. We've had flights to above 21k feet AGL with great reception,
and calculations suggest we should be good to well over 40k feet AGL
with a 5-element yagi on the ground. We hope to fly boards to higher
altitudes over time, and would of course appreciate customer feedback
on performance in higher altitude flights!
</para>
</section>
<section>
<title>Configurable Parameters</title>
<para>
Configuring an Altus Metrum altimeter for flight is very
simple. Even on our baro-only TeleMini board, the use of a Kalman
filter means there is no need to set a "mach delay". The few
configurable parameters can all be set using AltosUI over USB or
or radio link via TeleDongle.
</para>
<section>
<title>Radio Frequencies</title>
<para>
The Altus Metrum boards support frequencies in the 70cm
band. By default, the configuration interface provides a
list of 10 common frequencies in 100kHz channels starting at
434.550MHz. However, the firmware supports use of
any 50kHz multiple within the 70cm band. At any given
launch, we highly recommend coordinating who will use each
frequency and when to avoid interference. And of course, both
altimeter and TeleDongle must be configured to the same
frequency to successfully communicate with each other.
</para>
<para>
To set the radio frequency, use the 'c R' command to specify the
radio transceiver configuration parameter. This parameter is computed
using the desired frequency, 'F', the radio calibration parameter, 'C' (showed by the 'c s' command) and
the standard calibration reference frequency, 'S', (normally 434.550MHz):
<programlisting>
R = F / S * C
</programlisting>
Round the result to the nearest integer value.
As with all 'c' sub-commands, follow this with a 'c w' to write the
change to the parameter block in the on-board flash on
your altimeter board if you want the change to stay in place across reboots.
</para>
</section>
<section>
<title>Apogee Delay</title>
<para>
Apogee delay is the number of seconds after the altimeter detects flight
apogee that the drogue charge should be fired. In most cases, this
should be left at the default of 0. However, if you are flying
redundant electronics such as for an L3 certification, you may wish
to set one of your altimeters to a positive delay so that both
primary and backup pyrotechnic charges do not fire simultaneously.
</para>
<para>
To set the apogee delay, use the 'c d' command.
As with all 'c' sub-commands, follow this with a 'c w' to write the
change to the parameter block in the on-board DataFlash chip.
</para>
<para>
Please note that the Altus Metrum apogee detection algorithm
fires exactly at apogee. If you are also flying an
altimeter like the PerfectFlite MAWD, which only supports
selecting 0 or 1 seconds of apogee delay, you may wish to
set the MAWD to 0 seconds delay and set the TeleMetrum to
fire your backup 2 or 3 seconds later to avoid any chance of
both charges firing simultaneously. We've flown several
air-frames this way quite happily, including Keith's
successful L3 cert.
</para>
</section>
<section>
<title>Main Deployment Altitude</title>
<para>
By default, the altimeter will fire the main deployment charge at an
elevation of 250 meters (about 820 feet) above ground. We think this
is a good elevation for most air-frames, but feel free to change this
to suit. In particular, if you are flying two altimeters, you may
wish to set the
deployment elevation for the backup altimeter to be something lower
than the primary so that both pyrotechnic charges don't fire
simultaneously.
</para>
<para>
To set the main deployment altitude, use the 'c m' command.
As with all 'c' sub-commands, follow this with a 'c w' to write the
change to the parameter block in the on-board DataFlash chip.
</para>
</section>
</section>
<section>
<title>Calibration</title>
<para>
There are only two calibrations required for a TeleMetrum board, and
only one for TeleDongle and TeleMini.
</para>
<section>
<title>Radio Frequency</title>
<para>
The radio frequency is synthesized from a clock based on the 48 MHz
crystal on the board. The actual frequency of this oscillator must be
measured to generate a calibration constant. While our GFSK modulation
bandwidth is wide enough to allow boards to communicate even when
their oscillators are not on exactly the same frequency, performance
is best when they are closely matched.
Radio frequency calibration requires a calibrated frequency counter.
Fortunately, once set, the variation in frequency due to aging and
temperature changes is small enough that re-calibration by customers
should generally not be required.
</para>
<para>
To calibrate the radio frequency, connect the UHF antenna port to a
frequency counter, set the board to 434.550MHz, and use the 'C'
command to generate a CW carrier. Wait for the transmitter temperature
to stabilize and the frequency to settle down.
Then, divide 434.550 MHz by the
measured frequency and multiply by the current radio cal value show
in the 'c s' command. For an unprogrammed board, the default value
is 1186611. Take the resulting integer and program it using the 'c f'
command. Testing with the 'C' command again should show a carrier
within a few tens of Hertz of the intended frequency.
As with all 'c' sub-commands, follow this with a 'c w' to write the
change to the parameter block in the on-board DataFlash chip.
</para>
<para>
when the radio calibration value is changed, the radio
frequency value is reset to the same value, so you'll need
to recompute and reset the radio frequency value using the
new radio calibration value.
</para>
</section>
<section>
<title>TeleMetrum Accelerometer</title>
<para>
The TeleMetrum accelerometer we use has its own 5 volt power supply and
the output must be passed through a resistive voltage divider to match
the input of our 3.3 volt ADC. This means that unlike the barometric
sensor, the output of the acceleration sensor is not ratio-metric to
the ADC converter, and calibration is required. We also support the
use of any of several accelerometers from a Freescale family that
includes at least +/- 40g, 50g, 100g, and 200g parts. Using gravity,
a simple 2-point calibration yields acceptable results capturing both
the different sensitivities and ranges of the different accelerometer
parts and any variation in power supply voltages or resistor values
in the divider network.
</para>
<para>
To calibrate the acceleration sensor, use the 'c a 0' command. You
will be prompted to orient the board vertically with the UHF antenna
up and press a key, then to orient the board vertically with the
UHF antenna down and press a key.
As with all 'c' sub-commands, follow this with a 'c w' to write the
change to the parameter block in the on-board DataFlash chip.
</para>
<para>
The +1g and -1g calibration points are included in each telemetry
frame and are part of the header extracted by ao-dumplog after flight.
Note that we always store and return raw ADC samples for each
sensor... nothing is permanently "lost" or "damaged" if the
calibration is poor.
</para>
<para>
In the unlikely event an accel cal that goes badly, it is possible
that TeleMetrum may always come up in 'pad mode' and as such not be
listening to either the USB or radio link. If that happens,
there is a special hook in the firmware to force the board back
in to 'idle mode' so you can re-do the cal. To use this hook, you
just need to ground the SPI clock pin at power-on. This pin is
available as pin 2 on the 8-pin companion connector, and pin 1 is
ground. So either carefully install a fine-gauge wire jumper
between the two pins closest to the index hole end of the 8-pin
connector, or plug in the programming cable to the 8-pin connector
and use a small screwdriver or similar to short the two pins closest
to the index post on the 4-pin end of the programming cable, and
power up the board. It should come up in 'idle mode' (two beeps).
</para>
</section>
</section>
</chapter>
<chapter>
<title>AltosUI</title>
<para>
The AltosUI program provides a graphical user interface for
interacting with the Altus Metrum product family, including
TeleMetrum, TeleMini and TeleDongle. AltosUI can monitor telemetry data,
configure TeleMetrum, TeleMini and TeleDongle devices and many other
tasks. The primary interface window provides a selection of
buttons, one for each major activity in the system. This manual
is split into chapters, each of which documents one of the tasks
provided from the top-level toolbar.
</para>
<section>
<title>Monitor Flight</title>
<subtitle>Receive, Record and Display Telemetry Data</subtitle>
<para>
Selecting this item brings up a dialog box listing all of the
connected TeleDongle devices. When you choose one of these,
AltosUI will create a window to display telemetry data as
received by the selected TeleDongle device.
</para>
<para>
All telemetry data received are automatically recorded in
suitable log files. The name of the files includes the current
date and rocket serial and flight numbers.
</para>
<para>
The radio frequency being monitored by the TeleDongle device is
displayed at the top of the window. You can configure the
frequency by clicking on the frequency box and selecting the desired
frequency. AltosUI remembers the last frequency selected for each
TeleDongle and selects that automatically the next time you use
that device.
</para>
<para>
Below the TeleDongle frequency selector, the window contains a few
significant pieces of information about the altimeter providing
the telemetry data stream:
</para>
<itemizedlist>
<listitem>
<para>The configured call-sign</para>
</listitem>
<listitem>
<para>The device serial number</para>
</listitem>
<listitem>
<para>The flight number. Each altimeter remembers how many
times it has flown.
</para>
</listitem>
<listitem>
<para>
The rocket flight state. Each flight passes through several
states including Pad, Boost, Fast, Coast, Drogue, Main and
Landed.
</para>
</listitem>
<listitem>
<para>
The Received Signal Strength Indicator value. This lets
you know how strong a signal TeleDongle is receiving. The
radio inside TeleDongle operates down to about -99dBm;
weaker signals may not be receivable. The packet link uses
error correction and detection techniques which prevent
incorrect data from being reported.
</para>
</listitem>
</itemizedlist>
<para>
Finally, the largest portion of the window contains a set of
tabs, each of which contain some information about the rocket.
They're arranged in 'flight order' so that as the flight
progresses, the selected tab automatically switches to display
data relevant to the current state of the flight. You can select
other tabs at any time. The final 'table' tab contains all of
the telemetry data in one place.
</para>
<section>
<title>Launch Pad</title>
<para>
The 'Launch Pad' tab shows information used to decide when the
rocket is ready for flight. The first elements include red/green
indicators, if any of these is red, you'll want to evaluate
whether the rocket is ready to launch:
<itemizedlist>
<listitem>
<para>
Battery Voltage. This indicates whether the Li-Po battery
powering the TeleMetrum has sufficient charge to last for
the duration of the flight. A value of more than
3.7V is required for a 'GO' status.
</para>
</listitem>
<listitem>
<para>
Apogee Igniter Voltage. This indicates whether the apogee
igniter has continuity. If the igniter has a low
resistance, then the voltage measured here will be close
to the Li-Po battery voltage. A value greater than 3.2V is
required for a 'GO' status.
</para>
</listitem>
<listitem>
<para>
Main Igniter Voltage. This indicates whether the main
igniter has continuity. If the igniter has a low
resistance, then the voltage measured here will be close
to the Li-Po battery voltage. A value greater than 3.2V is
required for a 'GO' status.
</para>
</listitem>
<listitem>
<para>
On-board Data Logging. This indicates whether there is
space remaining on-board to store flight data for the
upcoming flight. If you've downloaded data, but failed
to erase flights, there may not be any space
left. TeleMetrum can store multiple flights, depending
on the configured maximum flight log size. TeleMini
stores only a single flight, so it will need to be
downloaded and erased after each flight to capture
data. This only affects on-board flight logging; the
altimeter will still transmit telemetry and fire
ejection charges at the proper times.
</para>
</listitem>
<listitem>
<para>
GPS Locked. For a TeleMetrum device, this indicates whether the GPS receiver is
currently able to compute position information. GPS requires
at least 4 satellites to compute an accurate position.
</para>
</listitem>
<listitem>
<para>
GPS Ready. For a TeleMetrum device, this indicates whether GPS has reported at least
10 consecutive positions without losing lock. This ensures
that the GPS receiver has reliable reception from the
satellites.
</para>
</listitem>
</itemizedlist>
<para>
The Launchpad tab also shows the computed launch pad position
and altitude, averaging many reported positions to improve the
accuracy of the fix.
</para>
</para>
</section>
<section>
<title>Ascent</title>
<para>
This tab is shown during Boost, Fast and Coast
phases. The information displayed here helps monitor the
rocket as it heads towards apogee.
</para>
<para>
The height, speed and acceleration are shown along with the
maximum values for each of them. This allows you to quickly
answer the most commonly asked questions you'll hear during
flight.
</para>
<para>
The current latitude and longitude reported by the TeleMetrum GPS are
also shown. Note that under high acceleration, these values
may not get updated as the GPS receiver loses position
fix. Once the rocket starts coasting, the receiver should
start reporting position again.
</para>
<para>
Finally, the current igniter voltages are reported as in the
Launch Pad tab. This can help diagnose deployment failures
caused by wiring which comes loose under high acceleration.
</para>
</section>
<section>
<title>Descent</title>
<para>
Once the rocket has reached apogee and (we hope) activated the
apogee charge, attention switches to tracking the rocket on
the way back to the ground, and for dual-deploy flights,
waiting for the main charge to fire.
</para>
<para>
To monitor whether the apogee charge operated correctly, the
current descent rate is reported along with the current
height. Good descent rates generally range from 15-30m/s.
</para>
<para>
For TeleMetrum altimeters, you can locate the rocket in the sky
using the elevation and
bearing information to figure out where to look. Elevation is
in degrees above the horizon. Bearing is reported in degrees
relative to true north. Range can help figure out how big the
rocket will appear. Note that all of these values are relative
to the pad location. If the elevation is near 90°, the rocket
is over the pad, not over you.
</para>
<para>
Finally, the igniter voltages are reported in this tab as
well, both to monitor the main charge as well as to see what
the status of the apogee charge is.
</para>
</section>
<section>
<title>Landed</title>
<para>
Once the rocket is on the ground, attention switches to
recovery. While the radio signal is generally lost once the
rocket is on the ground, the last reported GPS position is
generally within a short distance of the actual landing location.
</para>
<para>
The last reported GPS position is reported both by
latitude and longitude as well as a bearing and distance from
the launch pad. The distance should give you a good idea of
whether you'll want to walk or hitch a ride. Take the reported
latitude and longitude and enter them into your hand-held GPS
unit and have that compute a track to the landing location.
</para>
<para>
Both TeleMini and TeleMetrum will continue to transmit RDF
tones after landing, allowing you to locate the rocket by
following the radio signal. You may need to get away from
the clutter of the flight line, or even get up on a hill (or
your neighbor's RV) to receive the RDF signal.
</para>
<para>
The maximum height, speed and acceleration reported
during the flight are displayed for your admiring observers.
</para>
<para>
To get more detailed information about the flight, you can
click on the 'Graph Flight' button which will bring up a
graph window for the current flight.
</para>
</section>
<section>
<title>Site Map</title>
<para>
When the TeleMetrum gets a GPS fix, the Site Map tab will map
the rocket's position to make it easier for you to locate the
rocket, both while it is in the air, and when it has landed. The
rocket's state is indicated by color: white for pad, red for
boost, pink for fast, yellow for coast, light blue for drogue,
dark blue for main, and black for landed.
</para>
<para>
The map's scale is approximately 3m (10ft) per pixel. The map
can be dragged using the left mouse button. The map will attempt
to keep the rocket roughly centered while data is being received.
</para>
<para>
Images are fetched automatically via the Google Maps Static API,
and are cached for reuse. If map images cannot be downloaded,
the rocket's path will be traced on a dark gray background
instead.
</para>
<para>
You can pre-load images for your favorite launch sites
before you leave home; check out the 'Preload Maps' section below.
</para>
</section>
</section>
<section>
<title>Save Flight Data</title>
<para>
The altimeter records flight data to its internal flash memory.
The TeleMetrum data is recorded at a much higher rate than the telemetry
system can handle, and is not subject to radio drop-outs. As
such, it provides a more complete and precise record of the
flight. The 'Save Flight Data' button allows you to read the
flash memory and write it to disk. As TeleMini has only a barometer, it
records data at the same rate as the telemetry signal, but there will be
no data lost due to telemetry drop-outs.
</para>
<para>
Clicking on the 'Save Flight Data' button brings up a list of
connected TeleMetrum and TeleDongle devices. If you select a
TeleMetrum device, the flight data will be downloaded from that
device directly. If you select a TeleDongle device, flight data
will be downloaded from a TeleMetrum or TeleMini device connected via the
packet command link to the specified TeleDongle. See the chapter
on Packet Command Mode for more information about this.
</para>
<para>
After the device has been selected, a dialog showing the
flight data saved in the device will be shown allowing you to
select which flights to download and which to delete. With
version 0.9 or newer firmware, you must erase flights in order
for the space they consume to be reused by another
flight. This prevents you from accidentally losing flight data
if you neglect to download data before flying again. Note that
if there is no more space available in the device, then no
data will be recorded for a flight.
</para>
<para>
The file name for each flight log is computed automatically
from the recorded flight date, altimeter serial number and
flight number information.
</para>
</section>
<section>
<title>Replay Flight</title>
<para>
Select this button and you are prompted to select a flight
record file, either a .telem file recording telemetry data or a
.eeprom file containing flight data saved from the altimeter
flash memory.
</para>
<para>
Once a flight record is selected, the flight monitor interface
is displayed and the flight is re-enacted in real time. Check
the Monitor Flight chapter above to learn how this window operates.
</para>
</section>
<section>
<title>Graph Data</title>
<para>
Select this button and you are prompted to select a flight
record file, either a .telem file recording telemetry data or a
.eeprom file containing flight data saved from
flash memory.
</para>
<para>
Once a flight record is selected, a window with two tabs is
opened. The first tab contains a graph with acceleration
(blue), velocity (green) and altitude (red) of the flight are
plotted and displayed, measured in metric units. The
apogee(yellow) and main(magenta) igniter voltages are also
displayed; high voltages indicate continuity, low voltages
indicate open circuits. The second tab contains some basic
flight statistics.
</para>
<para>
The graph can be zoomed into a particular area by clicking and
dragging down and to the right. Once zoomed, the graph can be
reset by clicking and dragging up and to the left. Holding down
control and clicking and dragging allows the graph to be panned.
The right mouse button causes a pop-up menu to be displayed, giving
you the option save or print the plot.
</para>
<para>
Note that telemetry files will generally produce poor graphs
due to the lower sampling rate and missed telemetry packets.
Use saved flight data for graphing where possible.
</para>
</section>
<section>
<title>Export Data</title>
<para>
This tool takes the raw data files and makes them available for
external analysis. When you select this button, you are prompted to select a flight
data file (either .eeprom or .telem will do, remember that
.eeprom files contain higher resolution and more continuous
data). Next, a second dialog appears which is used to select
where to write the resulting file. It has a selector to choose
between CSV and KML file formats.
</para>
<section>
<title>Comma Separated Value Format</title>
<para>
This is a text file containing the data in a form suitable for
import into a spreadsheet or other external data analysis
tool. The first few lines of the file contain the version and
configuration information from the altimeter, then
there is a single header line which labels all of the
fields. All of these lines start with a '#' character which
most tools can be configured to skip over.
</para>
<para>
The remaining lines of the file contain the data, with each
field separated by a comma and at least one space. All of
the sensor values are converted to standard units, with the
barometric data reported in both pressure, altitude and
height above pad units.
</para>
</section>
<section>
<title>Keyhole Markup Language (for Google Earth)</title>
<para>
This is the format used by
Googleearth to provide an overlay within that
application. With this, you can use Googleearth to see the
whole flight path in 3D.
</para>
</section>
</section>
<section>
<title>Configure Altimeter</title>
<para>
Select this button and then select either a TeleMetrum or
TeleDongle Device from the list provided. Selecting a TeleDongle
device will use Packet Command Mode to configure a remote
altimeter. Learn how to use this in the Packet Command
Mode chapter.
</para>
<para>
The first few lines of the dialog provide information about the
connected device, including the product name,
software version and hardware serial number. Below that are the
individual configuration entries.
</para>
<para>
At the bottom of the dialog, there are four buttons:
</para>
<itemizedlist>
<listitem>
<para>
Save. This writes any changes to the
configuration parameter block in flash memory. If you don't
press this button, any changes you make will be lost.
</para>
</listitem>
<listitem>
<para>
Reset. This resets the dialog to the most recently saved values,
erasing any changes you have made.
</para>
</listitem>
<listitem>
<para>
Reboot. This reboots the device. Use this to
switch from idle to pad mode by rebooting once the rocket is
oriented for flight.
</para>
</listitem>
<listitem>
<para>
Close. This closes the dialog. Any unsaved changes will be
lost.
</para>
</listitem>
</itemizedlist>
<para>
The rest of the dialog contains the parameters to be configured.
</para>
<section>
<title>Main Deploy Altitude</title>
<para>
This sets the altitude (above the recorded pad altitude) at
which the 'main' igniter will fire. The drop-down menu shows
some common values, but you can edit the text directly and
choose whatever you like. If the apogee charge fires below
this altitude, then the main charge will fire two seconds
after the apogee charge fires.
</para>
</section>
<section>
<title>Apogee Delay</title>
<para>
When flying redundant electronics, it's often important to
ensure that multiple apogee charges don't fire at precisely
the same time as that can over pressurize the apogee deployment
bay and cause a structural failure of the air-frame. The Apogee
Delay parameter tells the flight computer to fire the apogee
charge a certain number of seconds after apogee has been
detected.
</para>
</section>
<section>
<title>Radio Frequency</title>
<para>
This configures which of the configured frequencies to use for both
telemetry and packet command mode. Note that if you set this
value via packet command mode, you will have to reconfigure
the TeleDongle frequency before you will be able to use packet
command mode again.
</para>
</section>
<section>
<title>Radio Calibration</title>
<para>
The radios in every Altus Metrum device are calibrated at the
factory to ensure that they transmit and receive on the
specified frequency. You can adjust that
calibration by changing this value. To change the TeleDongle's
calibration, you must reprogram the unit completely.
</para>
</section>
<section>
<title>Callsign</title>
<para>
This sets the call sign included in each telemetry packet. Set this
as needed to conform to your local radio regulations.
</para>
</section>
<section>
<title>Maximum Flight Log Size</title>
<para>
This sets the space (in kilobytes) allocated for each flight
log. The available space will be divided into chunks of this
size. A smaller value will allow more flights to be stored,
a larger value will record data from longer flights.
</para>
<para>
During ascent, TeleMetrum records barometer and
accelerometer values 100 times per second, other analog
information (voltages and temperature) 6 times per second
and GPS data once per second. During descent, the non-GPS
data is recorded 1/10th as often. Each barometer +
accelerometer record takes 8 bytes.
</para>
<para>
The default, 192kB, will store over 200 seconds of data at
the ascent rate, or over 2000 seconds of data at the descent
rate. That's plenty for most flights. This leaves enough
storage for five flights in a 1MB system, or 10 flights in a
2MB system.
</para>
<para>
The configuration block takes the last available block of
memory, on v1.0 boards that's just 256 bytes. However, the
flash part on the v1.1 boards uses 64kB for each block.
</para>
<para>
TeleMini has 5kB of on-board storage, which is plenty for a
single flight. Make sure you download and delete the data
before a subsequent flight or it will not log any data.
</para>
</section>
<section>
<title>Ignite Mode</title>
<para>
TeleMetrum and TeleMini provide two igniter channels as they
were originally designed as dual-deploy flight
computers. This configuration parameter allows the two
channels to be used in different configurations.
</para>
<itemizedlist>
<listitem>
<para>
Dual Deploy. This is the usual mode of operation; the
'apogee' channel is fired at apogee and the 'main'
channel at the height above ground specified by the
'Main Deploy Altitude' during descent.
</para>
</listitem>
<listitem>
<para>
Redundant Apogee. This fires both channels at
apogee, the 'apogee' channel first followed after a two second
delay by the 'main' channel.
</para>
</listitem>
<listitem>
<para>
Redundant Main. This fires both channels at the
height above ground specified by the Main Deploy
Altitude setting during descent. The 'apogee'
channel is fired first, followed after a two second
delay by the 'main' channel.
</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Pad Orientation</title>
<para>
Because it includes an accelerometer, TeleMetrum is
sensitive to the orientation of the board. By default, it
expects the antenna end to point forward. This parameter
allows that default to be changed, permitting the board to
be mounted with the antenna pointing aft instead.
</para>
<itemizedlist>
<listitem>
<para>
Antenna Up. In this mode, the antenna end of the
TeleMetrum board must point forward, in line with the
expected flight path.
</para>
</listitem>
<listitem>
<para>
Antenna Down. In this mode, the antenna end of the
TeleMetrum board must point aft, in line with the
expected flight path.
</para>
</listitem>
</itemizedlist>
</section>
</section>
<section>
<title>Configure AltosUI</title>
<para>
This button presents a dialog so that you can configure the AltosUI global settings.
</para>
<section>
<title>Voice Settings</title>
<para>
AltosUI provides voice announcements during flight so that you
can keep your eyes on the sky and still get information about
the current flight status. However, sometimes you don't want
to hear them.
</para>
<itemizedlist>
<listitem>
<para>Enable—turns all voice announcements on and off</para>
</listitem>
<listitem>
<para>
Test Voice—Plays a short message allowing you to verify
that the audio system is working and the volume settings
are reasonable
</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>Log Directory</title>
<para>
AltosUI logs all telemetry data and saves all TeleMetrum flash
data to this directory. This directory is also used as the
staring point when selecting data files for display or export.
</para>
<para>
Click on the directory name to bring up a directory choosing
dialog, select a new directory and click 'Select Directory' to
change where AltosUI reads and writes data files.
</para>
</section>
<section>
<title>Callsign</title>
<para>
This value is used in command packet mode and is transmitted
in each packet sent from TeleDongle and received from
TeleMetrum. It is not used in telemetry mode as that transmits
packets only from TeleMetrum to TeleDongle. Configure this
with the AltosUI operators call sign as needed to comply with
your local radio regulations.
</para>
</section>
<section>
<title>Font Size</title>
<para>
Selects the set of fonts used in the flight monitor
window. Choose between the small, medium and large sets.
</para>
</section>
<section>
<title>Serial Debug</title>
<para>
This causes all communication with a connected device to be
dumped to the console from which AltosUI was started. If
you've started it from an icon or menu entry, the output
will simply be discarded. This mode can be useful to debug
various serial communication issues.
</para>
</section>
<section>
<title>Manage Frequencies</title>
<para>
This brings up a dialog where you can configure the set of
frequencies shown in the various frequency menus. You can
add as many as you like, or even reconfigure the default
set. Changing this list does not affect the frequency
settings of any devices, it only changes the set of
frequencies shown in the menus.
</para>
</section>
</section>
<section>
<title>Flash Image</title>
<para>
This reprograms any Altus Metrum device by using a TeleMetrum
or TeleDongle as a programming dongle. Please read the
directions for flashing devices in the Updating Device
Firmware section above
</para>
<para>
Once you have the programmer and target devices connected,
push the 'Flash Image' button. That will present a dialog box
listing all of the connected devices. Carefully select the
programmer device, not the device to be programmed.
</para>
<para>
Next, select the image to flash to the device. These are named
with the product name and firmware version. The file selector
will start in the directory containing the firmware included
with the AltosUI package. Navigate to the directory containing
the desired firmware if it isn't there.
</para>
<para>
Next, a small dialog containing the device serial number and
RF calibration values should appear. If these values are
incorrect (possibly due to a corrupted image in the device),
enter the correct values here.
</para>
<para>
Finally, a dialog containing a progress bar will follow the
programming process.
</para>
<para>
When programming is complete, the target device will
reboot. Note that if the target device is connected via USB, you
will have to unplug it and then plug it back in for the USB
connection to reset so that you can communicate with the device
again.
</para>
</section>
<section>
<title>Fire Igniter</title>
<para>
This activates the igniter circuits in TeleMetrum to help test
recovery systems deployment. Because this command can operate
over the Packet Command Link, you can prepare the rocket as
for flight and then test the recovery system without needing
to snake wires inside the air-frame.
</para>
<para>
Selecting the 'Fire Igniter' button brings up the usual device
selection dialog. Pick the desired TeleDongle or TeleMetrum
device. This brings up another window which shows the current
continuity test status for both apogee and main charges.
</para>
<para>
Next, select the desired igniter to fire. This will enable the
'Arm' button.
</para>
<para>
Select the 'Arm' button. This enables the 'Fire' button. The
word 'Arm' is replaced by a countdown timer indicating that
you have 10 seconds to press the 'Fire' button or the system
will deactivate, at which point you start over again at
selecting the desired igniter.
</para>
</section>
<section>
<title>Scan Channels</title>
<para>
This listens for telemetry packets on all of the configured
frequencies, displaying information about each device it
receives a packet from. You can select which of the three
telemetry formats should be tried; by default, it only listens
for the standard telemetry packets used in v1.0 and later
firmware.
</para>
</section>
<section>
<title>Load Maps</title>
<para>
Before heading out to a new launch site, you can use this to
load satellite images in case you don't have internet
connectivity at the site. This loads a fairly large area
around the launch site, which should cover any flight you're likely to make.
</para>
<para>
There's a drop-down menu of launch sites we know about; if
your favorites aren't there, please let us know the lat/lon
and name of the site. The contents of this list are actually
downloaded at run-time, so as new sites are sent in, they'll
get automatically added to this list.
</para>
<para>
If the launch site isn't in the list, you can manually enter the lat/lon values
</para>
<para>
Clicking the 'Load Map' button will fetch images from Google
Maps; note that Google limits how many images you can fetch at
once, so if you load more than one launch site, you may get
some gray areas in the map which indicate that Google is tired
of sending data to you. Try again later.
</para>
</section>
<section>
<title>Monitor Idle</title>
<para>
This brings up a dialog similar to the Monitor Flight UI,
except it works with the altimeter in "idle" mode by sending
query commands to discover the current state rather than
listening for telemetry packets.
</para>
</section>
</chapter>
<chapter>
<title>Using Altus Metrum Products</title>
<section>
<title>Being Legal</title>
<para>
First off, in the US, you need an <ulink url="http://www.altusmetrum.org/Radio/">amateur radio license</ulink> or
other authorization to legally operate the radio transmitters that are part
of our products.
</para>
</section>
<section>
<title>In the Rocket</title>
<para>
In the rocket itself, you just need a <ulink url="http://www.altusmetrum.org/TeleMetrum/">TeleMetrum</ulink> or
<ulink url="http://www.altusmetrum.org/TeleMini/">TeleMini</ulink> board and
a Li-Po rechargeable battery. An 860mAh battery weighs less than a 9V
alkaline battery, and will run a TeleMetrum for hours.
A 110mAh battery weighs less than a triple A battery and will run a TeleMetrum for
a few hours, or a TeleMini for much (much) longer.
</para>
<para>
By default, we ship the altimeters with a simple wire antenna. If your
electronics bay or the air-frame it resides within is made of carbon fiber,
which is opaque to RF signals, you may choose to have an SMA connector
installed so that you can run a coaxial cable to an antenna mounted
elsewhere in the rocket.
</para>
</section>
<section>
<title>On the Ground</title>
<para>
To receive the data stream from the rocket, you need an antenna and short
feed-line connected to one of our <ulink url="http://www.altusmetrum.org/TeleDongle/">TeleDongle</ulink> units. The
TeleDongle in turn plugs directly into the USB port on a notebook
computer. Because TeleDongle looks like a simple serial port, your computer
does not require special device drivers... just plug it in.
</para>
<para>
The GUI tool, AltosUI, is written in Java and runs across
Linux, Mac OS and Windows. There's also a suite of C tools
for Linux which can perform most of the same tasks.
</para>
<para>
After the flight, you can use the radio link to extract the more detailed data
logged in either TeleMetrum or TeleMini devices, or you can use a mini USB cable to plug into the
TeleMetrum board directly. Pulling out the data without having to open up
the rocket is pretty cool! A USB cable is also how you charge the Li-Po
battery, so you'll want one of those anyway... the same cable used by lots
of digital cameras and other modern electronic stuff will work fine.
</para>
<para>
If your TeleMetrum-equipped rocket lands out of sight, you may enjoy having a hand-held GPS
receiver, so that you can put in a way-point for the last reported rocket
position before touch-down. This makes looking for your rocket a lot like
Geo-Caching... just go to the way-point and look around starting from there.
</para>
<para>
You may also enjoy having a ham radio "HT" that covers the 70cm band... you
can use that with your antenna to direction-find the rocket on the ground
the same way you can use a Walston or Beeline tracker. This can be handy
if the rocket is hiding in sage brush or a tree, or if the last GPS position
doesn't get you close enough because the rocket dropped into a canyon, or
the wind is blowing it across a dry lake bed, or something like that... Keith
and Bdale both currently own and use the Yaesu VX-7R at launches.
</para>
<para>
So, to recap, on the ground the hardware you'll need includes:
<orderedlist inheritnum='inherit' numeration='arabic'>
<listitem>
an antenna and feed-line
</listitem>
<listitem>
a TeleDongle
</listitem>
<listitem>
a notebook computer
</listitem>
<listitem>
optionally, a hand-held GPS receiver
</listitem>
<listitem>
optionally, an HT or receiver covering 435 MHz
</listitem>
</orderedlist>
</para>
<para>
The best hand-held commercial directional antennas we've found for radio
direction finding rockets are from
<ulink url="http://www.arrowantennas.com/" >
Arrow Antennas.
</ulink>
The 440-3 and 440-5 are both good choices for finding a
TeleMetrum- or TeleMini- equipped rocket when used with a suitable 70cm HT.
</para>
</section>
<section>
<title>Data Analysis</title>
<para>
Our software makes it easy to log the data from each flight, both the
telemetry received during the flight itself, and the more
complete data log recorded in the flash memory on the altimeter
board. Once this data is on your computer, our post-flight tools make it
easy to quickly get to the numbers everyone wants, like apogee altitude,
max acceleration, and max velocity. You can also generate and view a
standard set of plots showing the altitude, acceleration, and
velocity of the rocket during flight. And you can even export a TeleMetrum data file
usable with Google Maps and Google Earth for visualizing the flight path
in two or three dimensions!
</para>
<para>
Our ultimate goal is to emit a set of files for each flight that can be
published as a web page per flight, or just viewed on your local disk with
a web browser.
</para>
</section>
<section>
<title>Future Plans</title>
<para>
In the future, we intend to offer "companion boards" for the rocket that will
plug in to TeleMetrum to collect additional data, provide more pyro channels,
and so forth. A reference design for a companion board will be documented
soon, and will be compatible with open source Arduino programming tools.
</para>
<para>
We are also working on the design of a hand-held ground terminal that will
allow monitoring the rocket's status, collecting data during flight, and
logging data after flight without the need for a notebook computer on the
flight line. Particularly since it is so difficult to read most notebook
screens in direct sunlight, we think this will be a great thing to have.
</para>
<para>
Because all of our work is open, both the hardware designs and the software,
if you have some great idea for an addition to the current Altus Metrum family,
feel free to dive in and help! Or let us know what you'd like to see that
we aren't already working on, and maybe we'll get excited about it too...
</para>
</section>
</chapter>
<chapter>
<title>Altimeter Installation Recommendations</title>
<para>
Building high-power rockets that fly safely is hard enough. Mix
in some sophisticated electronics and a bunch of radio energy
and oftentimes you find few perfect solutions. This chapter
contains some suggestions about how to install Altus Metrum
products into the rocket air-frame, including how to safely and
reliably mix a variety of electronics into the same air-frame.
</para>
<section>
<title>Mounting the Altimeter</title>
<para>
The first consideration is to ensure that the altimeter is
securely fastened to the air-frame. For TeleMetrum, we use
nylon standoffs and nylon screws; they're good to at least 50G
and cannot cause any electrical issues on the board. For
TeleMini, we usually cut small pieces of 1/16" balsa to fit
under the screw holes, and then take 2x56 nylon screws and
screw them through the TeleMini mounting holes, through the
balsa and into the underlying material.
</para>
<orderedlist inheritnum='inherit' numeration='arabic'>
<listitem>
Make sure TeleMetrum is aligned precisely along the axis of
acceleration so that the accelerometer can accurately
capture data during the flight.
</listitem>
<listitem>
Watch for any metal touching components on the
board. Shorting out connections on the bottom of the board
can cause the altimeter to fail during flight.
</listitem>
</orderedlist>
</section>
<section>
<title>Dealing with the Antenna</title>
<para>
The antenna supplied is just a piece of solid, insulated,
wire. If it gets damaged or broken, it can be easily
replaced. It should be kept straight and not cut; bending or
cutting it will change the resonant frequency and/or
impedance, making it a less efficient radiator and thus
reducing the range of the telemetry signal.
</para>
<para>
Keeping metal away from the antenna will provide better range
and a more even radiation pattern. In most rockets, it's not
entirely possible to isolate the antenna from metal
components; there are often bolts, all-thread and wires from other
electronics to contend with. Just be aware that the more stuff
like this around the antenna, the lower the range.
</para>
<para>
Make sure the antenna is not inside a tube made or covered
with conducting material. Carbon fiber is the most common
culprit here -- CF is a good conductor and will effectively
shield the antenna, dramatically reducing signal strength and
range. Metallic flake paint is another effective shielding
material which is to be avoided around any antennas.
</para>
<para>
If the ebay is large enough, it can be convenient to simply
mount the altimeter at one end and stretch the antenna out
inside. Taping the antenna to the sled can keep it straight
under acceleration. If there are metal rods, keep the
antenna as far away as possible.
</para>
<para>
For a shorter ebay, it's quite practical to have the antenna
run through a bulkhead and into an adjacent bay. Drill a small
hole in the bulkhead, pass the antenna wire through it and
then seal it up with glue or clay. We've also used acrylic
tubing to create a cavity for the antenna wire. This works a
bit better in that the antenna is known to stay straight and
not get folded by recovery components in the bay. Angle the
tubing towards the side wall of the rocket and it ends up
consuming very little space.
</para>
<para>
If you need to place the antenna at a distance from the
altimeter, you can replace the antenna with an edge-mounted
SMA connector, and then run 50Ω coax from the board to the
antenna. Building a remote antenna is beyond the scope of this
manual.
</para>
</section>
<section>
<title>Preserving GPS Reception</title>
<para>
The GPS antenna and receiver in TeleMetrum are highly
sensitive and normally have no trouble tracking enough
satellites to provide accurate position information for
recovering the rocket. However, there are many ways to
attenuate the GPS signal.
<orderedlist inheritnum='inherit' numeration='arabic'>
<listitem>
Conductive tubing or coatings. Carbon fiber and metal
tubing, or metallic paint will all dramatically attenuate the
GPS signal. We've never heard of anyone successfully
receiving GPS from inside these materials.
</listitem>
<listitem>
Metal components near the GPS patch antenna. These will
de-tune the patch antenna, changing the resonant frequency
away from the L1 carrier and reduce the effectiveness of the
antenna. You can place as much stuff as you like beneath the
antenna as that's covered with a ground plane. But, keep
wires and metal out from above the patch antenna.
</listitem>
</orderedlist>
</para>
</section>
<section>
<title>Radio Frequency Interference</title>
<para>
Any altimeter will generate RFI; the digital circuits use
high-frequency clocks that spray radio interference across a
wide band. Altusmetrum altimeters generate intentional radio
signals as well, increasing the amount of RF energy around the board.
</para>
<para>
Rocketry altimeters also use precise sensors measuring air
pressure and acceleration. Tiny changes in voltage can cause
these sensor readings to vary by a huge amount. When the
sensors start mis-reporting data, the altimeter can either
fire the igniters at the wrong time, or not fire them at all.
</para>
<para>
Voltages are induced when radio frequency energy is
transmitted from one circuit to another. Here are things that
increase the induced voltage and current:
</para>
<itemizedlist>
<listitem>
Keep wires from different circuits apart. Moving circuits
further apart will reduce RFI.
</listitem>
<listitem>
Avoid parallel wires from different circuits. The longer two
wires run parallel to one another, the larger the amount of
transferred energy. Cross wires at right angles to reduce
RFI.
</listitem>
<listitem>
Twist wires from the same circuits. Two wires the same
distance from the transmitter will get the same amount of
induced energy which will then cancel out. Any time you have
a wire pair running together, twist the pair together to
even out distances and reduce RFI. For altimeters, this
includes battery leads, switch hookups and igniter
circuits.
</listitem>
<listitem>
Avoid resonant lengths. Know what frequencies are present
in the environment and avoid having wire lengths near a
natural resonant length. Altusmetrum products transmit on the
70cm amateur band, so you should avoid lengths that are a
simple ratio of that length; essentially any multiple of 1/4
of the wavelength (17.5cm).
</listitem>
</itemizedlist>
</section>
<section>
<title>The Barometric Sensor</title>
<para>
Altusmetrum altimeters measure altitude with a barometric
sensor, essentially measuring the amount of air above the
rocket to figure out how high it is. A large number of
measurements are taken as the altimeter initializes itself to
figure out the pad altitude. Subsequent measurements are then
used to compute the height above the pad.
</para>
<para>
To accurately measure atmospheric pressure, the ebay
containing the altimeter must be vented outside the
air-frame. The vent must be placed in a region of linear
airflow, smooth and not in an area of increasing or decreasing
pressure.
</para>
<para>
The barometric sensor in the altimeter is quite sensitive to
chemical damage from the products of APCP or BP combustion, so
make sure the ebay is carefully sealed from any compartment
which contains ejection charges or motors.
</para>
</section>
<section>
<title>Ground Testing</title>
<para>
The most important aspect of any installation is careful
ground testing. Bringing an air-frame up to the LCO table which
hasn't been ground tested can lead to delays or ejection
charges firing on the pad, or, even worse, a recovery system
failure.
</para>
<para>
Do a 'full systems' test that includes wiring up all igniters
without any BP and turning on all of the electronics in flight
mode. This will catch any mistakes in wiring and any residual
RFI issues that might accidentally fire igniters at the wrong
time. Let the air-frame sit for several minutes, checking for
adequate telemetry signal strength and GPS lock.
</para>
<para>
Ground test the ejection charges. Prepare the rocket for
flight, loading ejection charges and igniters. Completely
assemble the air-frame and then use the 'Fire Igniters'
interface through a TeleDongle to command each charge to
fire. Make sure the charge is sufficient to robustly separate
the air-frame and deploy the recovery system.
</para>
</section>
</chapter>
<chapter>
<title>Updating Device Firmware</title>
<para>
The big conceptual thing to realize is that you have to use a
TeleDongle as a programmer to update a TeleMetrum or TeleMini,
and a TeleMetrum or other TeleDongle to program the TeleDongle
Due to limited memory resources in the cc1111, we don't support
programming directly over USB.
</para>
<para>
You may wish to begin by ensuring you have current firmware images.
These are distributed as part of the AltOS software bundle that
also includes the AltosUI ground station program. Newer ground
station versions typically work fine with older firmware versions,
so you don't need to update your devices just to try out new
software features. You can always download the most recent
version from <ulink url="http://www.altusmetrum.org/AltOS/"/>.
</para>
<para>
We recommend updating the altimeter first, before updating TeleDongle.
</para>
<section>
<title>Updating TeleMetrum Firmware</title>
<orderedlist inheritnum='inherit' numeration='arabic'>
<listitem>
Find the 'programming cable' that you got as part of the starter
kit, that has a red 8-pin MicroMaTch connector on one end and a
red 4-pin MicroMaTch connector on the other end.
</listitem>
<listitem>
Take the 2 screws out of the TeleDongle case to get access
to the circuit board.
</listitem>
<listitem>
Plug the 8-pin end of the programming cable to the
matching connector on the TeleDongle, and the 4-pin end to the
matching connector on the TeleMetrum.
Note that each MicroMaTch connector has an alignment pin that
goes through a hole in the PC board when you have the cable
oriented correctly.
</listitem>
<listitem>
Attach a battery to the TeleMetrum board.
</listitem>
<listitem>
Plug the TeleDongle into your computer's USB port, and power
up the TeleMetrum.
</listitem>
<listitem>
Run AltosUI, and select 'Flash Image' from the File menu.
</listitem>
<listitem>
Pick the TeleDongle device from the list, identifying it as the
programming device.
</listitem>
<listitem>
Select the image you want put on the TeleMetrum, which should have a
name in the form telemetrum-v1.1-1.0.0.ihx. It should be visible
in the default directory, if not you may have to poke around
your system to find it.
</listitem>
<listitem>
Make sure the configuration parameters are reasonable
looking. If the serial number and/or RF configuration
values aren't right, you'll need to change them.
</listitem>
<listitem>
Hit the 'OK' button and the software should proceed to flash
the TeleMetrum with new firmware, showing a progress bar.
</listitem>
<listitem>
Confirm that the TeleMetrum board seems to have updated OK, which you
can do by plugging in to it over USB and using a terminal program
to connect to the board and issue the 'v' command to check
the version, etc.
</listitem>
<listitem>
If something goes wrong, give it another try.
</listitem>
</orderedlist>
</section>
<section>
<title>Updating TeleMini Firmware</title>
<orderedlist inheritnum='inherit' numeration='arabic'>
<listitem>
You'll need a special 'programming cable' to reprogram the
TeleMini. It's available on the Altus Metrum web store, or
you can make your own using an 8-pin MicroMaTch connector on
one end and a set of four pins on the other.
</listitem>
<listitem>
Take the 2 screws out of the TeleDongle case to get access
to the circuit board.
</listitem>
<listitem>
Plug the 8-pin end of the programming cable to the matching
connector on the TeleDongle, and the 4-pins into the holes
in the TeleMini circuit board. Note that the MicroMaTch
connector has an alignment pin that goes through a hole in
the PC board when you have the cable oriented correctly, and
that pin 1 on the TeleMini board is marked with a square pad
while the other pins have round pads.
</listitem>
<listitem>
Attach a battery to the TeleMini board.
</listitem>
<listitem>
Plug the TeleDongle into your computer's USB port, and power
up the TeleMini
</listitem>
<listitem>
Run AltosUI, and select 'Flash Image' from the File menu.
</listitem>
<listitem>
Pick the TeleDongle device from the list, identifying it as the
programming device.
</listitem>
<listitem>
Select the image you want put on the TeleMini, which should have a
name in the form telemini-v1.0-1.0.0.ihx. It should be visible
in the default directory, if not you may have to poke around
your system to find it.
</listitem>
<listitem>
Make sure the configuration parameters are reasonable
looking. If the serial number and/or RF configuration
values aren't right, you'll need to change them.
</listitem>
<listitem>
Hit the 'OK' button and the software should proceed to flash
the TeleMini with new firmware, showing a progress bar.
</listitem>
<listitem>
Confirm that the TeleMini board seems to have updated OK, which you
can do by configuring it over the radio link through the TeleDongle, or
letting it come up in "flight" mode and listening for telemetry.
</listitem>
<listitem>
If something goes wrong, give it another try.
</listitem>
</orderedlist>
</section>
<section>
<title>Updating TeleDongle Firmware</title>
<para>
Updating TeleDongle's firmware is just like updating TeleMetrum or TeleMini
firmware, but you use either a TeleMetrum or another TeleDongle as the programmer.
</para>
<orderedlist inheritnum='inherit' numeration='arabic'>
<listitem>
Find the 'programming cable' that you got as part of the starter
kit, that has a red 8-pin MicroMaTch connector on one end and a
red 4-pin MicroMaTch connector on the other end.
</listitem>
<listitem>
Find the USB cable that you got as part of the starter kit, and
plug the "mini" end in to the mating connector on TeleMetrum or TeleDongle.
</listitem>
<listitem>
Take the 2 screws out of the TeleDongle case to get access
to the circuit board.
</listitem>
<listitem>
Plug the 8-pin end of the programming cable to the
matching connector on the programmer, and the 4-pin end to the
matching connector on the TeleDongle.
Note that each MicroMaTch connector has an alignment pin that
goes through a hole in the PC board when you have the cable
oriented correctly.
</listitem>
<listitem>
Attach a battery to the TeleMetrum board if you're using one.
</listitem>
<listitem>
Plug both the programmer and the TeleDongle into your computer's USB
ports, and power up the programmer.
</listitem>
<listitem>
Run AltosUI, and select 'Flash Image' from the File menu.
</listitem>
<listitem>
Pick the programmer device from the list, identifying it as the
programming device.
</listitem>
<listitem>
Select the image you want put on the TeleDongle, which should have a
name in the form teledongle-v0.2-1.0.0.ihx. It should be visible
in the default directory, if not you may have to poke around
your system to find it.
</listitem>
<listitem>
Make sure the configuration parameters are reasonable
looking. If the serial number and/or RF configuration
values aren't right, you'll need to change them. The TeleDongle
serial number is on the "bottom" of the circuit board, and can
usually be read through the translucent blue plastic case without
needing to remove the board from the case.
</listitem>
<listitem>
Hit the 'OK' button and the software should proceed to flash
the TeleDongle with new firmware, showing a progress bar.
</listitem>
<listitem>
Confirm that the TeleDongle board seems to have updated OK, which you
can do by plugging in to it over USB and using a terminal program
to connect to the board and issue the 'v' command to check
the version, etc. Once you're happy, remove the programming cable
and put the cover back on the TeleDongle.
</listitem>
<listitem>
If something goes wrong, give it another try.
</listitem>
</orderedlist>
<para>
Be careful removing the programming cable from the locking 8-pin
connector on TeleMetrum. You'll need a fingernail or perhaps a thin
screwdriver or knife blade to gently pry the locking ears out
slightly to extract the connector. We used a locking connector on
TeleMetrum to help ensure that the cabling to companion boards
used in a rocket don't ever come loose accidentally in flight.
</para>
</section>
</chapter>
<chapter>
<title>Hardware Specifications</title>
<section>
<title>TeleMetrum Specifications</title>
<itemizedlist>
<listitem>
<para>
Recording altimeter for model rocketry.
</para>
</listitem>
<listitem>
<para>
Supports dual deployment (can fire 2 ejection charges).
</para>
</listitem>
<listitem>
<para>
70cm ham-band transceiver for telemetry down-link.
</para>
</listitem>
<listitem>
<para>
Barometric pressure sensor good to 45k feet MSL.
</para>
</listitem>
<listitem>
<para>
1-axis high-g accelerometer for motor characterization, capable of
+/- 50g using default part.
</para>
</listitem>
<listitem>
<para>
On-board, integrated GPS receiver with 5Hz update rate capability.
</para>
</listitem>
<listitem>
<para>
On-board 1 megabyte non-volatile memory for flight data storage.
</para>
</listitem>
<listitem>
<para>
USB interface for battery charging, configuration, and data recovery.
</para>
</listitem>
<listitem>
<para>
Fully integrated support for Li-Po rechargeable batteries.
</para>
</listitem>
<listitem>
<para>
Uses Li-Po to fire e-matches, can be modified to support
optional separate pyro battery if needed.
</para>
</listitem>
<listitem>
<para>
2.75 x 1 inch board designed to fit inside 29mm air-frame coupler tube.
</para>
</listitem>
</itemizedlist>
</section>
<section>
<title>TeleMini Specifications</title>
<itemizedlist>
<listitem>
<para>
Recording altimeter for model rocketry.
</para>
</listitem>
<listitem>
<para>
Supports dual deployment (can fire 2 ejection charges).
</para>
</listitem>
<listitem>
<para>
70cm ham-band transceiver for telemetry down-link.
</para>
</listitem>
<listitem>
<para>
Barometric pressure sensor good to 45k feet MSL.
</para>
</listitem>
<listitem>
<para>
On-board 5 kilobyte non-volatile memory for flight data storage.
</para>
</listitem>
<listitem>
<para>
RF interface for battery charging, configuration, and data recovery.
</para>
</listitem>
<listitem>
<para>
Support for Li-Po rechargeable batteries, using an external charger.
</para>
</listitem>
<listitem>
<para>
Uses Li-Po to fire e-matches, can be modified to support
optional separate pyro battery if needed.
</para>
</listitem>
<listitem>
<para>
1.5 x .5 inch board designed to fit inside 18mm air-frame coupler tube.
</para>
</listitem>
</itemizedlist>
</section>
</chapter>
<chapter>
<title>FAQ</title>
<para>
TeleMetrum seems to shut off when disconnected from the
computer. Make sure the battery is adequately charged. Remember the
unit will pull more power than the USB port can deliver before the
GPS enters "locked" mode. The battery charges best when TeleMetrum
is turned off.
</para>
<para>
It's impossible to stop the TeleDongle when it's in "p" mode, I have
to unplug the USB cable? Make sure you have tried to "escape out" of
this mode. If this doesn't work the reboot procedure for the
TeleDongle *is* to simply unplug it. 'cu' however will retain it's
outgoing buffer IF your "escape out" ('~~') does not work.
At this point using either 'ao-view' (or possibly
'cutemon') instead of 'cu' will 'clear' the issue and allow renewed
communication.
</para>
<para>
The amber LED (on the TeleMetrum) lights up when both
battery and USB are connected. Does this mean it's charging?
Yes, the yellow LED indicates the charging at the 'regular' rate.
If the led is out but the unit is still plugged into a USB port,
then the battery is being charged at a 'trickle' rate.
</para>
<para>
There are no "dit-dah-dah-dit" sound or lights like the manual mentions?
That's the "pad" mode. Weak batteries might be the problem.
It is also possible that the TeleMetrum is horizontal and the output
is instead a "dit-dit" meaning 'idle'. For TeleMini, it's possible that
it received a command packet which would have left it in "pad" mode.
</para>
<para>
How do I save flight data?
Live telemetry is written to file(s) whenever AltosUI is connected
to the TeleDongle. The file area defaults to ~/TeleMetrum
but is easily changed using the menus in AltosUI. The files that
are written end in '.telem'. The after-flight
data-dumped files will end in .eeprom and represent continuous data
unlike the .telem files that are subject to losses
along the RF data path.
See the above instructions on what and how to save the eeprom stored
data after physically retrieving your altimeter. Make sure to save
the on-board data after each flight; while the TeleMetrum can store
multiple flights, you never know when you'll lose the altimeter...
</para>
</chapter>
<appendix>
<title>Notes for Older Software</title>
<para>
<emphasis>
Before AltosUI was written, using Altus Metrum devices required
some finesse with the Linux command line. There was a limited
GUI tool, ao-view, which provided functionality similar to the
Monitor Flight window in AltosUI, but everything else was a
fairly 80's experience. This appendix includes documentation for
using that software.
</emphasis>
</para>
<para>
Both TeleMetrum and TeleDongle can be directly communicated
with using USB ports. The first thing you should try after getting
both units plugged into to your computer's USB port(s) is to run
'ao-list' from a terminal-window to see what port-device-name each
device has been assigned by the operating system.
You will need this information to access the devices via their
respective on-board firmware and data using other command line
programs in the AltOS software suite.
</para>
<para>
TeleMini can be communicated with through a TeleDongle device
over the radio link. When first booted, TeleMini listens for a
TeleDongle device and if it receives a packet, it goes into
'idle' mode. Otherwise, it goes into 'pad' mode and waits to be
launched. The easiest way to get it talking is to start the
communication link on the TeleDongle and the power up the
TeleMini board.
</para>
<para>
To access the device's firmware for configuration you need a terminal
program such as you would use to talk to a modem. The software
authors prefer using the program 'cu' which comes from the UUCP package
on most Unix-like systems such as Linux. An example command line for
cu might be 'cu -l /dev/ttyACM0', substituting the correct number
indicated from running the
ao-list program. Another reasonable terminal program for Linux is
'cutecom'. The default 'escape'
character used by CU (i.e. the character you use to
issue commands to cu itself instead of sending the command as input
to the connected device) is a '~'. You will need this for use in
only two different ways during normal operations. First is to exit
the program by sending a '~.' which is called a 'escape-disconnect'
and allows you to close-out from 'cu'. The
second use will be outlined later.
</para>
<para>
All of the Altus Metrum devices share the concept of a two level
command set in their firmware.
The first layer has several single letter commands. Once
you are using 'cu' (or 'cutecom') sending (typing) a '?'
returns a full list of these
commands. The second level are configuration sub-commands accessed
using the 'c' command, for
instance typing 'c?' will give you this second level of commands
(all of which require the
letter 'c' to access). Please note that most configuration options
are stored only in Flash memory; TeleDongle doesn't provide any storage
for these options and so they'll all be lost when you unplug it.
</para>
<para>
Try setting these configuration ('c' or second level menu) values. A good
place to start is by setting your call sign. By default, the boards
use 'N0CALL' which is cute, but not exactly legal!
Spend a few minutes getting comfortable with the units, their
firmware, and 'cu' (or possibly 'cutecom').
For instance, try to send
(type) a 'c r 2' and verify the channel change by sending a 'c s'.
Verify you can connect and disconnect from the units while in your
terminal program by sending the escape-disconnect mentioned above.
</para>
<para>
Note that the 'reboot' command, which is very useful on the altimeters,
will likely just cause problems with the dongle. The *correct* way
to reset the dongle is just to unplug and re-plug it.
</para>
<para>
A fun thing to do at the launch site and something you can do while
learning how to use these units is to play with the radio link access
between an altimeter and the TeleDongle. Be aware that you *must* create
some physical separation between the devices, otherwise the link will
not function due to signal overload in the receivers in each device.
</para>
<para>
Now might be a good time to take a break and read the rest of this
manual, particularly about the two "modes" that the altimeters
can be placed in. TeleMetrum uses the position of the device when booting
up will determine whether the unit is in "pad" or "idle" mode. TeleMini
enters "idle" mode when it receives a command packet within the first 5 seconds
of being powered up, otherwise it enters "pad" mode.
</para>
<para>
You can access an altimeter in idle mode from the TeleDongle's USB
connection using the radio link
by issuing a 'p' command to the TeleDongle. Practice connecting and
disconnecting ('~~' while using 'cu') from the altimeter. If
you cannot escape out of the "p" command, (by using a '~~' when in
CU) then it is likely that your kernel has issues. Try a newer version.
</para>
<para>
Using this radio link allows you to configure the altimeter, test
fire e-matches and igniters from the flight line, check pyro-match
continuity and so forth. You can leave the unit turned on while it
is in 'idle mode' and then place the
rocket vertically on the launch pad, walk away and then issue a
reboot command. The altimeter will reboot and start sending data
having changed to the "pad" mode. If the TeleDongle is not receiving
this data, you can disconnect 'cu' from the TeleDongle using the
procedures mentioned above and THEN connect to the TeleDongle from
inside 'ao-view'. If this doesn't work, disconnect from the
TeleDongle, unplug it, and try again after plugging it back in.
</para>
<para>
In order to reduce the chance of accidental firing of pyrotechnic
charges, the command to fire a charge is intentionally somewhat
difficult to type, and the built-in help is slightly cryptic to
prevent accidental echoing of characters from the help text back at
the board from firing a charge. The command to fire the apogee
drogue charge is 'i DoIt drogue' and the command to fire the main
charge is 'i DoIt main'.
</para>
<para>
On TeleMetrum, the GPS will eventually find enough satellites, lock in on them,
and 'ao-view' will both auditorily announce and visually indicate
that GPS is ready.
Now you can launch knowing that you have a good data path and
good satellite lock for flight data and recovery. Remember
you MUST tell ao-view to connect to the TeleDongle explicitly in
order for ao-view to be able to receive data.
</para>
<para>
The altimeters provide RDF (radio direction finding) tones on
the pad, during descent and after landing. These can be used to
locate the rocket using a directional antenna; the signal
strength providing an indication of the direction from receiver to rocket.
</para>
<para>
TeleMetrum also provides GPS trekking data, which can further simplify
locating the rocket once it has landed. (The last good GPS data
received before touch-down will be on the data screen of 'ao-view'.)
</para>
<para>
Once you have recovered the rocket you can download the eeprom
contents using either 'ao-dumplog' (or possibly 'ao-eeprom'), over
either a USB cable or over the radio link using TeleDongle.
And by following the man page for 'ao-postflight' you can create
various data output reports, graphs, and even KML data to see the
flight trajectory in Google-earth. (Moving the viewing angle making
sure to connect the yellow lines while in Google-earth is the proper
technique.)
</para>
<para>
As for ao-view.... some things are in the menu but don't do anything
very useful. The developers have stopped working on ao-view to focus
on a new, cross-platform ground station program. So ao-view may or
may not be updated in the future. Mostly you just use
the Log and Device menus. It has a wonderful display of the incoming
flight data and I am sure you will enjoy what it has to say to you
once you enable the voice output!
</para>
</appendix>
<appendix
xmlns:xi="http://www.w3.org/2001/XInclude">
<title>Release Notes</title>
<xi:include href="release-notes-1.0.xsl" xpointer="xpointer(/article/*)"/>
<xi:include href="release-notes-0.9.2.xsl" xpointer="xpointer(/article/*)"/>
<xi:include href="release-notes-0.9.xsl" xpointer="xpointer(/article/*)"/>
<xi:include href="release-notes-0.8.xsl" xpointer="xpointer(/article/*)"/>
<xi:include href="release-notes-0.7.1.xsl" xpointer="xpointer(/article/*)"/>
</appendix>
</book>
<!-- LocalWords: Altusmetrum
-->
|