ArdIU - Open source flight computer w/ ATMega328

The Rocketry Forum

Help Support The Rocketry Forum:

This site may earn a commission from merchant affiliate links, including eBay, Amazon, and others.
Parts and boards for the first three are on the way! I'll order the next set of three once I know these work and are reasonable to build.

@Tobor, @jahall4, @bandman444- are you still interested? I'll only have two to give out in this batch but as soon as I can verify the design I'll order more.

@everyone else- there are still two unclaimed boards in the second batch...
 
The second iteration of boards are here! I only printed one set of 3 because it'll be a while before they;ll be ready to sell anyway, even in beta form...

Size comparison:
E1bhmVbWWU4FmVDqpKLeuWQIYtltjsvJaQdjU3j8Wuxzg7y2zytI_RpNkh5wgAEX-TaAur8BB36n4S_3Y2ElvBdOttxeookHTPGM6WV7BVo1ChbDzM478ASMCs8hbyA2pEyl33tGSEoubVzsTUO466eGsxpU0bhLMKFWJgk7Oj01-ogWQFnKBDgoja2VOZCUvssLIhiAyRcSMqteYVDIVJyx5yokE107COesKg_3bbSGdHGuY_8qjl-DfSKGH5ofcwbuVW63P85pQYmmTatawOKouGTrTJO4ZmP-nBnj2BfMkW55vPHi8Qqc4k2KsGhS-3wwWNuaJGRNI0HfTDCdBGt_OTmHLGOkZNc7vmL68UfHebXeXGh9mlVCUOJN0z493o0gPoj3irssEY4WBNmYwc7ZQJ7pae8YlUBGD8LyMTmeRNzRra13oRmcSaFd7W6s6Kf4UzLpcpsdVvDX1PGyoXZm8h0ksK_who59ecsqRNx8C-AJub5lCnHrKap7BX4SwNuREkQn3W5mNQHrx6iFVXlmPBoGtJUx-sHt5BqVq-VF9Ni8_e_OGKe3hGsctVZMwRLJG2Dw5DMbN0lGiKhwXj7CEJo9XgxwJZ7UfwA=w1705-h959-no


If you're anything like me, those pads for the SD holder look reeaaaalllly small. While you're completely right, they're definitely doable. This was my technique- not necessarily ideal, but it worked pretty darn well.

First, tape the card holder in place with a scrap of low-residue tape like painters' tape:
1EDYPw7L1aKPedb1C9Ppm9z6hNsf2NxnBYyknePkMfYoaRwCzkQORa-plyPuVaU3c2fbAvNucsgovOTMoghx3Am2z1b2mrZN47vIJ_1i59sQLddmsRf_S8CmHwvYnKm79OQMW6R_LmNnsXxfKQVh3zySr0A-KzoHkAaBZeYcokQVAP0Vkvl0PoNxqFnZjoipbfxn7EqeRt9TnnNln_z0jg9cOL7YFdHYl2WV_WxxA63Bm753x8w5VVsYu9Jm8FY0RyDA9TDnzf-3GAxx3sEAuysF1HvRWAimmA7zUq3aYbZw-j41-83Mz7fE0z826ExWda00tzMtuV0p9Fo38Ev2o84sTK9xpbmYTdUJXzFpERU1TJtqBnqK1UMQvU9vnKxa72F8nlH3emSWHFq7X3trkQOozJNhdY0fqnFmVKsIVwoM4XljF7Bn8ek9GDCn55ZQe2uEiluDC2TUv7PdZqQk-ic14kCaTmuGVH2QP8j6q_w2_47OBrS87iRpVFObuszzUBtmIoVcPnoKxYha_AS3sPW3kfsu6lH9Np_YZ5ZulMH24nFOHhLrpE7AvrUPtRBh1XJq21UFZcnSJuc9oorLsnzqRj2ji7C3HLOgAaY=w1705-h959-no


