Arduino-based altimeter, GPS, telemetry, and possibly guidance

The Rocketry Forum

Help Support The Rocketry Forum:

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

zortness

Active Member
Joined
Jun 21, 2013
Messages
36
Reaction score
0
I've been lurking for a while, but this is my first reason to register and post. I started this project a couple of months ago, and now I'm very close to the first working fully encapsulated prototype(s). It's been an interesting journey, since I'm not an electrical engineer, I'm just a software guy.

So here's what we have, an Arduino Mega/Due shield with the following features:
  • Barometric Pressure / Temperature (Altimeter)
  • 55G Accelerometer
  • GPS
  • XBee Radio
  • MicroSD for data logging and config
  • 3-axis Gyroscope
  • 3-axis 16G Accelerometer
  • Dual solid-state relays (for dual-deployment)
  • Multiple options for serial channel usage

I've open-sourced the hardware designs, if anyone's interested (Eagle files), as well as the software:
https://github.com/zortness/rocket-mega-shield
https://github.com/zortness/rocket-mega-code

I actually just got the first 3 PCBs back from OSHPark yesterday, and my new soldering iron was delivered today. I hope to have a working shield completed by the end of the weekend.

Here are the PCBs next to the original prototype:
IMG_20130620_131102.jpg

This will easily fit in a 2.6" diameter rocket. I plan on launching it with some mid-power engines at very low altitude first, without the computer having to do anything for deployment (just the motor delay charges). Then I plan moving on to some of my larger rockets, running this side-by-side with some commercially available dual deployment altimeters, before finally moving it to be in primary control.

Definitely open to feedback, criticisms, and assistance for developing this. Right now the software is very basic, just enough to log all of the data and make a preliminary attempt at detecting the rocket's state transitions during flight.

Future plans:
- Replace the 5v 55G accelerometer with a 3v one, possibly this 200G. The high-G accelerometer is really only useful for total impulse calculation, since we can use the more sensitive 16G accel for detecting state changes. However, since it's 400Hz and analog, the it's very fast and can be read every program loop. Getting rid of the 5V accel cuts down on several components that exist on the board solely for converting voltages.

- Software for the Due

- Automated guidance? Might try a couple of RC cars and planes first.
 
very cool projet .
Openning up the code is a very good thing that I have done myself with my altimeters projetcs and I have learnt a lot from people who have been reviewing it.

However I would avoid guidance which is not really allowed for obvious reasons.
I will add some links on my web site to your stuff
 
Best of luck with your project! You're going to enjoy it :)
 
You know, I was going to develop something like this.... Glad to see I'm not the only one who wants this kind of data!

Looks very cool. If you make kits, I'll get one, guaranteed.

Also, I would say no to all out guidance as well. An active stabilizer would be a cool addition. Leave it open source, so that people who want to play with it already have all the hardware, and just need to tweak the software to work with their design.

If you wanted to make it smaller, consider a double-decker design, with your sensors on the top board and electronics on the bottom or something, linked by headers. I'm sure people who would want one of these would enjoy having it fit in at least a 54mm airframe.
 
Last edited:
If you wanted to make it smaller, consider a double-decker design, with your sensors on the top board and electronics on the bottom or something, linked by headers. I'm sure people who would want one of these would enjoy having it fit in at least a 54mm airframe.

It already is. It is a arduino mega (or due) shield.
 
Well, the guidance part might not be an issue as long as it's not a targeting guidance device. If it helps stability and keeps the rocket on a more vertical path, then I think it would slide.
 
I am also developing something similar on the basis of the arduino due.
But my one looks way more unprofessional than yours.
Clipboard01.jpg

I will have a look at your code, because I have some problems with the logging speed to the SD card. I have also not included GPS so far, because parsing the GPS data cost a lot of computing time.

The ADXL377 looks really nice I will get one.
 
Last edited:
I am also developing something similar on the basis of the arduino due.
But my one looks way more unprofessional than yours.
View attachment 134957

