The In-Circuit SD Card Switch

SDISP

For nearly every problem, it’s possible to engineer a solution, even if you’re dealing with an extraordinarily niche problem that might only apply to yourself. [Joel] wanted to be able to program the microSD card in his BeagleBone with a new bootloader or file system without removing the SD card from the target board. This is a peculiar requirement, and it’s highly doubtful a product or even a circuit exists for such a function. This meant [Joel] would need to roll his own board to accomplish the task.

The board is remarkably simple, housing a single microSD socket, two expansion headers for a microSD sniffer for a computer and an embedded board, an FTDI header, and a pair of 4-bit multiplexer/demultiplexers. The operation of the device is fairly straightforward: send a signal down the FTDI cable, and the board switches the onboard SD card from one device to another.

[Joel] has a video of his screen that shows him pulling off in-circuit SD card reading and writing. You can check that out below.

 

Comments

  1. swirlycurly says:

    Totally did this the exact same way. Same USB-SD converter too.

  2. james says:

    Took me a while from the picture to see what was actually going on. Would it have been any harder to only have one board with the two micro SD shape and contacts, instead of two large sparkfun breakouts connected the the board?

    • joelagnel1 says:

      The hard part was finding a PCB service to build one of the suitable thickness. The sparkfun boards are thin enough (0.75mm) to fit into an SD slot. I had otherwise had no reason to use them. Let me know if you have any suggestions of PCB fab houses that can build one of the required thickness (<= 0.75mm).

  3. Waterjet says:

    “For nearly every problem, it’s possible to engineer a solution, even if you’re dealing with an extraordinarily niche problem that might only apply to yourself.”

    Am I the only person who feels this way almost all of the time? Somebody should create an easy to use place that is easy to search that can allow people to explore previous, related work (if possible) for things like this.

    • joelagnel1 says:

      Yeah, you’ll be surprised how many people have a similar problem that may be thought niche. Quite a few folks have shown interest in my board which I did not at all expect.:)

  4. pelrun says:

    If I had to do this, I’d probably use one of the generic (non-EyeFi) sd+wifi cards that have been on the market recently – the embedded linux they run has been hacked, so you could telnet into it and modify the data exported from the SD interface on the fly.

  5. Krinkleneck says:

    Well that is an interesting idea. I will want to see any immediate debugging that he has to do.

  6. robotang says:

    I’ve too have faced a similar problem. I had a microcontroller writing data to a SD card and then creating a MSD for a computer to download the data via USB. But the having the microcontroller handle all the USB data meant slow downloads (~100kB/s) and complicated firmware! My solution was to use a specialized IC (MAX14502). It added made the BOM quite a bit more expensive but was worth it.

    • swirlycurly says:

      Where were you able to purchase the MAX14502? I only need 1 or 2 of them but cannot find any suppliers.

      • robotang says:

        Mouser stocks these ICs. But they are quite expensive. I ended up buying directly from MAXIM, which ended up being about 1/4 the price in low MOQ (25 or so). Also I found that you need to toggle the SD card’s power after the MSD has enumerated so that you can read the disk properly.

    • joelagnel1 says:

      If its possible, could you share the schematics/design with me? (Email: agnel.joel@gmail.com).
      Do you know if the MAX14502 can handle UHS signalling?

      Another option is to use an MSP430 or similar microcontroller and write to the card in SPI mode.

  7. Phill Myers says:

    TFTP to load uImage and NFS for the root FS

  8. How about a SD card that you can write on via wifi instead?

  9. Aardvarkian says:

    I can’t find the link atm but this is old hat. Linero had a much simpler pcb to do this years ago

  10. joelagnel1 says:

    I just got back to town, it was such a pleasant surprise to see my project featured on hackaday! I will reply to all comments and keep up with new ones.

    Thanks again hackaday, its very encouraging!

  11. Name says:

    I have an idea: how about a SD card that would serve as a ethernet controller with a ethernet port?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s