Introduction: Shrink Your Raspberry Pi With MicroSD Card Slot
The Raspberry Pi itself is about the size of a credit card, but it only has a standard full sized SD card slot. When you plug in a standard full sized SD card into it, the card sticks out of the outline of the Raspberry Pi, making the overall size slightly larger.
My solution is to add a microSD card slot to the Raspberry Pi permanently, and in a location that does not stick out of the original Raspberry Pi outline.
There are two solutions that I have done. One is easy, the other requires slightly more soldering skills.
For the first easy method, you need a microSD card to full sized SD card adapter, some solid core insulated wire that is thinner than 24 gauge, and some solder plus equipment. The idea is to place the adapter underneath the Raspberry Pi, right beside the SD card slot. The pads on the adapter should be facing up, this way, each pin on the adapter will be right next to the corresponding pin on the slot. Solder small pieces of wire between the adapter and the slot's pins. You also need to short out the "card detect pins" of the original SD card slot to trick the system into thinking that a card is inserted.
Using this method, the overall thickness of the Raspberry Pi does not increase at all. The microSD card will boot Linux normally while it is plugged into the adapter you've just soldered on, and standard full sized SD cards will still work while plugged into the original full sized SD card slot.
For the second slightly harder method, a Molex brand surface mounted microSD card slot is used, part number is 502702-0891. It is placed upside down on the bottom of the Raspberry Pi board, in the flat area underneath the 3.3V regulator. It is attached securely using double sided sticky tape, which also insulates the microSD card slot from the Raspberry Pi PCB. After the new microSD card is secured in place, 30 gauge Kynar coated wire is soldered between the pins on the microSD card slot and the original full sized SD card slot. Do do this correctly, you need to double check which pin on the microSD card slot corresponds to which pin on the original full sized SD card slot, they are different by one pin. Also, you need to wire the "card detect pin" of both slots together.
Using this method works perfectly too, Linux will boot from a microSD card in the newly attached microSD card slot, and it will still boot from a full sized SD card in the original full sized SD card slot.
Note that using two cards at once is impossible because the signals are shared, and may cause damage to the cards so don't even bother trying it.