As well as providing a radio downlink of GPS data so we can track and hopefully retrieve the balloon payload, I want that data logged in detail so I can tell afterwards how high it went and where. GPS data can be imported into Google Earth for example, to show the route visually.
To do this the flight computer needs storage, and the Arduino has almost none. I already had a “DosOnChip” device which has a MicroSD card socket and is allegedly easy to use. Well, it isn’t. The device provides a high-level interface to the memory card, but in doing so the makers just made things more complex not less. They also forgot to document the thing properly. The result was several wasted hours before I consigned the damn thing to the bin.
Since I bought that device, the Arduino software has been extended and one of the new things is support for SD cards. All you need is a suitable board with SD card socket and then it is very easy to use. Well, I don’t have such a board but being impatient I decided to just solder up the small number of components directly to an old SD card. 128MB is tiny by today’s standards but its much more than I need for the balloon’s 3 hours flight. I calculated about 1MB needed for 3 hours, and even if that goes up if I log some more things, it’s never going to get anywhere near the card’s capacity.
So this morning I soldered up some wires between Arduino and SD card, including the resistors needed to drop the Arduino’s 5V logic levels to 3.3V on the SD card.
Then I loaded up the sample SD Arduino program and ….. it failed. A quick check of the sample program showed that they;d changed the pin connections slightly from the default (which I had wired), so I changed that back and ….. it worked 🙂