In October, 2007, I saw a comment by Robert DeHate on a rocketry discussion forum about the Sparkfun Logomatic data recorder. The logomatic will record data from a serial port or analong inputs to an SD card. When using the A/D inputs, the sampling rate is selectable, based on the number of input ports and the data format. I had seen this gadget before, but hadn't thought of using it to record model rocket flights. So I bought one.
The Logomatic is based on an ARM chip and has a built-in serial port and many A/D (analog to digital converter) ports. Physicly, it just barely fits inside of a BT-60 tube. The analog inputs are 3.3v, so my old 5v devices won't work without some changes.
I attached three sensor boards to the back of this board:
This board has two devices: an Analog Devices ADXL 330 3-axis accelerometer and an InvenSense IDG 300 Dual-Axis Gyro.
These devices are powered from a 3.3v supply.
The ADXL330 is a +/- 3Gs device, and the gyro is listed as 500 degrees per second rotation. I hope my rockets don't spin that fast!
David Schultz
suggested
that I filter the gyroscopes at 1/4 of the sampling rate.
I researched filters and found the Sallen-Key Active Butterworth filter.
I used an
The op-amp is an LMC6482 which is a rail-to-rail op-amp that I had around,
and have used on several other accelerometers and pressure sensors.
These devices are powered from a 3.3v supply.
I expect my rocket to experience more than 3Gs of vertical acceleration, so
the +/- 3Gs of the ADXL 330 isn't adequate.
The ADXL 321 at +/- 18Gs is the highest G range chip currently available from
Analog Devices that has a 3.3v output.
Other chips are available, but they're +5v output and would require scaling or
a voltage divider.
This device is powered from a 3.3v supply.
This board adds the third gyro axis that I've been missing.
Since this device is on one of the tilt axes, I figured that 75 degrees per
second is adequate, and provides greater resolution.
This is a 5v device, so I put a simple power divider on the output, using
a 5.6k resistor in line and a 10k resistor to ground.
This is the 3.3v version of the MPXA4115 pressure sensor family that I have
used on other projects.
It is mounted on a board from BatchPCB with an RC filter for 102hz
(1/2 of the expected 200hz sample rate), which is a 4.7k ohm resistor and
a .33uF capacitor.
The logomatic board has a 100ma voltage regulator, and I was starting to push
that limit. I cut a scrap of PCB and made two gashes in the upper copper
giving me a 3 contact board on which to mount an LE33 voltage regulator, the
.01uF input capacitor and a 4.7uF output capacitor (the LE33 data sheet calls
for a 2.2uF cap, but I didn't have one).
I later added a LM78L05 (5v) regulator using the same fashion construction.
I put a 1N4001 diode on the input to protect the expensive sensors from
an inadvertant reverse power connection (the logomatic board has one, too).
A previous configuration, which I flew on my first two flights, has a different pressure sensor documented here.
The new filter board filled up the back of my logomatic, leaving me with nowhere to put the pressure sensor. So, I cut a 1/16" plywood board about the same size as the logomatic, drilled matching mounting holes and mounted it to the top of the logomatic board. The accelerometers now go underneath, between the logomatic and the board it's mounted to.
The Logomatic has a "stop" button, to stop recording and save out all the filesystem data to the SD card, on the front side. Since that's covered up, I put a second stop button on the top board.
Here's the top of the board:
Here's what the back side, with the accelerometers and XY gyro, looks like:
My first flight used a sample rate of 100hz, but after measuring the data collected in a timed bench test, I think it was closer to 88hz. I went searching for faster SD cards. I purchased a SanDisk Ultra2 2GB card that supports 400hz with a few glitches, and 200hz fairly well.
The SD cards are listed as having a transfer speed of many megabytes per second, but I'm clearly not seeing that with the logomatic. Reading the source code, I think there are a number of software reasons for that. For example, even though all writes are an even 512-byte sector size, and are always written at an even 512-byte file offset, the code does a read-modify-write operation and data copies. The code uses two buffers, so if there are other filesystem overhead type operations that have to periodicly happen, there is no buffering to hide that. Given the 32KB of memory on the ARM cpu, I think more buffers could be used.
Enhancing the Logomatic software is another project, for another day.
With the accelerometers and gyros attached, I gave the board a short bench test. My first several attempts used 100hz data from 7 inputs in ASCII mode. This was apparently too much data, too fast for the logomatic to record as I got glitches in the data. I backed the speed down and switched to binary mode, then brought the speed back up. I think I'm safe at 100 samples / second.
Here's a test:

Neat, isn't it? A real rocket flight should be a lot more exciting.
Note, this test was with the first version (5v pressure sensor and no filters).
I've mounted electronics in rockets several different ways. The easiest is to put it on a board that goes in a payload tube. Well, I've lost electronics this way when it moved around and either knocked the nosecone off, or punched out the bulkhead on the tube coupler (I lost a radio beacon that way! -- they stop transmitting on impact).
I've had more success when mounting electronics on a carrier attached to the payload compartment's tube coupler:
the electronics are mounted to a board, and the board is attached to a wood disk that fits inside the payload bay tube coupler. The electronics carrier is attached to the tube coupler bulkhead with a screw and wingnut. The tube coupler attaches to the payload bay tube with screws (inside are nuts glued to the tube coupler with JB Weld).
On the back side is a lever-arm switch that is turned on by tightening a screw against the lever.
For the third flight, I put the logmatic inside the electronics bay of my 4" IQSY Tomahawk.
I finally got to fly it! This was the weekend of the Twin Cities, MN NAR chapter, MASA monthly launch. I selected a scratchbuilt D-Region Tomahawk made from BT-70 tube, an F20-4W Econojet motor (the old phenolic econojet) and a tough PML 24" parachute. I expected the delay to be a bit short, but I just didn't have the guts to use a 7 second delay for this flight. By the time I got to this flight it had become somewhat windy, maybe 10mph.
Here's a plot of all the data:

Clearly visible is the long time from powering it up to launch (I watched a couple of other flights) and the long walk over to where the rocket landed (I didn't mind the long walk, as I could see I was walking over to a good, safe landing of my $200+ data logger).
The rest of the details are on the Flight #1 page.

The pressure sensor is a 3.3v sensor with a 100hz RC filter. The rate gyros have a Sallen-Key filter with a cutoff frequency of 25hz. Recording rate was 200hz.