Then melt some solder onto the two front structural pads to tack the part in place:
mJqEeBY2kJhCEopKUv-62ZsOpchneQomI1YvTEMLNuYPAH1ji7-00RdmQa6PRQIdr72Ns3yWtIMs1YN0TuoveaFC8_lZ6HZ1q4-_Nw423-GcqJH0J-xGKAzGLv0D8jnlSZULhiZdlzT9efXsHtYCPkqslVExV7G0NYSW6MRR_wmxzunVHOLsdUk7qT6toUS80wfMRQY3xcf5Gki004gvbnks92vEp3qO2sX2No8_yJl4mgsZK70DwJCC1j69AT4X1QPTYGLrtY9fq5DwZRKSLPYo-t0GivoplYI8CwlvioDLbUmBfKiML6vUIM1-cshQGWgmxjC6C9az9mqBpCYb3pkvjUgfixrrwiy86Qj_opMnMbO7XRpyNI5-q2mcpfnqsCKmLGn-wKZ0l7eKAZh_qfx1cla1H74dQygabTK7JkVfXVn-nXOHr4RNZH1ykR8XTFMAl2esmHmyxDbi2nTCFWPN98dFl1IWtdvlZ6-S7gG3jhguAj1EM0tm8kPeMgKgB9DtUifRbuI3_k3nHkZ95uS9o4kNBElNBqDJNWtjIWfhZSwARw_obdsyLLQDlvjEbl4p97s8rv3PRjzTfGf9NVZDUS9asWDklqwxL44=w1705-h959-no


Then remove the tape and solder the back pads (this is a bit harder but not too bad):
xy9cP3jkKPPFDz2mpaQqjBPZa2XJGt8O4h_DBhLx5NsvUC4cVP2AVFZowS-MoHqjl1_W96AnpOVMCJWlsdsDaKx2Fgh2P25sO1GjBf5up2NDKNUtdNAAiC_86nxWOlKQeqj8zzRmgdCqkce6A9jeaEyHI8pgj_I6ugYqWoI4_O1zyZn9MPLNrrt3h5MbC3E-lvd1eTEpDA-nmm0VJEU2-e1rIYumnTHzscy79XIvNbwngdFlw8AyYJNgRY-g-goAVsVUiEyZV-cuWvqBFX15y6E8WGzLpHnHmYzX4VU9rwPQ0vnFKqYE9F2J9mUYyHWRVZWLCzycMWT195Z-ODfND1cL3atDlJYMVWN7zB9u-z3o5l_1IljEZbzth-kj0e-2vutOs6Fr78q3Q0whup052SAW4-YZAcZZuuhkXPnHmeR1qD3fwhCiqexv8ZwE2XlYKbWPsZsSnR_T6WN3x_Oa3SwXLNfr4YwWnGGbInh1FDvH0pN9FCvvmjPH3V20vwxDw6R68wbJeEXt00BpxOSW_OGGtoAUAHgUHE8x-2rDJnrVcGn0mMoK8XgKXg7b0ogyDwlWuaaASyi5BSigFnBF4Jo2rnEqCuRLkY4OmKk=w1705-h959-no


Then the rest of the front pads. With these, I always ended up with too much solder on one pad, and it would bridge over to the next. Luckily the finish and solder resist on these boards is pretty nice, so with a bit of melting they nicely separate out:
Y88qLmwTVPZjjSEhuu6kQDh0SVQekAh_h7-POdkDVDwji35s-4RoJDJwn9-Ot3zomGo34iAMhfKKowCmlseWuf-VsQAsDGzuHkdMBqnsv-tvJVGRL4KoEbLuWzdJzhuA6C1IKVpJpyopGpQ8dHnl9CHwX0jjTj4yu72ZJ4JgfuaAG2jROy7FptBCWP0kZ5OeedH-1Q5GWwFf_wzqlpuuro4PlL9-reR62oCvzFI3euxzxrgzoFvIB2dFlYNzYtwtkUw-wbqvV9auujx9smd9ndXvHzpeIZn9fXPmFzLZboFtqYxUOBx6UDBD0aQKe2CZf_7I8hQjM9jMNIhbiV2MAR7V17ztu1Fbg4AdHpzA3fv5Id6YiV_Q7jMG5_Y6RluZDt1y3F05rTfLP6_A9bFdV7LLawIQ54p-39NOvLceHhtXPTBpp9vDToROduyECWGc96IEeDFEKfAk_hau489pmW1u0Ua6TeBatmwEq18QvrS245pKj4Xx4pPPU6l-_gin2kXjp03d-VpCNQtqISqG7taANdZK6b3bP0DEeCy8L11-tLhNqQfTpFyCB7XDtchUmf4zhyLGpdrDA5V3pvf9sud19wMVrDHEdP6Gds0=w1705-h959-no


