summaryrefslogtreecommitdiff
path: root/TeleMetrum/index.mdwn
blob: 84a864754b661684e9a4f4b9d4b098340b93d19f (plain) (blame)
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
# TeleMetrum

This is a recording dual-deploy altimeter for high power model rocketry 
with integrated GPS and telemetry link.  

Production units are available from the 
[Garbee and Garbee](http://auric.gag.com) web 
store.  TeleMetrum starter kits are also now available from 
[Apogee Components](http://www.apogeerockets.com/Altus_Metrum_GPS.asp).

These are photos of our current production version, which includes an 
integrated GPS receiver with active patch antenna:

<a href="v1.0/cimg5972-crop.jpg"> <img src="v1.0/cimg5972-thumb.jpg"></a>
<a href="v1.0/cimg5974-crop.jpg"> <img src="v1.0/cimg5974-thumb.jpg"></a>

## Motivation ##

Bdale and Keith both own 
[BeeLine](http://www.bigredbee.com/BeeLine.htm)
trackers from 
[Big Red Bee](http://www.bigredbee.com), and are pretty happy with them.
They use a PIC processor and a TI CC1050 transmitter chip, and
operate in the ham radio 70cm band.

One weekend while attending a conference together, we got to wondering if 
we couldn't adapt one to use as a downlink for the
[AltusMetrum](../AltusMetrum/) altimeter board in addition to direction
finding after flight.  That caused us to start thinking about other things
in the design we might want to tweak, and before long we were working on the
design of a new tracker board derived from the BeeLine design.
Another friend at the same conference showed us a board he was working on 
using a different part in the same TI series, that integrated a transceiver
and CPU on the same chip.
It didn't take us long to realize that with such a part we could combine and
simplify things by building a new altimeter with integrated RF link!  And
after gaining some experience in 2009 with a first version, we realized we
always want GPS on board, which lead to our current second generation boards.

## Features ##

### User View ###

* Recording altimeter for model rocketry
* Supports dual deployment (can fire 2 ejection charges)
* 70cm ham-band transceiver for telemetry downlink
* Barometric pressure sensor good to 45k feet MSL
* 1-axis high-g accelerometer for motor characterization
* On-board, integrated GPS receiver
* On-board non-volatile memory for flight data storage
* USB for power, configuration, and data recovery
* Integrated support for LiPo rechargeable batteries
* Uses LiPo to fire e-matches, optional support for separate pyro battery
* 2.75 x 1 inch board designed to fit inside 29mm airframe coupler tube

### Developer View ###

* Hardware Features
	* [TI CC1111F32](http://focus.ti.com/docs/prod/folders/print/cc1111f32.html) Low Power RF System-on-Chip
		* Sub-1Ghz transceiver
		* 8051 MCU
		* 32k Flash
		* 4k RAM
		* USB 2.0
		* 6 12-bit analog inputs (11 bits with single-ended sensors)
		* 2 channels of serial I/O
		* digital I/O
	* [Atmel AT45DB081D](http://www.atmel.com/dyn/products/product_card.asp?part_id=3819) DataFlash memory
		* 1M x 8
		* 256 byte page size
		* SPI interface
		* other parts in this Atmel DataFlash series can optionally be used
	* [SkyTraq](http://www.skytraq.com.tw/) Venus634FLPx GPS receiver
		* on-board [Taoglas AP.17A.01](http://www.taoglas.com/antennas/GPS_Antennas/Internal_GPS_-_Active_Patch_Modules/) 
		  single-stage active patch antenna
		* U.FL connector with 3.3V DC can be re-purposed for optional external amplified antennas
		* async serial interface
	* [Freescale MP3H6115A](http://www.freescale.com/webapp/search.partparamdetail.framework?PART_NUMBER=MP3H6115A6U) pressure sensor
	* [Freescale MMA2202EG](http://www.freescale.com/webapp/search.partparamdetail.framework?PART_NUMBER=MMA2202EG) 50g accelerometer.  Can use 40-200g variants!
* Software Features
	* Written mostly in C with some 8051 assembler
	* Runs from on-chip flash, uses on-chip RAM, stores flight data to
		serial DataFlash chip
	* USB serial emulation for "console" interface
* Tools Used
	* [gEDA](http://www.gpleda.org/) for schematic capture and PCB layout
	* [SDCC](http://sdcc.sourceforge.net/) compiler and source debugger
* Licenses
	* The hardware is licensed under the [TAPR](http://www.tapr.org) [Open Hardware License](http://www.tapr.org/ohl.html)
	* The software is licensed [GPL version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html)

## [Production History](../production) ##

## [Flight Logs](flightlogs) ##

## Artifacts ##

The user manual for TeleMetrum is available in
[html](doc/telemetrum-doc.html) and [pdf](doc/telemetrum-doc.pdf)
formats.

The hardware design current gEDA files are available from 
[git.gag.com](http://git.gag.com) in the project 
[hw/telemetrum](http://git.gag.com/?p=hw/telemetrum;a=summary).  

Work on the next version proceeds on the master branch, with occasional
temporary branches created when Bdale is making some major / speculative
change.  The 'v0.2' and 'v0.1' branches document what we're actually flying 
right now on the two respective PCB revisions.  The 'ground' branch has a 
cut-down schematic used to generate the BOM for partially loading v0.1 boards 
to used on the ground.  We call the on-the-ground 
version '[TeleDongle](../TeleDongle)', and newer versions have their own PCB
design.

For those who don't have ready access to the gEDA suite, here are pdf snapshots
of the files for Production PCB version 1.0 in more easily readable form.  

* [schematic](v1.0/telemetrum.pdf)
* [pcb artwork](v1.0/telemetrum.pcb.pdf)
* [bill of materials](v1.0/partslist.csv)

Our [AltOS](../AltOS) firmware works well enough that we now routinely fly 
TeleMetrum with no backup.  Rockets with v0.1 boards have exceeded 50g 
acceleration, been above Mach 1, and reached altitudes greater 
than 12k feet AGL with great results.  Keith's ground station program 
called ao-view logs telemetry to disk, displays current and max values for 
key parameters during flight, and even includes voice synthesis 
during the flight so that our eyes can stay on the rockets!  We have post
flight analysis software that makes it easy to extract data from the board,
analyze it, and even generate KML files for viewing flights in GoogleEarth!
More details on the software, including full source code and pre-built packages
can be found on the [AltOS](../AltOS) page on this site.

## Future Plans ##

As of May 2010, version v1.0 is available for sale from the
[Garbee and Garbee](http://auric.gag.com) web store.

Because we understand that not everyone uses Linux, development of a new
cross-platform ground station program written in Java is underway for use with 
[AltOS](../AltOS).

## Problems ##

* The CC1111F32 is a 36-pin QFN package, which necessitates reflow 
  soldering.  Since we needed to reflow solder anyway, and because TI used 
  them in their reference design, we went a little crazy and used 0402 
  passive parts everywhere.  That means working under a microscope to 
  place parts!  Without an inspection microscope, loading and testing these
  boards might be impossible.

* The addition of on-board GPS in v0.2 means that the total power consumption
  can exceed the rate at which we draw power from the USB interface, 
  particularly when the GPS is in cold start mode.  This means a battery must 
  be attached during operation, and also that the battery will only charge 
  effectively from USB when the board is turned off.

## History ##

### v0.2 ###

These are photos of our second version, which included the integrated Venus
GPS receiver, but with a passive patch antenna that turned out to have 
disappointing performance due to our many PCB geometry constraints.  It also
used a voltage regulator with less capacity which we felt was marginal for
supporting the companion boards we have planned:

<a href="v0.2/cimg5164-cropped.jpg"> <img src="v0.2/cimg5164-thumb.jpg"></a>
<a href="v0.2/cimg5171-cropped.jpg"> <img src="v0.2/cimg5171-thumb.jpg"></a>

Other than cleaning up the silkscreen, the differences between v0.2 and our
current v1.0 boards were really quite small:

* 100ma LDO regulator instead of the current 150ma part
* no C38 footprint
* different value for C36 reset capacitor

The schematics and PCB artwork for this version are on the v0.2 branch in
our git repository, here are pdf copies for easy reference:

 * [schematic](v0.2/telemetrum.pdf)
 * [pcb artwork](v0.2/telemetrum.pcb.pdf)
 * [bill of materials](v0.2/partslist.csv)

### v0.1 ###

And this is a photo of our original board with serial port for off-board GPS,
without the big off-board 1000uF cap from the original ejection circuit:

<a href="v0.1/loadedpair.jpg"> <img src="v0.1/loadedpair-thumb.jpg"></a>

The differences between v0.1 and later boards were substantial:

* 2.5 x 1 inch board with all parts mounted on one side
* 4-pin PicoBlade serial port connector for attachment of external GPS module 
* USB connector projected approximately 3mm over the edge of the board
* Debug connector used 4 IC socket pins on 100 mil centers
* no companion board interface
* 50ma LDO regulator on early boards, later boards used a 100ma part
* [Microchip 25LC1024](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en520389) CMOS serial EEPROM instead of DataFlash
	* 128k x 8
	* SPI interface
* [Microchip MCP9700A](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en027103) discrete temperature sensor
* used 1000uF electrolytic capacitor charged to 5V for pyro supply
* two LEDs instead of one attached to CPU

The elimination of the discrete temperature sensor and second LED were
necessary to support the companion board interface added in v0.2.

The v0.1 artwork had three issues, two of which required physical rework
on each board.  All of these issues were fixed in v0.2.

* The USB connector footprint was placed wrong, so that the
  connector hung out over the edge of the board instead of being 
  flush.
* We needed chip select on the SPI memory.  To fix that, we gave up the 
  ability to put the accelerometer into self-test mode and used that 
  GPIO line to pull chip select on the memory, which required two
  cuts and two jumpers.  
* The igniter sense circuits each needed a second resistor to 
  complete the voltage divider so our 3.3V CPU ADC could read the 
  5V ejection voltage.  This was fixed by changing two resistor 
  values, and tacking two additional resistors onto the board
  with jumpers to ground.

The schematics and PCB artwork for this version as of the working-v0.1 tag
are available here are pdf copies for easy reference:

 * [schematic](v0.1/telemetrum.pdf)
 * [pcb artwork](v0.1/telemetrum.pcb.pdf)
 * [bill of materials](v0.1/telemetrum.bom)