Posted by Jonathan Oxer
Last night a bunch of Melbourne Hackerspace members got together at Andy's place for the ceremonial powering-up of the very first ARTEMIS prototype. Luckily the magic smoke remained trapped inside and everything worked amazingly smoothly. Several of the subsystems were tested with little snippets of code and everything just worked. Sweet!
ARTEMIS is the Arduino Rocket TEleMetry and Instrumentation System. It's a continuation of the experiments done a little while ago with a Pro Mini in a class C rocket, but scaled up for a class G with lots more instrumentation on board and with the ultimate objective of flying in really big stuff as part of the Lunar Numbat project such as the Zuni launches run by ASRI.
6km altitude, Mach 1.4, here we come! This could become the fastest and highest Arduino ever.
This is the shield as it looked last night with its Arduino Mega host in the background:
As you can see many of the parts are currently on breakout boards rather than directly on the PCB. That was done for ease of assembly of the prototype because some of the parts are very small indeed. Things like the accelerometer would be a total pain to try soldering by hand. Luke designed the PCB so it could be assembled in multiple ways, so for things like the accelerometer there are actually pads in place on the PCB to solder it on directly but there are also the headers for the daughterboard that you can see in the photo. That's a really clever way of doing it because it provides the flexibility to either plug in a handy breakout board and get up and running fast, or alternatively to fit the parts directly to the PCB for minimal size and mass with maximum mechanical strength.
The idea is that this board provides a quick path to having a platform for integration testing and to give the software guys a device they could write against, with the ultimate aim to do a subsequent version that integrates the Arduino itself plus all the sensors currently on the shield into a single PCB. The integrated version will be a real pain to assemble though with a surface-mount ATmega1280 on it among other things. By building v0.1 as a shield for a Mega instead of attempting to create the whole device from scratch we managed to go from a rough concept to a running device that's (nearly) ready to launch in just a couple of weeks of after-hours work.
Use of a Mega was necessary because of the comms requirements. With only one UART and the need to drive multiple serial devices fast and reliably something like a Duemilanove just won't cut it. The 4 UARTs in the ATmega1280 are perfect for this application.
Something you don't see in the photo is the GPS module which connects via a header. We'll be using a Locosys 20031 GPS module, but I managed to leave it at home last night so we didn't have it on hand to connect up. Bad me.
The board itself was designed by Luke using EAGLE, fabbed photographically by Michael, then assembled by Michael and Luke. It's a double-sided PCB so setting up the film and exposing both sides simultaneously with the artwork perfectly aligned was quite an achievement. Great work by Michael, and the end result has the two sides remarkably well aligned.
Group shot from some time after the board was powered up and we'd stopped crowding around the desk to watch it do stuff:
Clockwise from the far left are Michael, Pete (at the computer), Luke, George, me (holding the class G rocket), Rohan, Leon, and Mitch. Behind the camera was Andy.