add a photo
[web/altusmetrum] / TeleMetrum / index.mdwn
index f2176713980c3e3af2200c6d5155e5583a512e64..d5ed480c36fb2af66cbb491b0ab890dd80a651ca 100644 (file)
@@ -1,10 +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="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 ##
 
@@ -25,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 ##
 
@@ -34,57 +44,147 @@ simplify things by building a new altimeter with integrated RF link!
 * 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
+* 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
-* 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
+* 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
-       * 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
+* 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
-       * 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 ##
+### 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 CC1111F32 is a 36-pin QFN package, which necessitates reflow soldering.
+The elimination of the discrete temperature sensor and second LED were
+necessary to support the companion board interface added in v0.2.
 
-* 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!
+## [Production History](../production) ##
+
+## [Flight Logs](flightlogs) ##
+
+## 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.
+
+* 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 ##
 
 The hardware design current gEDA files are available from 
-[git.gag.com](http://git.gag.com).
-
-As of 6 January 2009, the raw boards are here, so we're nearly ready to try
-building our first prototype!  
+[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'.
+
+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 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 ##
+
+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...