arduino altimeter?

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.

slogfilet

Well-Known Member
Joined
Jul 14, 2009
Messages
202
Reaction score
5
I was just wondering if anyone has designed or put together their own altimeter (or other flight electronics/telemetry) using an arduino board or any other microcontroller. I have a mini arduino from another electronics project, and was thinking it could be hooked up to a pressure sensor or accelerometer... but I'd need some help in the programming.
 
I have never done any such thing, but I have been scheeming on how to do exactly that. Through all of my searching I haven't found any altimeters or barometers that could be hooked directly up to an arduino (maybe I am just not looking in the right places) but sparkfun has a new accelerometer designed for rockets, that I am sure could work with the arduino.
https://www.sparkfun.com/commerce/news.php?id=283
 
Accelerometers tend to come in a variety of types. The most common high-G units tend to be analog output. So you connect it to the ADC of the microcontroller and you have a basic altimeter. That's what the Sparkfun guys did. I'm plotting one based on a PIC32, but I have other projects ahead of it right now. I'm also considering using an off-chip ADC that can handle 5V though, as most of the high-G accels want to operate up there and the PIC32 is a 3.3V part. The other benefit of an off-chip ADC is that you can spec whatever you want for sample size and such. The downside is complexity both in hardware and software, and cost for the parts and PCB space. Barometers are about the same interface wise. I'm planning to use both just for kicks. Sparkfun sells some really nice digital barro/temp sensors, but they are a PITA to solder. You have to use an oven/hotplate and solder paste. They do have breakout boards for them though, so you can experiment. :)

No reason an Audrino wouldn't work. You don't need that much CPU for the basic flight control stuff. I'm going with the PIC32 because I prefer its programming interface more than anything else. It's overkill for the basics, but I'll play with things like Kalman filtering and such with the extra CPU power. :)
 
The trouble with an accelerometer, is though it is great for the way up, it is really not going to do you much good past apogee. Once the rocket starts twisting and turning, unless your accelerometer is mounted on gyro-stabilized gimbals, it will be giving you all sorts of readings that make no sense.
I am planning on using the flight computer to calculate descent rate and such, to get the dual deploy to happen at just the right time, to get it to touch down in the given time frame. The toughest part is getting it to control a non-pyro ejection...
 
There are plenty of baro sensors that could be hooked up to an Arduino analog input. The main issue would be getting the kind of precision you want to fire your main charge close to the desired altitude.
 
I've actually built a computer with two Analog Devices gyroscopes. Haven't had the chance to fly it yet, and I'm still tweaking the code. The microcontroller is a PIC16F882, which was way overkill for what I needed. For a project like this, all you need is a basic MCU with an ADC for the baro/accel. and some sort of method for storing data. I used Analog Devices 512Mbit I2C EEPROM for data storage. I think even at 400 samples/sec. I can get about 4 hours worth of flight data, so I can do 12 flights before I even have to THINK about downloading the data and clearing the memory.
 
The Arduino would be a good starting point for an altimeter, but I have found that they key to making a good piece of rocketronics is making the device impossible to damage.

The code needs to be hardened against any possible glitches (noise on the serial lines, glitches in power, false readings, stupid mistakes), and the hardware needs to be indestructible. Any type of non positive connector (like an ic socket, jumper setting, non screw terminal power connectors) will fail at an inopportune time, so you need to either eliminate them or design them to be fault tolerant (such as only reading the value at startup). It has to be able to be dropped in the desert sand and not be affected, be able to withstand the vibration/acceleration of the boost phase, the hundreds of gees that can be experienced during a hard ejection, temporary power loss, batteries being connected backwards, igniters being shorted, ESD to any exposed terminal, battery brownouts, switches being dirty, etc, etc, etc.

Even for personal use, all of these things apply. Just because you don't think you will have a hard ejection, doesn't mean it won't happen. I have had my trackers fail due to electrical noise, high gee rated connectors coming loose, mechanical stress snapping larger components off the board, battery brownouts, and a few times when they just gave up and quit in the middle of a flight.

<shameless plug>
But if you are true in your quest, you might check out my website https://www.krazerlasers.com/gps/
 
The Arduino Pro Mini (which I believe is what the guy who started this thread is talking about) is a completely integral all-surface mount little computer just a little larger than a postage stamp (not much thicker, either). The Arduino itself could certainly take the same amount of abuse that any of our normal commercial altimeters could take.

Of course it needs power input, and connections to whatever sensors you're using, and those will have to be hooked up securely, but that shouldn't be that difficult. The 3.3V version will run just fine on a tiny Lipo cell, too.

I'm working on a Arduino Pro Mini-based acceleration telemetry thingie. Unfortunately, it won't be ready to fly until February or March, but the Arduino/Accelerometer part is ready to go right now: I have a secure board that reads two axes of acceleration into the Arduino and sends it out the serial port. I'm still working on connecting that port to a transmitter (XBee), and will almost certainly not have that done by Midwest Power, but next spring is a very real possibility. By that time I might have it transmitting GPS as well (yeah, I know, talk is cheap - you know as well as anyone what hurdles there are in that project).
 
Last edited:
Okay, that turned out to be easier than I thought: the XBee/Arduino acceleration telemetry thing is ready to fly, and I should be able to test it at Midwest Power 7 in a week and a half. It's working just fine here at home. Right now it's just doing two channels of acceleration plus millisecond elapsed time. I'll add a temperature sensor to it before I fly it - that'll take three wires, a little solder, and a small change to the program.

100_2411.jpg
 
Back
Top