Arduino altimeter - dual recovery for less than 20 dollar

The Rocketry Forum

Help Support The Rocketry Forum:

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

bdureau

Well-Known Member
Joined
Dec 20, 2011
Messages
536
Reaction score
241
Hello
After seing the Altduino altimeter
www.altduino.de

I have decided to build my own using an arduino nano board and a BMP085 pressure sensor

Arduino board are not expensive at all when you get them on eBay and I have spent less than 20 dollar for all the componant

I have not tried the altimeter in a rocket yet (weather is quite bad at the moment where I live) but I have simulated it on the ground and all seem to work well.
This a dual altimeter, you can choose the main altitude by changing jumpers and it will report the altitude by beeping it.
Of course it hase continuity test as well.
It cannot record flight data yet (SD card reader is on order) but without changing the hardware (just the software) it could be just changed so that it detect lift off, start a timer and do an airstart!!!!

I am sharing everything so that it can be improved100_6180-1.jpg100_6181-1.jpg100_6184-1.jpg
BorisView attachment DualAltiv0_3.zip
 
Last edited:
I like it! Can't wait to see how it works in flight.

I'd be interested in trying something similar myself, so I'll keep my eye on this.
 
Very cool. I wish I had a clue what I was doing with stuff like this I'd love to make my own tiny baro single event peak reporting altimeter.
 
Cool, I'll have to take a look at the software. I'm working on one with an ATTiny but I need to implement a filter.
 
I know someone who is currently working on an altimeter with digital filter if you are interested
 
Sure. I just assumed you were using one. My readings aren't stable, I wonder if I damaged the chip soldering it.
 
This is where my Arduino project ended up:

www.eggtimerrocketry.com

I'm selling it as a kit, once I get the final PCBs back. Not quite $20, but it's a complete package including data cable, and it does just about everything. It's been flown in various stages over 80 times this year, including airstarts.
 
Sure. I just assumed you were using one. My readings aren't stable, I wonder if I damaged the chip soldering it.

Hello, I'm the guy who introduced a filtering schema :)

I had the noise problem from the very first day. I'm using the BMP085 altimeter sensor, and even with the most oversampled mode (OSS=3) I had values of +/-20 Pascals. That's about 3 or 4 meters.
So I came with two possible solutions:
1) To smooth data just adding a smoothing schema (Double exponential smoothing method).
2) To add a frequency filter (FIR filtering with a Hann window).

At the moment I've chosen the first one reason: simplicity. You only need to retain the previous reading and that's all. 10 lines in the code is what you need. The only problem is to get a good couple of parameters; if you smooth too much the function, then when flying the schema is too lazy and you can see a delay between the actual function and the smoothed function. The same happens with the FIR filter.

I'm in the same situation than bdureau, I still haven't flight the board. Hopefully I'll do it in a week, if weather allows it. Then I'll reply about the results.

Btw, I think this is my first message in the forum. I hope there will be more.
 
I been working with a friend on this I would be interested seeing what you have done. keep us posted when you get a chance to launch.

TA
 
If you are getting noise on your sensor, I would first check the voltage to the sensor. 3.3V dc is what I seen so for.

https://learn.adafruit.com/bmp085 adafruit has this sensor board with a 3.3v regulator on it, so you can send the 5V from the Arduino board.

Also I would look at using an IC2 EEPOM Flash for storage, it takes alot less program flash memory to load than the SD file system will on the Arduino.

I am very excited to see Arduino and Rockets together.
I am currently working on a project to see if I can use an Arduino + HAM radio to send APRS message back to a HAM Radio receiver.
I am going to start with this project and mod it a little. https://code.google.com/p/trackuino/
My biggest concern is if the Arduino can keep up with sending message back every second. I am thinking it's going to fail.

~Russ
NAR #94760 L1 at SMASH on a Pro38 H152BS
https://www.russhall.net/h3
 
How much drift are you getting? I did a lot of work with that, with both the BMP085/180 and with the Measurement Specialties MS5607. It seems that all of the integrated baro sensors have some short-term noise, if you graph it though you can tell that it's basically random and it's relatively small. Any filtering mechanism that assumes that the noise is linear over a short period of time will be effective. Linear regression works fine, as do weighted averaging schemes. All three of these sensors performed essentially identical despite the differences in A/D resolution.

If you take a lot of readings over a long period of time (a few hours, for example) you will pick up atmospheric pressure changes, and that will look like drift even though it's really not. That's why you want to have your baseline altitude reading averaged over however much time your rocket is sitting on the pad, weighting the later samples higher so that as it changes the later samples have more influence.

Sure. I just assumed you were using one. My readings aren't stable, I wonder if I damaged the chip soldering it.
 
