MicroPeak Owner's Manual
A recording altimeter for hobby rocketry
Keith
Packard
2014
Bdale Garbee and Keith Packard
This document is released under the terms of the
Creative Commons ShareAlike 3.0
license.
0.1
29 October 2012
Initial release with preliminary hardware.
1.0
18 November 2012
Updates for version 1.0 release.
1.1
12 December 2012
Add comments about EEPROM storage format and programming jig.
1.2
20 January 2013
Add documentation for the MicroPeak USB adapter board. Note
the switch to a Kalman filter for peak altitude
determination.
1.3.2
12 February 2014
Add a "Download" button to the main window, which makes it
quicker to access the download function. Update the data
download documentation to reflect the new MicroPeak USB
adapter design. Monitor data during download to let you see
if the USB connection is working at all by showing the
characters received from the MicroPeak USB adapter.
Acknowledgements
Thanks to John Lyngdal for suggesting that we build something like this.
Have fun using these products, and we hope to meet all of you
out on the rocket flight line somewhere.
Bdale Garbee, KB0G
NAR #87103, TRA #12201
Keith Packard, KD7SQG
NAR #88757, TRA #12200
Quick Start Guide
MicroPeak is designed to be easy to use. Requiring no external
components, flying takes just a few steps
Install the battery. Fit a CR1025 battery into the plastic
carrier. The positive (+) terminal should be towards the more
open side of the carrier. Slip the carrier into the battery
holder with the positive (+) terminal facing away from the
circuit board.
Install MicroPeak in your rocket. This can be as simple as
preparing a soft cushion of wadding inside a vented model payload
bay. Wherever you mount it, make sure you protect the
barometric sensor from corrosive ejection gasses as those
will damage the sensor, and shield it from light as that can
cause incorrect sensor readings.
Turn MicroPeak on. Slide the switch so that the actuator
covers the '1' printed on the board. MicroPeak will report
the maximum height of the last flight in decimeters using a
sequence of flashes on the LED. A sequence of short flashes
indicates one digit. A single long flash indicates zero. The
height is reported in decimeters, so the last digit will be
tenths of a meter. For example, if MicroPeak reports 5 4 4
3, then the maximum height of the last flight was 544.3m, or
1786 feet.
Finish preparing the rocket for flight. After the
previous flight data have been reported, MicroPeak waits for
one minute before starting to check for launch. This gives
you time to finish assembling the rocket. As those
activities might cause pressure changes inside the airframe,
MicroPeak might accidentally detect boost. If you need to do
anything to the airframe after the one minute window passes,
make sure to be careful not to disturb the altimeter. The
LED will remain dark during the one minute delay, but after
that, it will start blinking once every 3 seconds.
Fly the rocket. Once the rocket passes about 30m in height
(100 feet), the micro-controller will record the ground
pressure and track the pressure seen during the flight. In
this mode, the LED flickers rapidly. When the rocket lands,
and the pressure stabilizes, the micro-controller will record
the minimum pressure pressure experienced during the flight,
compute the height represented by the difference in air
pressure and blink that value out on the LED. After that,
MicroPeak powers down to conserve battery power.
Recover the data. Turn MicroPeak off and then back on. MicroPeak
will blink out the maximum height for the last flight. Turn
MicroPeak back off to conserve battery power.
Handling Precautions
All Altus Metrum products are sophisticated electronic devices.
When handled gently and properly installed in an air-frame, they
will deliver impressive results. However, as with all electronic
devices, there are some precautions you must take.
The CR1025 Lithium batteries have an
extraordinary power density. This is great because we can fly with
much less battery mass... but if they are punctured
or their contacts are allowed to short, they can and will release their
energy very rapidly!
Thus we recommend that you take some care when handling MicroPeak
to keep conductive material from coming in contact with the exposed metal elements.
The barometric sensor used in MicroPeak is sensitive to
sunlight. Please consider this when designing an
installation. Many model rockets with payload bays use clear
plastic for the payload bay. Replacing these with an opaque
cardboard tube, painting them, or wrapping them with a layer of
masking tape are all reasonable approaches to keep the sensor
out of direct sunlight.
The barometric sensor sampling ports must be able to "breathe",
both by not being covered by foam or tape or other materials that might
directly block the hole on the top of the sensor, and also by having a
suitable static vent to outside air.
As with all other rocketry electronics, Altus Metrum altimeters must
be protected from exposure to corrosive motor exhaust and ejection
charge gasses.
The MicroPeak USB adapter
MicroPeak stores barometric pressure information for the first
48 seconds of the flight in on-board non-volatile memory. The
contents of this memory can be downloaded to a computer using
the MicroPeak USB adapter.
Installing the MicroPeak software
The MicroPeak application runs on Linux, Mac OS X and
Windows. You can download the latest version from
.
On Mac OS X and Windows, the FTDI USB device driver needs to
be installed. A compatible version of this driver is included
with the MicroPeak application, but you may want to download a
newer version from .
Downloading Micro Peak data
Plug the MicroPeak USB adapter in to your computer.
Start the MicroPeak application.
Click on the Download button at the top of the window.
Select from the listed devices. There will probably be
only one.
The application will now wait until it receives valid data
from the MicroPeak USB adapter.
The MicroPeak USB adapter has a small phototransistor
under the hole in the center of the box.
Locate this, turn on the MicroPeak and place the orange LED on the MicroPeak
directly inside the hole, resting the MicroPeak itself on
the box. You should see the blue LED on the MicroPeak USB
adapter blinking in time with the orange LED on the
MicroPeak board itself.
After the maximum flight height is reported, MicroPeak will
pause for a few seconds, blink the LED four times rapidly
and then send the data in one long blur on the LED. The
MicroPeak application should receive the data. When it does,
it will present the data in a graph and offer to save the
data to a file. If not, you can power cycle the MicroPeak
board and try again.
Once the data are saved, a graph will be displayed with
height, speed and acceleration values computed from the
recorded barometric pressure data. See the next section
for more details on that.
Analyzing MicroPeak Data
The MicroPeak application can present flight data in the form
of a graph, a collection of computed statistics or in tabular
form.
MicroPeak collects raw barometric pressure data which is
then used to compute the remaining data. Altitude is computed
through a standard atmospheric model. Absolute error in this
data will be affected by local atmospheric
conditions. Fortunately, these errors tend to mostly cancel
out, so the error in the height computation is much smaller
than the error in altitude would be.
Speed and acceleration are computed by first smoothing the
height data with a Gaussian window averaging filter. For speed
data, this average uses seven samples. For acceleration data,
eleven samples are used. These were chosen to provide
reasonably smooth speed and acceleration data, which would
otherwise be swamped with noise.
The File menu has operations to open existing flight logs,
Download new data from MicroPeak, Save a copy of the flight
log to a new file, Export the tabular data (as seen in the Raw
Data tab) to a file, change the application Preferences, Close
the current window or close all windows and Exit the
application.
MicroPeak Graphs
Under the Graph tab, the height, speed and acceleration values
are displayed together. You can zoom in on the graph by
clicking and dragging to sweep out an area of
interest. Right-click on the plot to bring up a menu that will
let you save, copy or print the graph.
MicroPeak Flight Statistics
The Statistics tab presents overall data from the flight. Note
that the Maximum height value is taken from the minumum
pressure captured in flight, and may be different from the
apparant apogee value as the on-board data are sampled twice
as fast as the recorded values, or because the true apogee
occurred after the on-board memory was full. Each value is
presented in several units as appropriate.
Raw Data
A table consisting of the both the raw barometric pressure
data and values computed from that for each recorded time.
Configuring the Graph
This selects which graph elements to show, and lets you
switch between metric and imperial units
Setting MicroPeak Preferences
The MicroPeak application has a few user settings which are
configured through the Preferences dialog, which can be
accessed from the File menu.
The Log Directory is where flight data will be saved to
and loaded from by default. Of course, you can always
navigate to other directories in the file chooser windows,
this setting is just the starting point.
If you prefer to see your graph data in feet and
miles per hour instead of meters and meters per second,
you can select Imperial Units.
To see what data is actually arriving over the serial
port, start the MicroPeak application from a command
prompt and select the Serial Debug option. This can be
useful in debugging serial communication problems, but
most people need never choose this.
You can adjust the size of the text in the Statistics tab
by changing the Font size preference. There are three
settings, with luck one will both fit on your screen and
provide readable values.
The Look & feel menu shows a list of available
application appearance choices. By default, the MicroPeak
application tries to blend in with other applications, but
you may choose some other appearance if you like.
Note that MicroPeak shares a subset of the AltosUI
preferences, so if you use both of these applications, change
in one application will affect the other.
Technical Information
Barometric Sensor
MicroPeak uses the Measurement Specialties MS5607 sensor. This
has a range of 120kPa to 1kPa with an absolute accuracy of
150Pa and a resolution of 2.4Pa.
The pressure range corresponds roughly to an altitude range of
-1500m (-4900 feet) to 31000m (102000 feet), while the
resolution is approximately 20cm (8 inches) near sea level and
60cm (24in) at 10000m (33000 feet).
Ground pressure is computed from an average of 16 samples,
taken while the altimeter is at rest. The flight pressure used to
report maximum height is computed from a Kalman filter
designed to smooth out any minor noise in the sensor
values. The flight pressure recorded to non-volatile storage
is unfiltered, coming directly from the pressure sensor.
Micro-controller
MicroPeak uses an Atmel ATtiny85 micro-controller. This tiny
CPU contains 8kB of flash for the application, 512B of RAM for
temporary data storage and 512B of EEPROM for non-volatile
storage of previous flight data.
The ATtiny85 has a low-power mode which turns off all of the
clocks and powers down most of the internal components. In
this mode, the chip consumes only .1μA of power. MicroPeak
uses this mode once the flight has ended to preserve battery
power.
Lithium Battery
The CR1025 battery used by MicroPeak holds 30mAh of power,
which is sufficient to run for over 40 hours. Because
MicroPeak powers down on landing, run time includes only time
sitting on the launch pad or during flight.
The large positive terminal (+) is usually marked, while the
smaller negative terminal is not. Make sure you install the
battery with the positive terminal facing away from the
circuit board where it will be in contact with the metal
battery holder. A small pad on the circuit board makes contact
with the negative battery terminal.
Shipping restrictions may prevent us from including a CR1025
battery with MicroPeak. If so, many stores carry CR1025
batteries as they are commonly used in small electronic
devices such as flash lights.
Atmospheric Model
MicroPeak contains a fixed atmospheric model which is used to
convert barometric pressure into altitude. The model was
converted into a 469-element piece-wise linear approximation
which is then used to compute the altitude of the ground and
apogee. The difference between these represents the maximum
height of the flight.
The model assumes a particular set of atmospheric conditions,
which, while a reasonable average, cannot represent the changing
nature of the real atmosphere. Fortunately, for flights
reasonably close to the ground, the effect of this global
inaccuracy are largely canceled out when the computed ground
altitude is subtracted from the computed apogee altitude, so
the resulting height is more accurate than either the ground
or apogee altitudes.
Because the raw pressure data is recorded to non-volatile
storage, you can use that, along with a more sophisticated
atmospheric model, to compute your own altitude values.
Mechanical Considerations
MicroPeak is designed to be rugged enough for typical rocketry
applications. It contains two moving parts, the battery holder
and the power switch, which were selected for their
ruggedness.
The MicroPeak battery holder is designed to withstand impact
up to 150g without breaking contact (or, worse yet, causing
the battery to fall out). That means it should stand up to
almost any launch you care to try, and should withstand fairly
rough landings.
The power switch is designed to withstand up to 50g forces in
any direction. Because it is a sliding switch, orienting the
switch perpendicular to the direction of rocket travel will
serve to further protect the switch from launch forces.
On-board data storage
The ATtiny85 has 512 bytes of non-volatile storage, separate
from the code storage memory. The MicroPeak firmware uses this
to store information about the last completed
flight. Barometric measurements from the ground before launch
and at apogee are stored, and used at power-on to compute the
height of the last flight.
In addition to the data used to present the height of the last
flight, MicroPeak also stores barometric information sampled
at regular intervals during the flight. This is the
information captured with the MicroPeak USB adapter. It can
also be read from MicroPeak through any AVR programming
tool.
MicroPeak EEPROM Data Storage
Address
Size (bytes)
Description
0x000
4
Average ground pressure (Pa)
0x004
4
Minimum flight pressure (Pa)
0x008
2
Number of in-flight samples
0x00a … 0x1fe
2
Instantaneous flight pressure (Pa) low 16 bits
All EEPROM data are stored least-significant byte first. The
instantaneous flight pressure data are stored without the
upper 16 bits of data. The upper bits can be reconstructed
from the previous sample, assuming that pressure doesn't
change by more more than 32kPa in a single sample
interval. Note that this pressure data is not
filtered in any way, while both the recorded ground and apogee
pressure values are, so you shouldn't expect the minimum
instantaneous pressure value to match the recorded minimum
pressure value exactly.
MicroPeak samples pressure every 96ms, but stores only every
other sample in the EEPROM. This provides for 251 pressure
samples at 192ms intervals, or 48.192s of storage. The clock
used for these samples is a factory calibrated RC circuit
built into the ATtiny85 and is accurate only to within ±10% at
25°C. So, you can count on the pressure data being accurate,
but speed or acceleration data computed from this will be
limited by the accuracy of this clock.
MicroPeak Programming Interface
MicroPeak exposes a standard 6-pin AVR programming interface,
but not using the usual 2x3 array of pins on 0.1"
centers. Instead, there is a single row of tiny 0.60mm ×
0.85mm pads on 1.20mm centers exposed near the edge of the
circuit board. We couldn't find any connector that was
small enough to include on the circuit board.
In lieu of an actual connector, the easiest way to connect to
the bare pads is through a set of Pogo pins. These
spring-loaded contacts are designed to connect in precisely
this way. We've designed a programming jig, the MicroPeak
Pogo Pin board which provides a standard AVR interface on one
end and a recessed slot for MicroPeak to align the board with
the Pogo Pins.
The MicroPeak Pogo Pin board is not a complete AVR programmer,
it is an interface board that provides a 3.3V regulated power
supply to run the MicroPeak via USB and a standard 6-pin AVR
programming interface with the usual 2x3 grid of pins on 0.1"
centers. This can be connected to any AVR programming
dongle.
The AVR programming interface cannot run faster than ¼ of the
AVR CPU clock frequency. Because MicroPeak runs at 250kHz to
save power, you must configure your AVR programming system to
clock the AVR programming interface at no faster than
62.5kHz, or a clock period of 32µS.