License
+Copyright © 2018 Bdale Garbee and Keith Packard
+This document is released under the terms of the Creative Commons ShareAlike 3.0 License
+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+
1. Using MicroPeak
+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.
+
+
2. 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.
+2.1. Installing the MicroPeak software
+The MicroPeak application runs on Linux, Mac OS X and +Windows. You can download the latest version from +http://altusmetrum.org/MicroPeak
+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 +http://www.ftdichip.com/FTDrivers.htm
+2.2. 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 +<<_analyzing_micropeak_data> for more details on that.
+
+
2.3. 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.
+2.3.1. 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.
+2.3.2. 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.
+2.3.3. Raw Flight Data
+A table consisting of the both the raw barometric pressure +data and values computed from that for each recorded time.
+2.3.4. Configuring the Graph
+This selects which graph elements to show, and lets you +switch between metric and imperial units
+2.4. 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.
+-
+
- Log Directory +
-
+
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.
+
+ - Imperial Units +
-
+
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.
+
+ - Serial Debug +
-
+
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.
+
+ - Font Size +
-
+
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.
+
+ - Look & Feel +
-
+
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.
+3. Protecting MicroPeak from Sunlight
+The MS5607 barometric sensor is sensitive to direct light. When light +shines through the holes in the cover to the components inside, the +reported pressure can vary wildly from the actual pressure. This +causes the reported altitude to have errors of thousands of +feet.
+MicroPeak should be installed in an opaque compartment in the airframe +and not subjected to sunlight. Alternatively, a small piece of +adhesive-backed open-cell foam can be attached to the device so that +it covers the barometric sensor and protects it from direct light.
+Here’s what happens when MicroPeak is exposed to sunlight. At apogee, +I exposed MicroPeak to varying amounts of sunlight and you can see the +wild swings in altitude resulting from that:
+You can carefully cutting a piece of adhesive-backed open-cell foam +and attach it to MicroPeak. It’s important to press the adhesive to +the circuit board and not to the top of the barometric sensor or the +sensor may become blocked and not operate at all. Once you’ve attached +the foam, you should test MicroPeak on the ground to make sure it’s +still working.
+That MicroPeak was in the same barometric chamber as the one which +generated the above results and the resulting flight data looks +correct:
+Appendix A: 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.
+
+ Warning
+ |
++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 solid 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.
+One good solution is to use a small rectangle of Poron +50-30031-12X12P or equivalent to cover the sensor. This is an +open cell foam in 1/32" thickness with an adhesive backing. It +seems to do a good job of blocking sun while still allowing +airflow to and from the sensor internals.
+As with all other rocketry electronics, Altus Metrum +altimeters must be protected from exposure to corrosive motor +exhaust and ejection charge gasses.
+Appendix B: Technical Information
+B.1. 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.
+B.2. 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.
+B.3. 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.
+B.4. 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.
+B.5. 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.
+B.6. 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.
+Appendix C: 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.
+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.
+