1 <?xml version="1.0" encoding="utf-8" ?>
2 <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
3 "/usr/share/xml/docbook/schema/dtd/4.5/docbookx.dtd">
5 <title>MicroPeak Owner's Manual</title>
6 <subtitle>A recording altimeter for hobby rocketry</subtitle>
9 <firstname>Keith</firstname>
10 <surname>Packard</surname>
14 <holder>Bdale Garbee and Keith Packard</holder>
18 <imagedata fileref="micropeak-dime.jpg" width="6in"/>
23 This document is released under the terms of the
24 <ulink url="http://creativecommons.org/licenses/by-sa/3.0/">
25 Creative Commons ShareAlike 3.0
32 <revnumber>0.1</revnumber>
33 <date>29 October 2012</date>
35 Initial release with preliminary hardware.
39 <revnumber>1.0</revnumber>
40 <date>18 November 2012</date>
42 Updates for version 1.0 release.
46 <revnumber>1.1</revnumber>
47 <date>12 December 2012</date>
49 Add comments about EEPROM storage format and programming jig.
53 <revnumber>1.2</revnumber>
54 <date>20 January 2013</date>
56 Add documentation for the MicroPeak USB adapter board. Note
57 the switch to a Kalman filter for peak altitude
62 <revnumber>1.3.2</revnumber>
63 <date>12 February 2014</date>
65 Add a "Download" button to the main window, which makes it
66 quicker to access the download function. Update the data
67 download documentation to reflect the new MicroPeak USB
68 adapter design. Monitor data during download to let you see
69 if the USB connection is working at all by showing the
70 characters received from the MicroPeak USB adapter.
76 <title>Acknowledgements</title>
78 Thanks to John Lyngdal for suggesting that we build something like this.
81 Have fun using these products, and we hope to meet all of you
82 out on the rocket flight line somewhere.
85 NAR #87103, TRA #12201
88 NAR #88757, TRA #12200
93 <title>Quick Start Guide</title>
95 MicroPeak is designed to be easy to use. Requiring no external
96 components, flying takes just a few steps
101 Install the battery. Fit a CR1025 battery into the plastic
102 carrier. The positive (+) terminal should be towards the more
103 open side of the carrier. Slip the carrier into the battery
104 holder with the positive (+) terminal facing away from the
110 <imagedata fileref="micropeak-back.jpg" width="4.5in"/>
117 Install MicroPeak in your rocket. This can be as simple as
118 preparing a soft cushion of wadding inside a vented model payload
119 bay. Wherever you mount it, make sure you protect the
120 barometric sensor from corrosive ejection gasses as those
121 will damage the sensor, and shield it from light as that can
122 cause incorrect sensor readings.
127 Turn MicroPeak on. Slide the switch so that the actuator
128 covers the '1' printed on the board. MicroPeak will report
129 the maximum height of the last flight in decimeters using a
130 sequence of flashes on the LED. A sequence of short flashes
131 indicates one digit. A single long flash indicates zero. The
132 height is reported in decimeters, so the last digit will be
133 tenths of a meter. For example, if MicroPeak reports 5 4 4
134 3, then the maximum height of the last flight was 544.3m, or
140 Finish preparing the rocket for flight. After the
141 previous flight data have been reported, MicroPeak waits for
142 one minute before starting to check for launch. This gives
143 you time to finish assembling the rocket. As those
144 activities might cause pressure changes inside the airframe,
145 MicroPeak might accidentally detect boost. If you need to do
146 anything to the airframe after the one minute window passes,
147 make sure to be careful not to disturb the altimeter. The
148 LED will remain dark during the one minute delay, but after
149 that, it will start blinking once every 3 seconds.
154 Fly the rocket. Once the rocket passes about 30m in height
155 (100 feet), the micro-controller will record the ground
156 pressure and track the pressure seen during the flight. In
157 this mode, the LED flickers rapidly. When the rocket lands,
158 and the pressure stabilizes, the micro-controller will record
159 the minimum pressure pressure experienced during the flight,
160 compute the height represented by the difference in air
161 pressure and blink that value out on the LED. After that,
162 MicroPeak powers down to conserve battery power.
167 Recover the data. Turn MicroPeak off and then back on. MicroPeak
168 will blink out the maximum height for the last flight. Turn
169 MicroPeak back off to conserve battery power.
175 <title>Handling Precautions</title>
177 All Altus Metrum products are sophisticated electronic devices.
178 When handled gently and properly installed in an air-frame, they
179 will deliver impressive results. However, as with all electronic
180 devices, there are some precautions you must take.
183 The CR1025 Lithium batteries have an
184 extraordinary power density. This is great because we can fly with
185 much less battery mass... but if they are punctured
186 or their contacts are allowed to short, they can and will release their
188 Thus we recommend that you take some care when handling MicroPeak
189 to keep conductive material from coming in contact with the exposed metal elements.
192 The barometric sensor used in MicroPeak is sensitive to
193 sunlight. Please consider this when designing an
194 installation. Many model rockets with payload bays use clear
195 plastic for the payload bay. Replacing these with an opaque
196 cardboard tube, painting them, or wrapping them with a layer of
197 masking tape are all reasonable approaches to keep the sensor
198 out of direct sunlight.
201 The barometric sensor sampling ports must be able to "breathe",
202 both by not being covered by foam or tape or other materials that might
203 directly block the hole on the top of the sensor, and also by having a
204 suitable static vent to outside air.
207 As with all other rocketry electronics, Altus Metrum altimeters must
208 be protected from exposure to corrosive motor exhaust and ejection
213 <title>The MicroPeak USB adapter</title>
217 <imagedata fileref="MicroPeakUSB-2.0.jpg" width="4.5in"/>
222 MicroPeak stores barometric pressure information for the first
223 48 seconds of the flight in on-board non-volatile memory. The
224 contents of this memory can be downloaded to a computer using
225 the MicroPeak USB adapter.
228 <title>Installing the MicroPeak software</title>
230 The MicroPeak application runs on Linux, Mac OS X and
231 Windows. You can download the latest version from
232 <ulink url="http://altusmetrum.org/AltOS"/>.
235 On Mac OS X and Windows, the FTDI USB device driver needs to
236 be installed. A compatible version of this driver is included
237 with the MicroPeak application, but you may want to download a
238 newer version from <ulink
239 url="http://www.ftdichip.com/FTDrivers.htm"/>.
243 <title>Downloading Micro Peak data</title>
247 Plug the MicroPeak USB adapter in to your computer.
251 <?dbfo keep-together="always"?>
253 Start the MicroPeak application.
258 <imagedata fileref="micropeak-nofont.svg" width="0.5in"/>
264 <?dbfo keep-together="always"?>
266 Click on the Download button at the top of the window.
271 <imagedata fileref="micropeak-app.png" width="4.5in"/>
277 <?dbfo keep-together="always"?>
279 Select from the listed devices. There will probably be
285 <imagedata fileref="micropeak-device-dialog.png" width="2.3in"/>
292 The application will now wait until it receives valid data
293 from the MicroPeak USB adapter.
298 <imagedata fileref="micropeak-download.png" width="2in"/>
303 The MicroPeak USB adapter has a small phototransistor
304 under the hole in the center of the box.
305 Locate this, turn on the MicroPeak and place the orange LED on the MicroPeak
306 directly inside the hole, resting the MicroPeak itself on
307 the box. You should see the blue LED on the MicroPeak USB
308 adapter blinking in time with the orange LED on the
309 MicroPeak board itself.
314 <imagedata fileref="MicroPeakUSB-2.0-inuse.jpg" width="4.5in"/>
320 <?dbfo keep-together="always"?>
322 After the maximum flight height is reported, MicroPeak will
323 pause for a few seconds, blink the LED four times rapidly
324 and then send the data in one long blur on the LED. The
325 MicroPeak application should receive the data. When it does,
326 it will present the data in a graph and offer to save the
327 data to a file. If not, you can power cycle the MicroPeak
333 <imagedata fileref="micropeak-save-dialog.png" width="2.3in"/>
339 <?dbfo keep-together="always"?>
341 Once the data are saved, a graph will be displayed with
342 height, speed and acceleration values computed from the
343 recorded barometric pressure data. See the next section
344 for more details on that.
350 <title>Analyzing MicroPeak Data</title>
352 The MicroPeak application can present flight data in the form
353 of a graph, a collection of computed statistics or in tabular
357 MicroPeak collects raw barometric pressure data which is
358 then used to compute the remaining data. Altitude is computed
359 through a standard atmospheric model. Absolute error in this
360 data will be affected by local atmospheric
361 conditions. Fortunately, these errors tend to mostly cancel
362 out, so the error in the height computation is much smaller
363 than the error in altitude would be.
366 Speed and acceleration are computed by first smoothing the
367 height data with a Gaussian window averaging filter. For speed
368 data, this average uses seven samples. For acceleration data,
369 eleven samples are used. These were chosen to provide
370 reasonably smooth speed and acceleration data, which would
371 otherwise be swamped with noise.
374 The File menu has operations to open existing flight logs,
375 Download new data from MicroPeak, Save a copy of the flight
376 log to a new file, Export the tabular data (as seen in the Raw
377 Data tab) to a file, change the application Preferences, Close
378 the current window or close all windows and Exit the
382 <title>MicroPeak Graphs</title>
384 Under the Graph tab, the height, speed and acceleration values
385 are displayed together. You can zoom in on the graph by
386 clicking and dragging to sweep out an area of
387 interest. Right-click on the plot to bring up a menu that will
388 let you save, copy or print the graph.
393 <imagedata fileref="micropeak-graph.png" width="4.5in"/>
399 <title>MicroPeak Flight Statistics</title>
401 The Statistics tab presents overall data from the flight. Note
402 that the Maximum height value is taken from the minumum
403 pressure captured in flight, and may be different from the
404 apparant apogee value as the on-board data are sampled twice
405 as fast as the recorded values, or because the true apogee
406 occurred after the on-board memory was full. Each value is
407 presented in several units as appropriate.
412 <imagedata fileref="micropeak-statistics.png" width="4.5in"/>
418 <title>Raw Data</title>
420 A table consisting of the both the raw barometric pressure
421 data and values computed from that for each recorded time.
426 <imagedata fileref="micropeak-raw-data.png" width="4.5in"/>
432 <title>Configuring the Graph</title>
434 This selects which graph elements to show, and lets you
435 switch between metric and imperial units
440 <imagedata fileref="micropeak-graph-configure.png" width="4.5in"/>
447 <title>Setting MicroPeak Preferences</title>
451 <imagedata fileref="micropeak-preferences.png" width="1.8in"/>
456 The MicroPeak application has a few user settings which are
457 configured through the Preferences dialog, which can be
458 accessed from the File menu.
462 The Log Directory is where flight data will be saved to
463 and loaded from by default. Of course, you can always
464 navigate to other directories in the file chooser windows,
465 this setting is just the starting point.
470 If you prefer to see your graph data in feet and
471 miles per hour instead of meters and meters per second,
472 you can select Imperial Units.
477 To see what data is actually arriving over the serial
478 port, start the MicroPeak application from a command
479 prompt and select the Serial Debug option. This can be
480 useful in debugging serial communication problems, but
481 most people need never choose this.
486 You can adjust the size of the text in the Statistics tab
487 by changing the Font size preference. There are three
488 settings, with luck one will both fit on your screen and
489 provide readable values.
494 The Look & feel menu shows a list of available
495 application appearance choices. By default, the MicroPeak
496 application tries to blend in with other applications, but
497 you may choose some other appearance if you like.
503 Note that MicroPeak shares a subset of the AltosUI
504 preferences, so if you use both of these applications, change
505 in one application will affect the other.
510 <title>Technical Information</title>
512 <title>Barometric Sensor</title>
514 MicroPeak uses the Measurement Specialties MS5607 sensor. This
515 has a range of 120kPa to 1kPa with an absolute accuracy of
516 150Pa and a resolution of 2.4Pa.
519 The pressure range corresponds roughly to an altitude range of
520 -1500m (-4900 feet) to 31000m (102000 feet), while the
521 resolution is approximately 20cm (8 inches) near sea level and
522 60cm (24in) at 10000m (33000 feet).
525 Ground pressure is computed from an average of 16 samples,
526 taken while the altimeter is at rest. The flight pressure used to
527 report maximum height is computed from a Kalman filter
528 designed to smooth out any minor noise in the sensor
529 values. The flight pressure recorded to non-volatile storage
530 is unfiltered, coming directly from the pressure sensor.
534 <title>Micro-controller</title>
536 MicroPeak uses an Atmel ATtiny85 micro-controller. This tiny
537 CPU contains 8kB of flash for the application, 512B of RAM for
538 temporary data storage and 512B of EEPROM for non-volatile
539 storage of previous flight data.
542 The ATtiny85 has a low-power mode which turns off all of the
543 clocks and powers down most of the internal components. In
544 this mode, the chip consumes only .1μA of power. MicroPeak
545 uses this mode once the flight has ended to preserve battery
550 <title>Lithium Battery</title>
552 The CR1025 battery used by MicroPeak holds 30mAh of power,
553 which is sufficient to run for over 40 hours. Because
554 MicroPeak powers down on landing, run time includes only time
555 sitting on the launch pad or during flight.
558 The large positive terminal (+) is usually marked, while the
559 smaller negative terminal is not. Make sure you install the
560 battery with the positive terminal facing away from the
561 circuit board where it will be in contact with the metal
562 battery holder. A small pad on the circuit board makes contact
563 with the negative battery terminal.
566 Shipping restrictions may prevent us from including a CR1025
567 battery with MicroPeak. If so, many stores carry CR1025
568 batteries as they are commonly used in small electronic
569 devices such as flash lights.
573 <title>Atmospheric Model</title>
575 MicroPeak contains a fixed atmospheric model which is used to
576 convert barometric pressure into altitude. The model was
577 converted into a 469-element piece-wise linear approximation
578 which is then used to compute the altitude of the ground and
579 apogee. The difference between these represents the maximum
580 height of the flight.
583 The model assumes a particular set of atmospheric conditions,
584 which, while a reasonable average, cannot represent the changing
585 nature of the real atmosphere. Fortunately, for flights
586 reasonably close to the ground, the effect of this global
587 inaccuracy are largely canceled out when the computed ground
588 altitude is subtracted from the computed apogee altitude, so
589 the resulting height is more accurate than either the ground
593 Because the raw pressure data is recorded to non-volatile
594 storage, you can use that, along with a more sophisticated
595 atmospheric model, to compute your own altitude values.
599 <title>Mechanical Considerations</title>
601 MicroPeak is designed to be rugged enough for typical rocketry
602 applications. It contains two moving parts, the battery holder
603 and the power switch, which were selected for their
607 The MicroPeak battery holder is designed to withstand impact
608 up to 150g without breaking contact (or, worse yet, causing
609 the battery to fall out). That means it should stand up to
610 almost any launch you care to try, and should withstand fairly
614 The power switch is designed to withstand up to 50g forces in
615 any direction. Because it is a sliding switch, orienting the
616 switch perpendicular to the direction of rocket travel will
617 serve to further protect the switch from launch forces.
621 <title>On-board data storage</title>
623 The ATtiny85 has 512 bytes of non-volatile storage, separate
624 from the code storage memory. The MicroPeak firmware uses this
625 to store information about the last completed
626 flight. Barometric measurements from the ground before launch
627 and at apogee are stored, and used at power-on to compute the
628 height of the last flight.
631 In addition to the data used to present the height of the last
632 flight, MicroPeak also stores barometric information sampled
633 at regular intervals during the flight. This is the
634 information captured with the MicroPeak USB adapter. It can
635 also be read from MicroPeak through any AVR programming
639 <title>MicroPeak EEPROM Data Storage</title>
640 <tgroup cols='3' align='center' colsep='1' rowsep='1'>
641 <colspec align='center' colwidth='2*' colname='Address'/>
642 <colspec align='center' colwidth='*' colname='Size (bytes)'/>
643 <colspec align='left' colwidth='7*' colname='Description'/>
646 <entry align='center'>Address</entry>
647 <entry align='center'>Size (bytes)</entry>
648 <entry align='center'>Description</entry>
655 <entry>Average ground pressure (Pa)</entry>
660 <entry>Minimum flight pressure (Pa)</entry>
665 <entry>Number of in-flight samples</entry>
668 <entry>0x00a … 0x1fe</entry>
670 <entry>Instantaneous flight pressure (Pa) low 16 bits</entry>
676 All EEPROM data are stored least-significant byte first. The
677 instantaneous flight pressure data are stored without the
678 upper 16 bits of data. The upper bits can be reconstructed
679 from the previous sample, assuming that pressure doesn't
680 change by more more than 32kPa in a single sample
681 interval. Note that this pressure data is <emphasis>not</emphasis>
682 filtered in any way, while both the recorded ground and apogee
683 pressure values are, so you shouldn't expect the minimum
684 instantaneous pressure value to match the recorded minimum
685 pressure value exactly.
688 MicroPeak samples pressure every 96ms, but stores only every
689 other sample in the EEPROM. This provides for 251 pressure
690 samples at 192ms intervals, or 48.192s of storage. The clock
691 used for these samples is a factory calibrated RC circuit
692 built into the ATtiny85 and is accurate only to within ±10% at
693 25°C. So, you can count on the pressure data being accurate,
694 but speed or acceleration data computed from this will be
695 limited by the accuracy of this clock.
699 <title>MicroPeak Programming Interface</title>
701 MicroPeak exposes a standard 6-pin AVR programming interface,
702 but not using the usual 2x3 array of pins on 0.1"
703 centers. Instead, there is a single row of tiny 0.60mm ×
704 0.85mm pads on 1.20mm centers exposed near the edge of the
705 circuit board. We couldn't find any connector that was
706 small enough to include on the circuit board.
709 In lieu of an actual connector, the easiest way to connect to
710 the bare pads is through a set of Pogo pins. These
711 spring-loaded contacts are designed to connect in precisely
712 this way. We've designed a programming jig, the MicroPeak
713 Pogo Pin board which provides a standard AVR interface on one
714 end and a recessed slot for MicroPeak to align the board with
718 The MicroPeak Pogo Pin board is not a complete AVR programmer,
719 it is an interface board that provides a 3.3V regulated power
720 supply to run the MicroPeak via USB and a standard 6-pin AVR
721 programming interface with the usual 2x3 grid of pins on 0.1"
722 centers. This can be connected to any AVR programming
726 The AVR programming interface cannot run faster than ¼ of the
727 AVR CPU clock frequency. Because MicroPeak runs at 250kHz to
728 save power, you must configure your AVR programming system to
729 clock the AVR programming interface at no faster than
730 62.5kHz, or a clock period of 32µS.
735 <!-- LocalWords: Altusmetrum MicroPeak