Somewhere between the chair and the warehouse my parts order got screwed up, so I couldn't do all of the passives, but I did the ones I had, as well as the regulator:
NKjYJR_X5DkVGMK2A79xd4ZSbZaikLVAjN2HFDa9Cp_mGSxsHuEij5-ur2tb_yeXFYHqmen-Xjo-APLkYzMdFG8Dm4hxehzNSZ4K-KuMzlZxgyEwU65_de9iJKFs14D4Lw4eCpE5Zceu6EP6Mm_iVjmE1ye_R4Ess4QAnM-Dhgn__h1ZnQpiSXfnnRKnoXMGnHHYSYuQ-fqBf-6plpQMXaJoMXXCm0qeanHU6At-2xT0ur5Tr-0Mq3LEbfGxRua-84UFQ9LZPgD7fZFsFmN16lymATtSJAL7-9O8CoA1euA5-xk52nXe_xoxN6Z9r6SLAW-cLqlwYyuuD-G_JqbVLssS0_tocu09fF8rquh-trbw5f3lB2MQEf2eU8Sc1mnxPifmXSzRB-9fQJUBxRG92t1MfXosiMZ-fCOjRrwobBJmvZrnMVTPBPpdgwt-VyPtuC7V0PU-rqL_0AdPhLudlclnIFXGyrwvBUAQC3rysoO2_538JS5-hnUKuglSS3kgyynyceMC0Mm2kQqE8NY7lLRRuf_bijQiMcYvDZcB1BpMNeyX8XrNxbhACNv7yuWSteiqrcPjO24gy8J4sai5syulYmjfsiTSxrxjrkc=w1705-h959-no


Good to know for future iterations- the 220 ohm resistors on the left are at exactly the right spacing to fit tweezers in between them. IIRC they're 100 mil apart, center to center.

You may notice a few letters and numbers scattered around the board. Those are the Arduino pinouts for the various components for the enterprising programmer- if you don't like my code for some reason, you can write your own.
 
Hi again all!

It's been a while- I've been busy with other commitments, and computer issues have left me scrambling to recover some of my work. But anyway, I'm still working on this project. I've had a few good test flights since I last updated you all, including one to 3000+ feet, so I'm feeling pretty confident that ArdIU is close to beta-testing ready.

@Tobor, @jahall4, @bandman444 - sorry to ping you again, but I just want to double check whether you're still interested in beta testing.

On that subject, I'm getting close to ready to ship beta kits. The cost for a kit will most likely be around $30 plus shipping and require assembly of a similar difficulty to an Eggtimer kit- the one caveat being I'm not likely to be able to include nearly as professional instructions. If you absolutely don't want to assemble anything I would consider building it for you- however, I would charge an additional fee and there would be no guarantee of turnaround time, as I would need to find a solid block of of time to sit down and assemble it.

I'll send out a more comprehensive update once I have a bit more time, but if you have any questions feel free to ask here or via email!
 
Hi again all!

It's been a while- I've been busy with other commitments, and computer issues have left me scrambling to recover some of my work. But anyway, I'm still working on this project. I've had a few good test flights since I last updated you all, including one to 3000+ feet, so I'm feeling pretty confident that ArdIU is close to beta-testing ready.

@Tobor, @jahall4, @bandman444 - sorry to ping you again, but I just want to double check whether you're still interested in beta testing.

On that subject, I'm getting close to ready to ship beta kits. The cost for a kit will most likely be around $30 plus shipping and require assembly of a similar difficulty to an Eggtimer kit- the one caveat being I'm not likely to be able to include nearly as professional instructions. If you absolutely don't want to assemble anything I would consider building it for you- however, I would charge an additional fee and there would be no guarantee of turnaround time, as I would need to find a solid block of of time to sit down and assemble it.

