working on making current and old board info more distinguishable
[web/altusmetrum] / TeleMetrum / index.mdwn
1 # TeleMetrum
2
3 This is a recording dual-deploy altimeter for high power model rocketry 
4 with integrated GPS and telemetry link.  
5
6 Production units are available from the 
7 [Garbee and Garbee](http://auric.gag.com) web store.
8
9 These are photos of our current production version, which includes an 
10 integrated GPS receiver with active patch antenna:
11
12 <a href="v1.0/cimg5972-crop.jpg"> <img src="v1.0/cimg5972-thumb.jpg"></a>
13 <a href="v1.0/cimg5974-crop.jpg"> <img src="v1.0/cimg5974-thumb.jpg"></a>
14
15 ## Motivation ##
16
17 Bdale and Keith both own 
18 [BeeLine](http://www.bigredbee.com/BeeLine.htm)
19 trackers from 
20 [Big Red Bee](http://www.bigredbee.com), and are pretty happy with them.
21 They use a PIC processor and a TI CC1050 transmitter chip, and
22 operate in the ham radio 70cm band.
23
24 One weekend while attending a conference together, we got to wondering if 
25 we couldn't adapt one to use as a downlink for the
26 [AltusMetrum](../AltusMetrum/) altimeter board in addition to direction
27 finding after flight.  That caused us to start thinking about other things
28 in the design we might want to tweak, and before long we were working on the
29 design of a new tracker board derived from the BeeLine design.
30 Another friend at the same conference showed us a board he was working on 
31 using a different part in the same TI series, that integrated a transceiver
32 and CPU on the same chip.
33 It didn't take us long to realize that with such a part we could combine and
34 simplify things by building a new altimeter with integrated RF link!  And
35 after gaining some experience in 2009 with a first version, we realized we
36 always want GPS on board, which lead to our current second generation boards.
37
38 ## Features ##
39
40 ### User View ###
41
42 * Recording altimeter for model rocketry
43 * Supports dual deployment (can fire 2 ejection charges)
44 * 70cm ham-band transceiver for telemetry downlink
45 * Barometric pressure sensor good to 45k feet MSL
46 * 1-axis high-g accelerometer for motor characterization
47 * On-board, integrated GPS receiver
48 * On-board non-volatile memory for flight data storage
49 * USB for power, configuration, and data recovery
50 * Integrated support for LiPo rechargeable batteries
51 * Uses LiPo to fire e-matches, optional support for separate pyro battery
52 * 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube
53
54 ### Developer View ###
55
56 * Hardware Features
57         * [TI CC1111F32](http://focus.ti.com/docs/prod/folders/print/cc1111f32.html) Low Power RF System-on-Chip
58                 * Sub-1Ghz transceiver
59                 * 8051 MCU
60                 * 32k Flash
61                 * 4k RAM
62                 * USB 2.0
63                 * 6 12-bit analog inputs (11 bits with single-ended sensors)
64                 * 2 channels of serial I/O
65                 * digital I/O
66         * [Atmel AT45DB081D](http://www.atmel.com/dyn/products/product_card.asp?part_id=3819) DataFlash memory
67                 * 1M x 8
68                 * 256 byte page size
69                 * SPI interface
70                 * other parts in this Atmel DataFlash series can optionally be used
71         * [SkyTraq](http://www.skytraq.com.tw/) Venus634FLPx GPS receiver
72                 * on-board [Taoglas AP.17A.01](http://www.taoglas.com/antennas/GPS_Antennas/Internal_GPS_-_Active_Patch_Modules/) 
73                   single-stage active patch antenna
74                 * U.FL connector with 3.3V DC can be re-purposed for optional external amplified antennas
75                 * async serial interface
76         * [Freescale MP3H6115A](http://www.freescale.com/webapp/search.partparamdetail.framework?PART_NUMBER=MP3H6115A6U) pressure sensor
77         * [Freescale MMA2202EG](http://www.freescale.com/webapp/search.partparamdetail.framework?PART_NUMBER=MMA2202EG) 50g accelerometer.  Can use 40-200g variants!
78 * Software Features
79         * Written mostly in C with some 8051 assembler
80         * Runs from on-chip flash, uses on-chip RAM, stores flight data to
81                 serial DataFlash chip
82         * USB serial emulation for "console" interface
83 * Tools Used
84         * [gEDA](http://www.gpleda.org/) for schematic capture and PCB layout
85         * [SDCC](http://sdcc.sourceforge.net/) compiler and source debugger
86 * Licenses
87         * The hardware is licensed under the [TAPR](http://www.tapr.org) [Open Hardware License](http://www.tapr.org/ohl.html)
88         * The software is licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)
89
90 ### v0.1 Differences  ###
91
92 * 2.5 x 1 inch board with all parts mounted on one side
93 * 4-pin PicoBlade serial port connector for attachment of external GPS module 
94 * USB connector projected approximately 3mm over the edge of the board
95 * Debug connector used 4 IC socket pins on 100 mil centers
96 * no companion board interface
97 * 50ma LDO regulator on early boards, later boards used a 100ma part
98 * [Microchip 25LC1024](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en520389) CMOS serial EEPROM instead of DataFlash
99         * 128k x 8
100         * SPI interface
101 * [Microchip MCP9700A](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en027103) discrete temperature sensor
102 * used 1000uF electrolytic capacitor charged to 5V for pyro supply
103 * two LEDs instead of one attached to CPU
104
105 The elimination of the discrete temperature sensor and second LED were
106 necessary to support the companion board interface added in v0.2.
107
108 ## [Production History](../production) ##
109
110 ## [Flight Logs](flightlogs) ##
111
112 ## Problems ##
113
114 * The CC1111F32 is a 36-pin QFN package, which necessitates reflow 
115   soldering.  Since we needed to reflow solder anyway, and because TI used 
116   them in their reference design, we went a little crazy and used 0402 
117   passive parts everywhere.  That means working under a microscope to 
118   place parts!  Without an inspection microscope, loading and testing these
119   boards might be impossible.
120
121 * The addition of on-board GPS in v0.2 means that the total power consumption
122   can exceed the rate at which we draw power from the USB interface, 
123   particularly when the GPS is in cold start mode.  This means a battery must 
124   be attached during operation, and also that the battery will only charge 
125   effectively from USB when the board is turned off.
126
127 * The v0.1 artwork had three issues, two of which required physical rework
128   on each board.  All of these issues were fixed in v0.2.
129
130         * The USB connector footprint was placed wrong, so that the
131           connector hung out over the edge of the board instead of being 
132           flush.
133         * We needed chip select on the SPI memory.  To fix that, we gave up the 
134           ability to put the accelerometer into self-test mode and used that 
135           GPIO line to pull chip select on the memory, which required two
136           cuts and two jumpers.  
137         * The igniter sense circuits each needed a second resistor to 
138           complete the voltage divider so our 3.3V CPU ADC could read the 
139           5V ejection voltage.  This was fixed by changing two resistor 
140           values, and tacking two additional resistors onto the board
141           with jumpers to ground.
142
143 ## Artifacts ##
144
145 The user manual for TeleMetrum is available in
146 [html](doc/telemetrum-doc.html) and [pdf](doc/telemetrum-doc.pdf)
147 formats.
148
149 The hardware design current gEDA files are available from 
150 [git.gag.com](http://git.gag.com) in the project 
151 [hw/telemetrum](http://git.gag.com/?p=hw/telemetrum;a=summary).  
152
153 Work on the next version proceeds on the master branch, with occasional
154 temporary branches created when Bdale is making some major / speculative
155 change.  The 'v0.2' and 'v0.1' branches document what we're actually flying 
156 right now on the two respective PCB revisions.  The 'ground' branch has a 
157 cut-down schematic used to generate the BOM for partially loading v0.1 boards 
158 to used on the ground.  We call the on-the-ground version 'TeleDongle'.
159
160 For those who don't have ready access to the gEDA suite, here are pdf snapshots
161 of files in more easily readable form.  
162
163 * Production PCB version v1.0:
164  * [schematic](v1.0/telemetrum.pdf)
165  * [pcb artwork](v1.0/telemetrum.pcb.pdf)
166  * [bill of materials](v1.0/partslist.csv)
167
168 Our [AltOS](../AltOS) firmware works well enough that we now routinely fly 
169 TeleMetrum with no backup.  Rockets with v0.1 boards have exceeded 50g 
170 acceleration, been above Mach 1, and reached altitudes greater 
171 than 12k feet AGL with great results.  Keith's ground station program 
172 called ao-view logs telemetry to disk, displays current and max values for 
173 key parameters during flight, and even includes voice synthesis 
174 during the flight so that our eyes can stay on the rockets!  We have post
175 flight analysis software that makes it easy to extract data from the board,
176 analyze it, and even generate KML files for viewing flights in GoogleEarth!
177 More details on the software, including full source code and pre-built packages
178 can be found on the [AltOS](../AltOS) page on this site.
179
180 ## Future Plans ##
181
182 As of May 2010, version v1.0 is available for sale from the
183 [Garbee and Garbee](http://auric.gag.com) web store.
184
185 Because we understand that not everyone uses Linux, development of a new
186 cross-platform ground station program written in Java is underway for use with 
187 [AltOS](../AltOS).
188
189 ## History ##
190
191 ### v0.2 ###
192
193 * 100ma LDO regulator instead of the current 150ma part
194 * no C38 footprint
195 * different value for C36 reset capacitor
196
197 These are photos of our second version, which included the integrated Venus
198 GPS receiver, but with a passive patch antenna that turned out to have 
199 disappointing performance due to our many PCB geometry constraints.  It also
200 used a voltage regulator with less capacity which we felt was marginal for
201 supporting the companion boards we have planned:
202
203 <a href="v0.2/cimg5164-cropped.jpg"> <img src="v0.2/cimg5164-thumb.jpg"></a>
204 <a href="v0.2/cimg5171-cropped.jpg"> <img src="v0.2/cimg5171-thumb.jpg"></a>
205
206 Other than cleaning up the silkscreen, the differences between v0.2 and our
207 current v1.0 boards were really quite small:
208
209 * 100ma LDO regulator instead of the current 150ma part
210 * no C38 footprint
211 * different value for C36 reset capacitor
212
213 The schematics and PCB artwork for this version are on the v0.2 branch in
214 our git repository, here are pdf copies for easy reference:
215
216  * [schematic](v0.2/telemetrum.pdf)
217  * [pcb artwork](v0.2/telemetrum.pcb.pdf)
218  * [bill of materials](v0.2/partslist.csv)
219
220 ### v0.1 ###
221
222 And this is a photo of our original board with serial port for off-board GPS,
223 without the big off-board 1000uF cap from the original ejection circuit:
224
225 <a href="v0.1/loadedpair.jpg"> <img src="v0.1/loadedpair-thumb.jpg"></a>
226
227 The differences between v0.1 and later boards were more substantial:
228
229 * 2.5 x 1 inch board with all parts mounted on one side
230 * 4-pin PicoBlade serial port connector for attachment of external GPS module 
231 * USB connector projected approximately 3mm over the edge of the board
232 * Debug connector used 4 IC socket pins on 100 mil centers
233 * no companion board interface
234 * 50ma LDO regulator on early boards, later boards used a 100ma part
235 * [Microchip 25LC1024](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en520389) CMOS serial EEPROM instead of DataFlash
236         * 128k x 8
237         * SPI interface
238 * [Microchip MCP9700A](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en027103) discrete temperature sensor
239 * used 1000uF electrolytic capacitor charged to 5V for pyro supply
240 * two LEDs instead of one attached to CPU
241
242 The elimination of the discrete temperature sensor and second LED were
243 necessary to support the companion board interface added in v0.2.
244
245 The schematics and PCB artwork for this version as of the working-v0.1 tag
246 are available here are pdf copies for easy reference:
247
248  * [schematic](v0.1/telemetrum.pdf)
249  * [pcb artwork](v0.1/telemetrum.pcb.pdf)
250  * [bill of materials](v0.1/telemetrum.bom)