I have a survey project where I need to record not only the location, but the direction (bearing and angle of elevation/depression) that the camera was pointing at the time the picture was taken. Accuracy is not critical. +/- 10 degrees would do.

I would prefer not to have to buy a new camera.

I don't need another GPS. I need to use a handheld GPS to get to each photo spot anyway, and integrating the GPS info with the photos is an easy ExifTool script.

I don't want external cables. This is an all weather project in bushy terrain; cables catch on things, and require open port covers. Similarly I don't want 'big lumpy things' like FotoMapr. (Which also has GPS that I don't need.)

The ideal solution would be a device the size of a pair of stacked nickels that would attach to the camera's hot shoe. The device would have 3 axis so that I could get compass direction and elevation angle. It would record these along with a time stamp at the time the picture was taken. Calibration to turn raw data to true north, true elevation would happen at data merge time. The device would have a mini-USB port for calibration and data retrieval.

If it requires power, I'd like it to get it from the hot shoe, but battery is acceptable. The unit should have a cost under $100

I originally asked this over at the Photography exchange. They suggested I try here.

Rebuttal to Answer # 1

(Comments only allow 500 characters and no paragraphs.)

It's a bad solution:

  1. It does not record dip, but just uses a 3 axis magnetometer to correct for tilted camera angles.
  2. It has cables, and requires open ports on the camera.
  3. It sticks out. It will catch on brush.
  4. It's a GPS. I don't need to pay for another GPS.

The 3 axis compass is a single chip under 1 cm square. It retails on a 1 inch printed circuit board for $10 quantity 1. It should be possible to make one that would in essence be a bump on the flash shoe.

If it can't get a time sync from the camera, it would also need to have a clock chip. If it has a USB port, then it gets clock reset whenever attached to the computer. The computer could also use the amount of drift to apply a linear correction to the time stamp. So now our chip count is up to 4: Memory, USB controller, 3 axis magetometer, clock.

  • This is a very picky note: You mention 3 axis (twice) but then only 2 angles (compass, inclination). Seems like you don't need roll (sideways tilt), hence only 2 axis measures.
    – Martin F
    Apr 12, 2014 at 20:40
  • 1
    Very well described device request, BTW. We may just have to design, patent, make and sell them, though. And make ... some thousands of $$
    – Martin F
    Apr 12, 2014 at 20:42
  • gps "only" computes XYZ positions. You need an integrated compass for additional information. (it can point the north because it knows you position and estimate your travel direction when you are moving)
    – radouxju
    Apr 12, 2014 at 21:30
  • The roll angle is obvious from perpendiculars in the image, and will generally be within a few degrees of horizontal or vertical. It requires a 3 axis magnetometer to detect just the compass bearing. The largest component of magnetic field is in the vertical direction. If you don't use all three axes, then the bearing is off as soon as you tilt the camera in any direction. You are correct about the roll. What I need is the bearing and dip (or inclination) All of the 3 axis electronic compasses I've found report only bearing. While I don't need roll, it comes 'free' with dip. Apr 23, 2014 at 18:15

3 Answers 3


Theres an item called Solmeta Geotagger Pro, which you might want to take a look at, im not sure about the price.


We've used it, but had mixed results if you are not in the open, as the slightest interferences cause incorrect measurements. It is not usable in a car for example.

  • The solmeta is heading only. It is an accelerometer + magnetometer unit so it will break down in a moving platform e.g. car. It will also have interference on the magnetometer from surrounding metal. Need a properly shielded unit with a gyro to compensate for moving platform issues. I am building one.
    – whatnick
    Nov 24, 2014 at 0:25
  • Cool, let me know what you come up with!
    – U2ros
    Nov 29, 2014 at 9:51

While looking for a similar device to determine birds position in flight, I found the TruPulse 360. This laser range finder gives you the information you need and it stores it directly on a computer. But as it's quite expensive and regarding birds probably only works for 500 m I am going to try the Solmeta Geotagger.


Assuming that its photo quality is adequate for the job, your cell phone has all the sensor hardware you need.

  • 1
    We really like longer answers here. please take a look at the help FAQ. gis.stackexchange.com/help You might try explaining how to use the phone as sensor hardware.
    – Brad Nesom
    Dec 30, 2014 at 22:21
  • I gave him back 1 point. It's a legit idea. PolyGeo you may want to expand. Dec 31, 2014 at 1:46
  • AFAIK the phone does not record axis information with an image. In addition, while 3 axis, I think the third dimension is used only to get a magnetic bearing when the phone is out of level. Dec 31, 2014 at 1:48
  • The image quality of a cell phone is problematic, and in general it is too wide angle. It also has a fairly small exposure latitude, and is unable to compensate for back lighting, which will be common in shooting crowns. Dec 31, 2014 at 1:50
  • Since the OP mentions an easy ExifTool script, Exiftool has an example of a couple more user-defined GPSPitch and GPSroll tags in the sno.phy.queensu.ca/~phil/exiftool/config.html page. If you can write an app on a phone to log these while snapping pictures, you'd be done.
    – Dave X
    Jan 13, 2016 at 22:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.