summaryrefslogtreecommitdiff
path: root/TeleMetrum/index.mdwn
blob: 98320d840e9843517c7bea67ccd28ca88c321478 (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
# TeleMetrum

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

<a href="loadedpair.jpg"> <img src="loadedpair-thumb.jpg"></a>
<a href="rawfront.jpg"> <img src="rawfront-thumb.jpg"></a>
<a href="rawback.jpg"> <img src="rawback-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!

## Features ##

### User View ###

* Recording altimeter for model rocketry
* Supports dual deployment (can fire 2 ejection charges)
* 70cm ham-band transceiver for telemetry downlink
* Primary operations based on pressure sensor
* Temperature sensor
* 1-axis high-g accelerometer for motor characterization
* On-board non-volatile memory for flight data storage
* Serial port for attachment of GPS module
* USB for power, configuration, and data recovery
* Integrated support for LiPo rechargeable batteries
* Designed to fit 29mm airframe coupler tube

### Developer View ###

* [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
	* analog, digital, and serial I/O
* [Microchip 25LC1024](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en520389) CMOS serial EEPROM
	* 128k x 8
	* SPI interface
* Various Sensors
	* [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!
	* [Microchip MCP9700A](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en027103) temperature sensor
* Software Features (planned)
	* Written mostly in C with some 8051 assembler
	* Runs from on-chip flash, uses on-chip RAM, stores flight data to
		serial EEPROM chip
	* USB serial emulation for "console" interface
	* USB mass storage emulation for data recovery
* Tools Used
	* [gEDA](http://www.gpleda.org/) for schematic capture and PCB layout
	* [SDCC](http://sdcc.sourceforge.net/) compiler and source debugger
	* [FreeRTOS](http://www.freertos.org/) kernel
* 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)

## 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 v0.1 artwork has two issues that require cuts and jumps.  The first is
  that we need chip select on the SPI memory.  To fix that, we give up the 
  ability to put the accelerometer into self-test mode and use that GPIO line
  to pull chip select on the memory.  The second is that the igniter sense
  circuits each need a second resistor to complete the voltage divider so our
  3.3V CPU ADC can read the 5V ejection voltage.  This is fixed by changing
  two resistor values, and tacking two additional resistors onto the board
  with jumpers to ground.

## Artifacts ##

The hardware design current gEDA files are available from 
[git.gag.com](http://git.gag.com).  The 'fab' tag on the master branch reflects
the artwork as sent out for PCB fab.  The 'loaded' tag on the master branch
indicates the parts Bdale loads for a functional board, but the schematic
does not reflect the cuts and jumps or added resistors.  The 'nextcut' branch 
is work towards our next PCB revision.  The 'ground' branch has a cut-down
schematic used to generate the BOM for partially loading boards to use in
the matching TeleTerra ground station design.

Keith has working data collection firmware, however the firmware is under a 
massive, rapid rewrite to eliminate FreeRTOS which is much more generalized 
and capable than we need... and consuming more system resources than we 
can tolerate.  As soon as we're over this transition, the sourcecode to the
firmware and related tools will also be made available.

As of 11 April 2009, the first two boards are fully checked out, we have some
initial firmware capable of data logging ready, and as soon as we get a good
day to fly we hope to log our first flight data!