I'll send out a more comprehensive update once I have a bit more time, but if you have any questions feel free to ask here or via email!

I would be happy to help.
 
As long as the kits are in that aprox. price range,, I'm interested. I could probably do assembly for someone wanting a kit but lacking the skills (let me get mine put together first before I commit!).
 
Hi again all!

It's been a while- I've been busy with other commitments, and computer issues have left me scrambling to recover some of my work. But anyway, I'm still working on this project. I've had a few good test flights since I last updated you all, including one to 3000+ feet, so I'm feeling pretty confident that ArdIU is close to beta-testing ready.

@Tobor, @jahall4, @bandman444 - sorry to ping you again, but I just want to double check whether you're still interested in beta testing.

On that subject, I'm getting close to ready to ship beta kits. The cost for a kit will most likely be around $30 plus shipping and require assembly of a similar difficulty to an Eggtimer kit- the one caveat being I'm not likely to be able to include nearly as professional instructions. If you absolutely don't want to assemble anything I would consider building it for you- however, I would charge an additional fee and there would be no guarantee of turnaround time, as I would need to find a solid block of of time to sit down and assemble it.

I'll send out a more comprehensive update once I have a bit more time, but if you have any questions feel free to ask here or via email!
Once the kits are ready I would love to try one, alpha, beta, or prod.
 
Hi again all!



On that subject, I'm getting close to ready to ship beta kits. The cost for a kit will most likely be around $30 plus shipping and require assembly of a similar difficulty to an Eggtimer kit- the one caveat being I'm not likely to be able to include nearly as professional instructions. If you absolutely don't want to assemble anything I would consider building it for you- however, I would charge an additional fee and there would be no guarantee of turnaround time, as I would need to find a solid block of of time to sit down and assemble it.

I'll send out a more comprehensive update once I have a bit more time, but if you have any questions feel free to ask here or via email!

HI, I would love to help out with beta testing. Several of us where I work are working up an internal "build it" course. We are making the course around rocketry and plan to incorporate a "control" unit based on roll control. I would really like to beta test your flight computer. Thanks, Curtis
 
Hi again all!

It's been a while- I've been busy with other commitments, and computer issues have left me scrambling to recover some of my work. But anyway, I'm still working on this project. I've had a few good test flights since I last updated you all, including one to 3000+ feet, so I'm feeling pretty confident that ArdIU is close to beta-testing ready.

@Tobor, @jahall4, @bandman444 - sorry to ping you again, but I just want to double check whether you're still interested in beta testing.

On that subject, I'm getting close to ready to ship beta kits. The cost for a kit will most likely be around $30 plus shipping and require assembly of a similar difficulty to an Eggtimer kit- the one caveat being I'm not likely to be able to include nearly as professional instructions. If you absolutely don't want to assemble anything I would consider building it for you- however, I would charge an additional fee and there would be no guarantee of turnaround time, as I would need to find a solid block of of time to sit down and assemble it.

I'll send out a more comprehensive update once I have a bit more time, but if you have any questions feel free to ask here or via email!

Yeppers, you still have my interest.
 
Glad to hear there's interest! @curtisheisey, @anbhtblr, @sooner.boomer, you have been added to the list.

Curtis, the ArdIU does support roll/attitude tracking in theory, but I've been getting some wonky numbers on my test flights- I probably just need to calibrate it, but I'd like to make sure before I say it's officially supported. Would you be writing your own firmware or using some configuration of mine? If you're looking to develop your own, I'm happy to give you the hardware specs so you can start prototyping if you have the parts lying around.

On the subject of firmware, when I get the chance I'll set up a Github repository for this project- the firmware is essentially an Arduino library, so programming the altimeter is done by literally writing a C++ script. However, I'll be happy to publish some basic tweakable configurations for common usage- e.g. logging only, standard dual deploy, etc.

On availability time- I'm going to need to order more PCBs to be able to get all the beta kits together, so it will be a few weeks at least before I'm ready to ship.

How vital are step-by-step assembly instructions to everyone? I can certainly do it but I would need to find some time once PCBs are here to do a fully documented build.
 
Glad to hear there's interest! @curtisheisey, @anbhtblr, @sooner.boomer, you have been added to the list.

