Hacking Eye-Fi For Data

Eye-fi Camera

The Eye-Fi card is a memory card for cameras that wirelessly uploads photos to your home computer or to online services like Flickr. It connects automatically to a pre-selected Wi-Fi network, then interactively transfers JPEG files in real-time. The whole thing operates out of a standard-size SD memory card, a technical feat so incredible that I was pretty sure it was a hoax until I did it myself. Works great, and it got me thinking about whether other types of files could be moved as easily.

The idea was to log environmental data using remote sensors, then have this card automatically send those data files out over Wi-Fi. Unfortunately, it’s not quite that easy. Here’s what I learned:

  • The Eye-Fi servers block all transfers that don’t appear to be JPEG files created by a camera. Apparently the file name, file type and the actual file contents are examined by the server to ensure this.
  • The card and the computer can only communicate directly if they are on the same local router (technically  defined as the same TCP/IP subnet?). If they are on different routers then all files must be passed through a commercial online service to posts the photos. These would almost certainly reject non-photo file types.
  • The Eye-Fi card won’t connect to all types of networks. It was unable to use a variety of different secure networks here at NYU, nor would it connect to a locally shared Wi-Fi network from my Mac laptop. I was only able to get it connected on a special network that ITP maintains for our own research projects.
  • Contacts at Eye-Fi, Inc. were unable to provide any alternative methods of connection. Using the Eye-Fi for alternate file types is not only unsupported, it apparently is actively discouraged.

Despite these difficulties, the concept is not quite a lost cause. There’s still potential for some work-around hacks:

  • It’s certainly possible for data to be directly captured in a photo, for example by displaying it on an LCD display and having a camera with the Eye-Fi card take regular pictures of the screen.
  • It is likely that a JPEG picture of the data could be generated algorithmically, though I’m unclear on whether a microcontroller would be up to the task.
  • The best hack might be to take the text data and inject it into the comments area at the end of an existing single-pixel JPEG file. Because the file format is well-documented, it seems like this would be a relatively easy technical task, and certainly one that could be performed by a microcontroller.

Whether any of this is worthwhile depends upon the application. There’s no point in doing a lot of hacking on a $100 card when a $19 XBee radio will happily transfer data using less power, and with the excellent customer and engineering support provided by Digi. However there are certain situations, for example a mobile environmental sensor with transient access to Wi-Fi, where the combination of storage and session management would make hacking an Eye-Fi worthwhile. If you happen to try out any of these potential hacks, please let me know and I’ll share the results.

10 thoughts on “Hacking Eye-Fi For Data”

  1. You do realize there is a much, much easier 10 second way right? You modify the hosts file on your computer, so when you upload a photo, now it goes to something like api.eyefi.com, well in the hosts file, you make that point to localhost (your computer)

    so anytime anything connects to that site, it would connect to your local box… from there you can do what you want, you could even not use the eyefi manager…

  2. The Eye-Fi card makes its connections directly, rather than through your personal computer, so unfortunately I don’t think this would work.

  3. You could tell your router to redirect to localhost. i want to write TO this card though, that would be cool. I have an sd card reader in my car stereo and it’d be cool to update it without taking it out.

  4. Will it work if the router doesn’t have internet access? IE, if your internet is down or is disconnected, will the eyefi transmit its files to your computer via your wi-fi router?

  5. Rob, do you have any idea of this card can even be written to in SPI mode? I couldn’t get a clear answer from their web site or anywhere else, and directly emailing tech support has been useless. I don’t want to drop all that money on a card I can’t even use for its intended purpose (extensive in-the-field data logging sessions)

  6. The card can simply send directly to the computer if it is connected on the same network then you modify it however you want. Simply don’t enable online services and the buck stops here. If you want to get data from the card over the Internet, use the gallery 2 interface and it will uploaded to the site of your choice where you can do what you want with the data/jpegs. The protocol is trivial. You will need munge the data to look like either photos or video.

    Cheers

Comments are closed.

Scroll to Top