I will have a look at your code, because I have some problems with the logging speed to the SD card. I have also not included GPS so far, because parsing the GPS data cost a lot of computing time.

The ADXL377 looks really nice I will get one.

Nice!
My code is definitely preliminary... I had all of the sensors reading (except the 16g accel which was a later addition during the board design), but I've been doing a major refactor on it. I actually just pushed a big update a few minutes ago that should be much closer.
 
So, got it all assembled and working!

27HUliqh.jpg


More images here:
https://imgur.com/a/Q5ZNV

I ended up frying a Gyro because I missed the max temperature in a linked doc from the main specs, so whoops. Had to switch to lower temp solder for that one. Everything is all functioning perfectly at this point.

The board will run fine off of the power coming from the Arduino (in the pics it's a 5v LiPo cell phone recharge battery unit), but in order to use the relays to do something like set off charges, you'll need to provide external power (I was testing with a normal 9V). Also, if there's external power supplied, it will be preferred over the Arduino power supply (with the current configuration) as long as it's over 5v.

It took a bit of experimentation and debugging (oscilloscopes are incredibly useful), but I was ecstatic when I realized it was all working after I fixed a few missed solder connections and replaced the gyro.

I also bought a cheaper 2.6" cardboard rocket that I can hopefully launch off of estes 29mm F and G motors with this thing on board to bring down my cost for developing the software. I hope to be able to start that development in the next month or two, but we shall see.

If anyone's interested in me assembling one of these for you, let me know. I have to figure out the cost, but likely first few would just be the cost of parts, boards, and shipping.

As always, feedback is welcome! Everything here is open-source, so feel free to experiment.
 
I would recommend to add a Magnetometer to future versions. It is quite cheap and very usefull for orientation sensing.
 
WOW! This is exactly what I tried to do few months ago and it sucked!
I was looking for altimeters/loggers to buy, but I absolutely love the arduino platform!

I'm definitely interested in one of these! How much would it cost and how long would you need? I'm actually staying in the US until first week of august (when my internship ends) then I'm going back to Brazil. Do you think you could finish one for me???

Thanks and congratulations for sharing it! it's a piece of art!
 
So, got it all assembled and working!

More images here:
https://imgur.com/a/Q5ZNV

I ended up frying a Gyro because I missed the max temperature in a linked doc from the main specs, so whoops. Had to switch to lower temp solder for that one. Everything is all functioning perfectly at this point.

The board will run fine off of the power coming from the Arduino (in the pics it's a 5v LiPo cell phone recharge battery unit), but in order to use the relays to do something like set off charges, you'll need to provide external power (I was testing with a normal 9V). Also, if there's external power supplied, it will be preferred over the Arduino power supply (with the current configuration) as long as it's over 5v.

It took a bit of experimentation and debugging (oscilloscopes are incredibly useful), but I was ecstatic when I realized it was all working after I fixed a few missed solder connections and replaced the gyro.

I also bought a cheaper 2.6" cardboard rocket that I can hopefully launch off of estes 29mm F and G motors with this thing on board to bring down my cost for developing the software. I hope to be able to start that development in the next month or two, but we shall see.

If anyone's interested in me assembling one of these for you, let me know. I have to figure out the cost, but likely first few would just be the cost of parts, boards, and shipping.

As always, feedback is welcome! Everything here is open-source, so feel free to experiment.

Obvious question is: planning to market this?
 
Obvious question is: planning to market this?

Not sure... it's generated a little interest. I have enough parts on hand to build 1 more board at the moment. If people want these, I'll gladly build them. I've gotten some feedback on the design, so I might need to make a few revisions before I'm comfortable selling them.

I started testing it in an R/C car... 2.6" airframe rocket is done. Hopefully I can get some actual launch tests in soon.
 
Not sure... it's generated a little interest. I have enough parts on hand to build 1 more board at the moment. If people want these, I'll gladly build them. I've gotten some feedback on the design, so I might need to make a few revisions before I'm comfortable selling them.

I started testing it in an R/C car... 2.6" airframe rocket is done. Hopefully I can get some actual launch tests in soon.

Add me to the list, if you do. This is a dream come true for me...
 
Hey everyone!
I set up a quick form to gauge interest in buying the boards (or kits). If I get enough, I can set up a group buy. If I get even more, I can start working on improvements in the design much more quickly.

Click For Form

Please share the form URL with any friends you might think would be interested as well.

Thanks for the support and feedback so far!
 
If the group buy happens after 08/20, would you be able to send it to Brazil?

Also, do you think a version 2 is needed? How could it get better?
 
I have a decent amount of interest (thanks guys!), but my lawyer says I'd have to incorporate an LLC or something similar to reduce my liability in case something goes wrong on a high power launch. There are a bunch of fees associated with that in Cali, unfortunately, but I'm figuring out all of the details.

For Brazil: I'd have to check export laws, etc. on where I can send these things. I imagine it won't be an issue, but I don't know yet.

The clear winners so far for preference:
- Unit as an Arduino Shield
-- With a healthy bunch requesting a standalone system, and even some processor upgrades
- A "V2" board seems to be the general preference
- Mixed feelings on the Kickstarter idea, mostly positive
- Quite a few people ready and willing to help on hardware and software

My plan for now is to make some improvements to the board (v2), and then start a group buy or small funding project.

Improvements listed (so far) for my V2 plan:
- tie VIN and EXTBATT together (allowing the JST plug to power the main Arduino board)
- replace the TI Power MUX with either a P-FET setup or a diode
- replace the two large electrolytic capacitors with ceramic capacitors
- replace the 5V 55G 2-axis accelerometer with a 3.3V 200G 3-axis accelerometer (unless I can find one with a lower scale at the same voltage)
- remove 5V regulator
- add a 1A fuse
- move the XBee uart channel select switch and LED down for easier view/access (the XBee currently covers them)

Overall, this should remove some complexity from the board. I started mapping out these changes the other night, and am currently trying to teach myself about P-FETs to see if it's worth using one over a diode.

If anyone wants to help with the hardware design for V2, PM or email me! That might help me get it done more quickly.

Several people brought up their discomfort with this as a shield, mainly because of the press-fit pin connections. Unfortunately, for the price range people requested, I won't be able to do a run of completely integrated boards for the first time around. My plan would be to spin that off as a separate project (same software), eventually offering both the shield and the completely integrated board (maybe a couple of months from now), and possibly even a modular setup.

I also had some people express concerns about using the microSD card losing continuity due to vibration of the pins. I'm trying to find a better solution with lots of storage space, but don't have one yet. Testing with my RC car, I can generate data files of about a 1MB in less than 10 minutes of goofing off, so I'm logging a substantial amount of data. In the meantime, there are several successful examples of very large rockets launching with microSD cards in slots (Qu8k is one of them). Hopefully it's not an issue, but we can try to design the software accounting for potential loss of the card mid-flight. Definitely a risk to be noted.

I'm working on an avionics bay for one of my 2.6" rockets (even as I type this), so hopefully I can get some test flights in shortly. I've had some "life changes" recently that have made this a bit more difficult than I had anticipated.

Again, everyone, thank you for the support! This has been an awesome experience and experiment for me so far.
 
I have also heard that people think the sd card will lose contact, but I have never seen any flight data where this happend.
You can directly solder the sd card, like in my prototype I showed before.
A hinge SD card holder might be safer that the push/push or push/pull ones.

Regarding the concerns about the shield, I can not see how an Arduino Mega shield should come los,, especially if its not mounted in the direction of flight..
If people like they can simply desolder the pins form an Arduino Mega and directly solder the shield to the board, but I think thats not necessary.
 
Last edited:
Back
Top