Curtis, the ArdIU does support roll/attitude tracking in theory, but I've been getting some wonky numbers on my test flights- I probably just need to calibrate it, but I'd like to make sure before I say it's officially supported. Would you be writing your own firmware or using some configuration of mine? If you're looking to develop your own, I'm happy to give you the hardware specs so you can start prototyping if you have the parts lying around.

On the subject of firmware, when I get the chance I'll set up a Github repository for this project- the firmware is essentially an Arduino library, so programming the altimeter is done by literally writing a C++ script. However, I'll be happy to publish some basic tweakable configurations for common usage- e.g. logging only, standard dual deploy, etc.

On availability time- I'm going to need to order more PCBs to be able to get all the beta kits together, so it will be a few weeks at least before I'm ready to ship.

How vital are step-by-step assembly instructions to everyone? I can certainly do it but I would need to find some time once PCBs are here to do a fully documented build.
C++ is fine. As far as instructions, I think a bullet list of high level steps will be sufficient. If there are difficult to differentiate parts some guidance/hints will be appreciated.
 
Hi all!

It's been a good bit since I updated this project. Progress since the last update:
- Bug squashing. Lots and lots of bug squashing. I switched to a different pressure sensor implementation due to errors in the old library resulting in random readings of thousands of meters underground, and many bugs resulted, but the end result is much better code.
- Speaking of better code, apparently pulling all the available data from the accelerometer was causing massive slowdowns in my code - up to 200ms per read (!). The current code just pulls the latest datapoint and flushes the rest, which got me up to a nice stable 20-30 reads per second.
- I've also been working on a Windows/Linux/Android app to view graphs from the altimeter and convert the .aiu binaries to formatted CSVs. It's working reasonably well, although it would benefit from some end-of-flight detection, as it tends to log a lot of zeroes compared to the actual data as it's sitting on the ground.

I'll add some more updates as I think of things, but that's all for now I think. Also, a successful flight to around 6000 feet earlier this fall (although my avbay pressure dynamics were a little weird, so the data is a bit funky)
 
Update: Made some major improvements to the way the code is structured to make it a lot more user-friendly. Rather than a bunch of true-false conditions, there's now a single state variable for the current flight state, and the update() function in the code handles all the state changing for you.

Examples of user-end code before and after the change:

Old:
C++:
#include "ArdIU.h"

void setup() {
  ArdIU::begin();
}

void loop() {
  // A simple single-deploy script
 
  do { // While we wait for accel readings...
    ArdIU::getFlags(); // Check for events
    if(ArdIU::isLiftoff()) { // If we have liftoff...
      digitalWrite(LED, LOW); // turn off LED, liftoff detected
      ArdIU::logData(250); // Log data, 250ms life
      ArdIU::getApogee(500, 0); // Check for apogee, 500ms verification time, no drop distance
      
      ArdIU::getBurnout(500);
      if(ArdIU::isApogee()) { // If apogee...
        ArdIU::fire(0, 1000); // fire first channel for 1 sec
      }
    } else { // if we're still on the ground...
      ArdIU::getLiftoff(3, 200); // Check for acceleration - 3 G for 0.2 sec
      digitalWrite(LED, HIGH); // red LED, ready for launch
    }
  } while(!ArdIU::imuInterrupt);
  ArdIU::getIMU(); // Now that we have a reading, store it
}
New:
C++:
#include <ArdIU.h>

void setup() {
  ArdIU::begin();
  ArdIU::setLiftoffCondition(30, 200);
  ArdIU::setPyroCondition(0, ArdIU::conditionApogee, 200, 200); // Drogue deployment
  ArdIU::setPyroCondition(1, ArdIU::conditionBurnout, 200, 200); // Stage separation
  ArdIU::setPyroCondition(2, ArdIU::conditionBurnoutTilt<20>, 200, 1000); // Stage ignition
  ArdIU::setReady();
}

void loop() {
  ArdIU::update();
}

In other news, my 38mm minimum diameter rocket is compelling me to look at shrinking down the ArdIU board, since 1.37" of diameter is not quite enough for the current version. Will have to keep an eye on microcontroller stock as basically nothing is available right now.
 
Back
Top