add a photo
[web/altusmetrum] / TeleMetrum / index.mdwn
index 8f5eb49a1ceb1890ecc8c513eb221a74bf51a357..d5ed480c36fb2af66cbb491b0ab890dd80a651ca 100644 (file)
@@ -1,11 +1,18 @@
 # 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>
+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 ##
 
@@ -26,7 +33,9 @@ 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!
+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 ##
 
@@ -36,36 +45,41 @@ simplify things by building a new altimeter with integrated RF link!
 * 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
@@ -74,7 +88,24 @@ simplify things by building a new altimeter with integrated RF link!
        * 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) ##
 
@@ -87,18 +118,27 @@ simplify things by building a new altimeter with integrated RF link!
   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 ##
 
@@ -106,51 +146,45 @@ 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).  
 
-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 February 2010, three prototypes of v0.2 are done and working on 
+the bench.  We hope to flight test them shortly, then arrange a production
+run in time to make TeleMetrum available in assembled and tested form to 
+others in the rocketry hobby who have expressed interest in time for the 
+2010 flying season.
+
+Because we understand that not everyone uses Linux, we've started discussing 
+the best way to make a cross-platform ground station program for use with 
+[AltOS](../AltOS), perhaps in Java...