Hello, I'm the guy who introduced a filtering schema :)

I had the noise problem from the very first day. I'm using the BMP085 altimeter sensor, and even with the most oversampled mode (OSS=3) I had values of +/-20 Pascals. That's about 3 or 4 meters.
So I came with two possible solutions:
1) To smooth data just adding a smoothing schema (Double exponential smoothing method).
2) To add a frequency filter (FIR filtering with a Hann window).

Btw, I think this is my first message in the forum. I hope there will be more.

Welcome to the forum!

I'm glad to hear that other chips have noise issues too. I'm using the LPS331AP using an internal average of 512 samples... I thought that would be enough, but maybe not. With the sensor sitting stationary on my desk, taking readings at 1hz I get noise of maybe 2 meters.

I don't want to hijack your thread here, so here is my thread with the one I'm currently working on:

https://www.rocketryforum.com/showthread.php?41546-DIY-electronics/page3
 
Last edited:
It's nice to see others are taking on the Arduino for use as an altimeter as well.

One thing I want to say is that I strongly recommend you set goals in small steps. Don't do everything at once like your doing now.

The first step is to understand the sensor and optimize the code. Forget about pyro channels and such for now.

When done, test your device by placing it a model rocket and analyse the results. Only until you're happy move on to the next step e.g. writing code to recognize an apogee and/or a main event.

As for filtering raw pressure data here is something to start with:

pressure_filtered = pressure_filtered - 0.15 * (pressure_filtered - pressure_raw); // 0.15 can be any value between 0.001 and 1.0

Good luck!
 
I am now moving to the next step ie designing my own arduino board with only the necessary components for an altimeter. So far so good it works pretty well (still havn't fly it, just ground test)100_6208-1.jpgalti kit image 2.jpgkit alti image 1.jpg.
 
A hint, solder all the parts to the board (yes, the MCU and the sensor breakout board too), or the G's will pop them out of their sockets. Found this out the very first flight of the original Eggtimer prototype. (See www.eggtimerrocketry.com )

I am now moving to the next step ie designing my own arduino board with only the necessary components for an altimeter. So far so good it works pretty well (still havn't fly it, just ground test)View attachment 109844View attachment 109845View attachment 109846.
 
the altus guys have open sourced their stuff. you might be able to learn from their code:

https://www.altusmetrum.org/AltOS/

We use a Kalman filter which fuses the barometric readings with the obvious physics model and produces much smoother results without discarding actual altitude changes. It's not a lot more code than a simple IIR exponential filter. It's all included in the above source code, and licensed under the GPLv2, so you can use it as you like in your own projects, as long as you follow the license restrictions and publish source code for anything you ship to other people.
 
Hello All
I finally flew my fift Arduino prototype with another altimeter for redondency and it worked!!!!!
Basically what we did wa to fire some charges outside the rocket with colored powder to visually check the appogee and main deployment.
The altimeter reported the Apogee altitude as well as the main deployment altitude.
The size of my latest prototype is 30x90 mm and the price as around 20 dollars.
I am going to do more test to make sure that it is reliable and I will probably do some kits.
100_6330_1.jpg
 
That is pretty cool. I might just buy a kit say I have done it.

I made my own altimeter has a certain "wow" factor to it.
 
I would purchase a few of these..... At 20 bucks a piece it'd be the backup in all my rockets, and the main in my Mpr set ups

If you don't have resources to produce it, any chance you could make the board artwork and design available?
 
Hello
I am working on a professional kit (ie: you will need to solder all components yourself) and the price will be around 20 dollars + shipping + paypal fee, I will keep the thing open so that people can modify the software and improve it. This is compatible with the Arduino development environement so the idea will be then to share the code.
I have no problems publishing everything I juste need time to tidy it all up and buid a web site.
 
Very cool project. I'm on board!

Please let us know when these kits are available. :D
 
Boards for the kits are on order; I am working on the documentation and I should have some web pages by the end of the month.
However you will have to solder all the componants yourself and for those that have the componants I can seel only the board.
 
Boards for the kits are on order; I am working on the documentation and I should have some web pages by the end of the month.
However you will have to solder all the componants yourself and for those that have the componants I can seel only the board.

Sounds good to me! I'm totally ordering a bunch of these!
 
I did the board for the prototype myself and then sent the design to some company in China
This is how it will look like alti - buttom -1.pngalti top-1.png
 
Boards for the kits are on order; I am working on the documentation and I should have some web pages by the end of the month.
However you will have to solder all the componants yourself and for those that have the componants I can seel only the board.

Sounds fun! I love to solder. I've made a few kits, including a couple of boarduinos, this looks on par with those.
 
Back
Top