I want add-on SD card reader/writer/slot/controller in my raspberry pi so that i can keep OS separate from my program. Primary SD card will load OS and work normally and program & data will remain available from add-on card. Please suggest

a) what good hardware extension or component available as add-on card for raspberry pi 3b

b) suitable software available.

OR if i can use USB Pendrive directly because i have USB slots spare. How?

Please note: 1) I am not talking about increase SD card size and 2) not talking about creating separate partition on first SD card.


  • Welcome to the Raspberry Pi flavoured corner of the Stack Exchange network. I see you have read through the tour and I trust you have remembered that we are not going to necessarily say: "buy this product code item from this supplier". I do think I understand what you are asking about and will put up my attempt at an answer shortly...
    – SlySven
    Dec 24, 2018 at 3:16
  • What problem with pendrives do you have exactly? Cannot plug? Cannot see the files on them? Something else? Jan 7, 2019 at 9:42

3 Answers 3


You can use USB pendrives as much as you have free USB slots. If you want to keep programs and data on different storrages you can follow Debian - Recommended Partitioning Scheme.

For new users, personal Debian boxes, home systems, and other single-user setups, a single / partition (plus swap) is probably the easiest, simplest way to go.
For multi-user systems or systems with lots of disk space, it's best to put /var, /tmp, and /home each on their own partitions separate from the / partition.

Following this you must not use separate partitions on the pendrive(s) for /var, /tmp, and /home. You can also use separate directories on one partition for them. You are free how to divide the data(-directories) on partition(s).


You can use any USB device to boot a 3B, 3B+ or 3A. (some 2Bs even support that).

You can use an SD, USB stick, USB hard drive or USB SSD.

Splitting the boot drive from the base filesystem makes no sense. Adding a drive mounted at /media or /mnt is normal and commonly used.

Go and search on https://raspberrypi.org/forums where there's a massive number of posts about this. There's even a thread on there about running a read-only filesystem.


If you want to go down the route of specifically using another SDCard type unit for a secondary storage device you can, if I recall correctly, get SPI modules that you can wire up to that bus (three or four signal lines plus a couple for power and ground). I would imagine that they would be available from on-line auction or retail sites.

On the other hand, USB storage devices make the same sort of thing a much easier thing to organise provided you have the available slots and space for the hub if needed as well as a USB flash drive.

Finally, the underlying SoC hardware does have support for a second SD Card interface however I am not sure that that is accessible on anything other than the Compute Module / Compute Module 3 devices which have a lot more of the connections available, it is also not clear to me either what support circuitry will need to be added to make use of that.

Update: I have tracked down the following which might provide some useful information:

  • yes i was thinking for SPI module or kind of solution. I have free USB slot available but using USB Pendrive will not provide any locking/security to prevent unplug by user. SPI module can be wired and card holder can be adjusted/protected under device chassis. Thanks
    – JPI
    Dec 24, 2018 at 17:51
  • From reading the SOC specs I believe there is a 2nd sdio interface - but there is no software support. Neither is there any support for the SPI interface. I did once contemplate writing a module, but decided it was not worth the effort. If should be much easier to adapt the Arduino FAT code into user space if that is helpful.
    – Milliways
    Dec 25, 2018 at 7:15
  • @Milliways i understand your hint that it is not worth the effort to make own software support (assuming that raspberry pi has SDIO/SPI support). Were you able to safely mount/unmount storage (sd card) to your pi or arduino using your own developed software library? I will mostly rely on this secondary sd card for read operations only.
    – JPI
    Dec 25, 2018 at 7:46

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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