# TeleMetrum
This is a recording dual-deploy altimeter for high power model rocketry
-with integrated telemetry link.
+with integrated GPS and 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>
+Production units will be available soon from the
+[Garbee and Garbee](http://auric.gag.com) web store.
+
+These are photos of our current version,
+which includes an integrated GPS receiver and patch antenna:
+
+<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>
+
+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>
## Motivation ##
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!
+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 ##
* Supports dual deployment (can fire 2 ejection charges)
* 70cm ham-band transceiver for telemetry downlink
* Barometric pressure sensor good to 45k feet MSL
-* Temperature sensor
* 1-axis high-g accelerometer for motor characterization
+* On-board, integrated GPS receiver
* 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
-* 2.5 x 1 inch board designed to fit inside 29mm airframe coupler tube
+* 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 ###
-* [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
-* [Microchip 25LC1024](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en520389) CMOS serial EEPROM
- * 128k x 8
- * SPI interface
-* Various Sensors
+* 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 passive patch antenna
+ * U.FL connector with 3.3V DC for optional external amplified antenna
+ * 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!
- * [Microchip MCP9700A](http://www.microchip.com/wwwproducts/Devices.aspx?dDocName=en027103) temperature sensor
-* Software Features (planned)
+* Software Features
* Written mostly in C with some 8051 assembler
* Runs from on-chip flash, uses on-chip RAM, stores flight data to
- serial EEPROM chip
+ serial DataFlash chip
* USB serial emulation for "console" interface
* Tools Used
* [gEDA](http://www.gpleda.org/) for schematic capture and PCB layout
* 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) ##
+### v0.1 Differences ###
+
+* 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
+* [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.
+
+## [Production History](../production) ##
## [Flight Logs](flightlogs) ##
place parts! Without an inspection microscope, loading and testing these
boards might be impossible.
-* The v0.1 artwork has the USB connector footprint placed wrong, so that the
- connector hangs out over the edge of the board instead of being flush with
- the edge.
-
-* 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.
+* 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.
+
+* 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.
## Artifacts ##
[git.gag.com](http://git.gag.com) in the project
[hw/telemetrum](http://git.gag.com/?p=hw/telemetrum;a=summary).
-The 'working-v0.1' tag on the master branch indicates what we're actually
-flying right now. The v0.1 PCB artwork, and schematic updated to include
-the parts Bdale loads for a functional board including the two cuts and jumps
-and two added resistors plus ground leads required as rework. 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](../TeleTerra) ground station design.
+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'.
For those who don't have ready access to the gEDA suite, here are pdf snapshots
-of files in more easily readable form. These are all as of the working-v0.1
-tag:
-
-* [schematic](telemetrum.pdf)
-* [pcb artwork](telemetrum.pcb.pdf)
-* [bill of materials](telemetrum.bom)
-
-
-We have firmware that is working well enough that we're starting to allow
-TeleMetrum to fire ejection charges. Keith has also written a ground station
-program called aoview that 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! The source to all
-this is available from [git.gag.com](http://git.gag.com) in the project
-[fw/altos](http://git.gag.com/?p=fw/altos;a=summary). This repository includes
-sources for the firmware, ground station program, and related utilities. Note
-that actually building these sources requires a modifified version of sdcc,
-for which we have not published diffs since they are in the process of being
-accepted upstream. Watch this space for more details.
+of files in more easily readable form.
+
+* These are from the v0.2 branch:
+ * [schematic](v0.2/telemetrum.pdf)
+ * [pcb artwork](v0.2/telemetrum.pcb.pdf)
+ * [bill of materials](v0.2/partslist.csv)
+* These are as of the working-v0.1 tag:
+ * [schematic](v0.1/telemetrum.pdf)
+ * [pcb artwork](v0.1/telemetrum.pcb.pdf)
+ * [bill of materials](v0.1/telemetrum.bom)
+
+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 ##
-Work is underway on a second revision of TeleMetrum with the following changes:
-
-* stretch board length by 0.25 inches
-* adjust USB connector position to be flush with edge of board
-* eliminate beeper
-* eliminate temperature sensor, since baro sensor is already compensated and there's a sensor on the cc1111
-* eliminate serial port connector
-* integrate MN5010HS GPS receiver and chip antenna on-board
-* change debug connector to 4 pin 1.25mm connector as was used for serial port
-* add 7 pin 1.25mm connector for companion board interface
-* use v_lipo as pyro power, eliminating the huge 1000uF capacitor and instead
- adding ballast capacitors on the 3.3V rail to prevent brownouts
-* add a rectangle of silk screen material for improved serial number labeling
-
-We hope to build and fly prototypes of this version in late 2009. If it works
-out as well as we hope, this version may be made available in assembled and
-tested form to others in the rocketry hobby who have expressed interest.
+As of early March 2010, three prototypes of v0.2 exist and have flown with
+great success. We will initiate a production run shortly with the goal of
+making TeleMetrum available in assembled and tested form to others in the
+rocketry hobby in time for the 2010 flying season.
+
+Because we understand that not everyone uses Linux, we are investigating
+the best way to make a cross-platform ground station program for use with
+[AltOS](../AltOS), perhaps in Java...