Sourcing Components for Rocket Device
There are commercial products that can already track three dimensional position — they’re called Inertial Measurement Units (IMU). It would be an easy matter to drop one of these into a rocket to track its flight. Unfortunately, the price of these products is prohibitive for a hobbyist: a unit that is half as functional as ours (upper limit of 10g acceleration, not enough for a rocket) costs upwards of 500 dollars. We think it is possible to build an IMU with off-the-shelf components for a reasonable price. The deciding factor will be the accuracy and validity of the results obtained. A major portion of building this device is the sourcing of components.

Schmartboard Technology
Sourcing Accelerometers: Most accelerometers are designed for use in laptops and cell phones. Because of this, they are designed to be small. Their size makes it extremely difficult to solder for the average hobbyist without a reflow oven (think toaster oven for microchips) or a really hot blow dryer. A company that has sponsored our efforts, Schmartboard, has developed a product that makes soldering easy.
A schmartboard contains solder and small gutters into which the tiny pins of these accelerometers drop into. From there it is a small matter of heating the junction with a regular soldering iron. The board contains drilled holes through which headers can be placed to plug the sensors into a through-hole board. From start to finish, attaching a chip to one of these boards should take no longer than five minutes. The downside of this convenience is size: compared to a standard breakout board (board without the pre-placed solder), the Schmartboard is much larger. Since we are working with size constraints (the device has fit into a rocket), it will be necessary to take a dremel to the boards to cut them down to size.
The accelerometers were sampled from Freescale, who sent us two 50g (upper accleration limit) single-axis accelerometers (MMA2202EG) and a two three-axis 10g accelerometers. Small rockets can reach upwards of 100g, so these sensors are by no means excessive. The 50g accelerometer is in a SOIC (surface outline IC) package, which means its a small DIP chip that has “gull wing” leads that don’t poke through the PC board. The smaller accelerometer is QFN (quad flat no lead) and has no protruding pins. It’s also very small, and it turns out that the chip has non standard lead pitch. Normally, QFN16 (16 leads) chips have a distance (pitch) of .65mm between pins. The chip we received has a pitch of 1mm, making it impossible to use the Schmartboard for that chip. It is possible to solder wires directly to a QFN chip provided the wires are thin enough (magnet wires). A good idea would be to glue the QFN chip to the adapter board but make the connections with magnet wire.
Sourcing Gyroscopes: A device measuring angular movement is called a gyroscope. If you calibrate one by holding the rocket still, you can use angular movement to figure out the rockets orientation. These devices have some limitations, for example, they have a maximum angular rate measured in degrees per second. If the gyroscope spins any faster than that (a typical high rate gyro has a limit of 500 degrees per second — more than a full turn a second), you will lose track of the rockets position.
The catch to these sensors is their price. They’re much more expensive than accelerometers, and most of them measure one axis per chip (a company called Invensense has a dual-axis gyro, though). Our rocket needs only two axis since we don’t care if the rocket is spinning around its main axis (it’s a rod). Of all the companies we’ve asked for samples of gyroscopes (Invensense, Honeywell), none have obliged due to the high price of the devices. Many companies offered gyroscopes in packages that we had no hope of soldering (BGA, LGA… are you serious?).
Without the gyroscopes, using acceleration to determine position is very inaccurate. The only hope is the rockets intense upward thrust: the rocket barely moves any direction but up. Ideally, the rocket will fly straight up and we will only need the upward linear acceleration to determine its altitude. The two horizontal axis would read zero (they’re perpendicular to the ground — gravity has no effect on them), and the vertical measurement would be valid. The further the horizontal acceleration readings stray from zero, the more inaccurate the vertical readings will be.
Imagine taking a curvy path instead of a straight one when your eyes are closed. If you take the curvy path, you will no doubt get lost. If you go straight, you will probably make your target. You will know that you’re walking in both cases, but you will only know your position if you were walking straight. If the rocket travels straight, our tracking device will be accurate. If it doesn’t go straight up, the results won’t be very valid.
Heuristics without Gyroscopes
One option we’ve considered was using the horizontal accelerometer readings to determine the tilt of the rocket. A horizontal acceleration (read: gravity) reading will be zero since it is perpendicular to the gravity of the earth. As the rocket tilts to the side, the horizontal (X, Z) readings will become positive: the earths gravity will begin affecting them. When the rocket falls over completely to the right, one of the horizontal readings will become 1 (1g — earth’s gravity). Since these readings vary with the tilt of the rocket, it would be possible to bypass the gyroscopes to determine the rockets position. But these readings are only valid when the rocket is not accelerating. This is the trick the Wii Remote (wiimote) uses to determine it’s position (along with other heuristics involving arm length and room size). But on a rocket, any declination from vertical will not only change the horizontal readings due to tilt, but also due to the fact that the rocket is moving sideways!
Complete inertial guidance needs six degrees of freedom (DOF). On a rocket, you can get by with five degrees of freedom: you don’t care if the rocket is spinning like a top. Without gyroscopes, we’ll only be able to track the rocket in one dimension: up. That’s one degree of freedom. We’ll be able to determine the rockets speed at any point in time, velocity, maximum height, deployment of parachute, burnout, thrust of the motor, and other factors. But all these variable will be determined with questionable accuracy: the rocket will never be moving only up.
Sourcing Pressure Sensors: a secondary method of determining apogee is by measuring the pressure at the apex of the rockets flight. Since the flight computer will be stored in the nose cone of the rocket, the expulsion of the parachute will expose the pressure sensor to the atmosphere. There is a relationship between pressure and altitude:

There are three main types of pressure sensors: absolute, gauge, and differential. Absolute pressure is a measurement of the air pressure relative to zero. An absolute sensor has two chambers — one with a vacuum and one exposed to the atmosphere. A diaphragm will bend towards the vacuum in proportion to the atmospheric pressure. At sea level, this sensor will read 101.325 kPa.
A differential sensor has two chambers exposed to the atmosphere. This type of sensor is used in pneumatic devices: one chamber measures the pressure of one gas, while the other chamber measures a second pressure. The difference in pressures between the two liquid will bend a diaphragm slightly, causing a change in the output voltage of the pressure sensor.
A gauge sensor measures pressure relative to atmosphere: one chamber is sealed with 1 atmosphere of pressure and the other is exposed to whatever you’re measuring. This is the type of sensor that you would use for tire pressure: it would ignore the 1 atmosphere (101.325 kPa,760 torr) of ambient pressure.
In all our wisdom, we have sampled a differential sensor from Freescale. We can mount the chip because it is in M-Pak packaging, which is the proprietary name for a 4-pin SOIC package. Sadly, this sensor will always read zero since it will be measuring the difference between pressures on the two sides of the chip. Imagine our surprise if this chip had made it into the payload.
In an attempt to salvage the chip, we tried to convert it to a gauge sensor. A trick that you can use to convert a differential sensor to a gauge sensor is to superglue one of the chambers shut: you have sealed that chambers with one atmosphere of pressure. The reading on the other chamber will then be relative to atmospheric pressure. We didn’t read the documentation on the chip before obtaining it, and it turns out that the full scale range of the sensor is 25mV: we’d need to use an amplifier if we wanted to detect the change in pressure. The chip also had a maximum pressure of 10 kPa, which made it completely useless.
It is therefore important to source an absolute pressure sensor when making a barometer or altimeter. Even more important is the perusal of documentation before ordering parts.
Sourcing Microprocessors and Memory: 3 kilobytes of telemetry per second of flight are recorded (that’s equivalent to typing 20 pages of Hamlet a second), and that data needs to be saved. A microcontroller that reads the data from the sensors has only paltry onboard memory, so an external chip is necessary. Microchip (one of the big microprocessor companies) manufactures EEPROM (electrically erasable memory) memory that can be accessed with I2C, SPI, and their proprietary one-wire interface. They also manufacture a range of microcontrollers, ranging from 8-bit all the way up to 32-bit. Their microcontrollers are fascinating to play with and they send samples, oftentimes no questions asked.
You can program their controllers with cheap tools that you can either make, or purchase (we use the PicKit1 which programs most of their processors and only costs 30$). The compilers for the PIC controllers are terrifying. You have a wide array of language choices when programming PICs: you can program in assembly, you can program in assembly (disguised as C), or you can program in assembly (disguised as BASIC). The language you choose is irrelevant: there’s no escaping that you will need to know bitwise operations, low-level timer interrupts, registers, and many other pedantic concepts relevant to 1970s computing. The only satisfactory compiler is CCS C compiler (which manages much of the low-level stuff), but it’s quite expensive.
We have several 1 megabit (128 kilobyte, 6 minutes of flight time) memory chips and processors. When selecting a processor, it is important to get the right amount of discrete I/O pins (two pins of RS-232, four pins for accelerometers, one pin for pressure sensor..) and enough ADC (analog-to-digital converter) channels.
Sourcing Odds and Ends: By looking around it’s possible to sample many different items. Schmartboard provided us with an RS-232 module, which will simplify sending data from the flight computer to a laptop. You’d be surprised at what you can sample if you search around: many companies are glad to send you battery holders, displays, analog and digital components… There are some internet resources with listings of companies that will send samples to students.