As Im getting ready for the Nat Geo talk this week, Im also trying to anticipate field work on Kauai that is beginning Monday (but I won't arrive until next Saturday). One bit of electronics that I've always wanted is a data logger that records location, orient
ation, tilt, yaw, bearing, and magnetic readings in a precise and rapid way. This would be useful, for example, for logging images of taken from a blimp so that they can be better corrected and georeferenced. More importantly, a data logger such as this would be ideal for the GPR -- one could record the antenna angle and orientation relative to the ground so that the data can then be correctly modeled to take into consideration the direction the antenna is pointed. Lacking this information, one assumes the antenna is pointed straight down -- but we known when we go across any terrain that this isn't true. Even when the terrain is relatively flat, there are often bushes and other kinds of things that one has to go over and that can create artifacts in the data. Dean Goodman's software GPR-slice software can make use of topographic information to help correct for terrain changes -- but this is only going to handle very large changes (such as surveying over a mound or down a hill). What we really need is a little box that sits on the antenna and that records the position and orientation as the antenna moves. And if we can also collect magnetometry data - boom - we have an instant mag map
The way to do this, I think, is with an arduino board and some sensors. I got an Arduino Mega 2560 board from Adafruit. I then added a SparkFun triple axis magnetometer, 6 degrees of freedom accelerometer, an OpenLog data logger and the adafruit ultimate GPS. All for about $150.00.
I started using the incredibly cool Fritzing tool (http://fritzing.org/) which provides means for creating wiring diagrams and electronics. The tool has many of the breakout parts for the arduino ready for cutting and pasting and the user libraries are huge. What is particularly cool is that one can create an electronic device and then have it manufactured. I guess they aggregate bunches of board designs together and then get them printed en mass as some German factory. Cost is per board and goes down the more one orders. So you can do some DIY stuff to try things out and if it works well, you could mass produce the boards to your own specs.
Following the excellent wiring diagrams on Adafruit and SparkFun, I created a device that put all these pieces together (below). My wiring isn't particularly well organized but I was more interested in tracking the places to connect the wires for the multiple devices.
This is actually my second device for arduino. The first was a simple one built on a Arduino Uno board. All it does right now is runs a program that sends 5 volts in a particular pattern of timing to one of the output pins. Two mini-USB cords are connected to this pin (and ground) and plug into two digital cameras (Ricoh GR III). One of the cameras has been modified to shoot near IR photos (and has a yellow filter). Together they provide a poor-man's four band (R,G,B, + NIR) camera. The Arduino device triggers both cameras every 3 seconds -- this way we get synchronized shots that can be then be merged to form a single 4-band image. It works quite well - runs off of 3 AA batteries, is light weight and hangs from the camera mount that is suspended from our blimp or kite (or hexacopter). I might add a GPS logger to it as well so that we can use it to record locations for each photo pair - that wouldn't be hard or very expensive. I bought an SD card logger ($20) for the Uno and wired it up. All I need is to get another Adafruit Ultimate GPS breakout (for $25).
I should mention that the Adafruit Ultimate GPS is pretty sweet. It has a built in logger (64K), can track 66 satellites at a time and do 15 measurements a second. Plenty for the kinds of applications we have...