I was recently asked to create an iPhone app to allow the user to view, download and remove photos from an SD card. We can't use the card reader originally chosen, and for some reason I thought it would be possible to build an SD card reader.

First off, the Eye-Fi card integrates your typical SD card with a tiny Wi-Fi brodcast that allows editing the card content over the Wi-Fi connection. The link is to the archived card teardown page which I used a lot to understand the mechanics. The page no longer exists. This page is a big help, because I am wanting to take the parts of this card that are not part of the standard SD card and put them in a separate device.

The Atheros AR6001GL isn't around anymore. There are a few chips that took its place. I chose to go with the AR6102. This card has the pins to communicate SDIO and appears to be able to communicate with the SD card without any other chip between. I have read several sources on this card, and I am still having trouble completely understanding how it works.

Will I be sending the commands to directly communicate with the SD card or will I be communicating with the AR6102 and it handle the actual commands to the SD card?

It seems like all I need to do is create a PCB with the AR6102 connected to the SD card contacts, the antenna, and the appropriate clock-speeds, powers and grounds, and I will be able to connect to it over Wi-Fi and start reading and writing. Is all of that really handled for me by the AR6102? Qualcomm Atheros' AR6102 product overview (link) sure makes it seem this easy.

What else do I need to be able to communicate with the SD over Wi-Fi? I feel like the schematics for the application guidelines (PDF) on page 25 is trying to tell me what else I need, but the only part I can understand I already know is needed.


Out of the box, the chip is going to do nothing. You're going to have to write software to run on the AR6102 that will interface with the WiFi radio and with the SD card interface. Before buying a bunch of the chips, I would recommend buying a development board and familiarizing yourself with the development environment and libraries. It's possible you will have to buy a license for the development software; I am not familiar with Qualcomm's way of doing things. There may be some example code that you can look at that will help you get the interfaces operational. Then you can define whatever protocol you want and implement it on both the AR6102 and in your app.

One thing you might want to take note of: it seems that the SDIO interface on the controller is designed to go into an SD card slot as a card to interface with a host. It looks like you may not be able to turn the link around to interface with an external SD card as the clock line seems to be input only.

  • \$\begingroup\$ That really cleared things up. I am bummed to hear I have the AR6102 backwards in my mind. I was thinking the clock line coming in would also be going into the SD to sync their communication. \$\endgroup\$ – DutGRIFF Dec 1 '13 at 21:06

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.