The introduction below is my rant about the lack of storage space on my phone and how I got inspired and motivated to create this project. Feel free to skip ahead and dive into the instruction starting at Step 1.
Cellphone is an essential tool in many people's day to day life now; as our phone gets more powerful and our wireless network gets faster, the storage size of phone become increasingly important. The more sophisticated apps and games could take up over 1 GB each, a photo taken via an 8 megapixel camera in JPEG format could take up to 1.9 MB (calculator); and with the popularize of social network app, we are snapping more photos than ever with our smartphone, it adds up quickly. And with the speed of technology advancement today, phone manufactures are moving their flagship from 8 megapixel to 13, even 21 megapixel camera! Some phones even allow user to take RAW image! (A picture in RAW format taken from an 8 megapixel camera is basically 8 MB in file size.) However, many phones nowadays opt to exclude the capability for user to expand the phone's storage via memory card. In my very biased opinion, I believe phone company decided to exclude the feature from their offering just so they can push consumer into buying the more expansive model that comes with more memory. To quote an article by Adrian Kingsley-Hughes published on ZENet (source), "[the] reason that smartphone manufacturers are ditching micro SD card slots in their devices, especially at the high end, is money. Manufacturers can't charge a premium for an SD card slot, but they can charge a $100 for a few extra gigabytes of flash storage."
I have a Oneplus One, which is a very reasonably priced phone; for $299 you can snatch the 64 GB version. But it didn't stop my quest for more storage. I enjoy taking photos, with my phone or my camera. I take the photo in RAW, process them in Lightroom and compress them, then put it on my phone so I can show it to my friends and family if the conversation gets there. I enjoy gaming on my phone, I install triple A titles that takes up large percentage of my 64 GB. I store downloaded PowerPoint presentation and do light edit on my phone, and we all know how large PowerPoint file can get. Finally, I download Youtube video to watch during my everyday commute to save wireless data usage. My phone is powerful enough to do all these smoothly, but the storage space is not. So I explored a couple options.
USB OTG is my first option, basically many phones now allow you to plug an OTG cable into your phone's data port (usually micro USB), and allow you to plug in an USB device, including USB drive. This does allow me to expand my phone's storage, but I don't see this as an elegant solution. I can't have my USB key permanently plugged in because I don't want my phone to be dragging a cable and a USB all the time, which also means I have to now carry an OTG cable and a USB key with me at all time, it's a pain for a guy who doesn't like to carry a bag - my pocket space is limited. On top of that, every time I want to access information on my USB key I have to go through the trouble of plug it and unplug it when I am done. I also cannot access the data on the USB key if I am charging my phone. Eventually it gets annoyed and I stopped using it.
The second solution I found is wireless portable drives. Big names like Samsung, WD, and Seagate all have wireless portable drive solution for smartphones. The good thing about this solution is you don't need to plug in a cable and it works on both iOS and Android. The downside, at least for me, is that these drive usually use direct WiFi connection (ad-hoc), so when I am connected to the drive I had to jump through hoops to connect to other WiFi network. My experience with the Samsung solution is that you can connect to the wireless drive and then setup the wireless drive to connect to other WiFi network, then you can access the WiFi network through the direction to the wireless drive. I have no experience with other manufacture's solution, but I find the described solution very cumbersome. Also, I can't browse the content on my wireless drive using my preferred file browser, I have to use an app provided by the wireless drive manufacture to access the files. The physical dimension of the drive is also an issue for me; as far as I know, before SanDisk Connect Wireless Stick came out, most of the wireless media drive are based on 2.5" HDD. Like I said, I don't like to carry a bag around, so bringing a wireless drive everywhere I go is not optimal solution for me. Final thought on the wireless drive - it runs on battery, so it might ran out of juice when you needed it.
One day, I was looking for a USB microSD card reader, and I was amazed by how small these things are. After a bit of research online, the smallest microSD card reader I can find is TINY. So tiny that it gave me an idea - what if I can combine this tiny card reader with OTG cable, and integrate all that into a phone case? More thoughts went into it, and I set out to create a phone case that would give me that ability to expand my phone's storage capacity.
Step 1: Circuit Design
Firstly, let's talk about what 3PDT is, this is the first time I use such a device in my project, so I thought I spend time explain what it is to people who are in the same boat. The 3PDT I am referring to here is a switch. There are also 3PDT relay but that's outside of the scope of this instructable. The 3PDT switch is a switch containing 3 individual on-on switch, and all switches are toggled with the same pole. I am using it to toggle my micro USB port to either by-pass mode or OTG microSD reader mode. More info on what 3PDT is can be found in the reference material in the last page of this instructable. You will also see the physical device in the next section.
Now, I have the following requirements for this project:
- With the case fitted on the phone, I want to have access to the micro USB port.
- I want to be able to access the memory card even if my phone is charging.
These requirements would allow me to use my phone without taking off the case during normal usage. It would be no more inconvenient than if I have a regular case.
The diagram above is the design I came up with. The label "Phone" is a micro USB plug that goes into the phone's micro USB port. The power rails are shared but the data lines is fed through a on-on 3PDT so I can switch the data lines to either the "microSD Reader" or "Connector." When switched to "microSD Reader," since the power lines are shared, I will be able to access the microSD card even if my phone is charging. 90% of the case my phone will stay in this mode. "Connector" is a micro USB port, so when I flip the switch to connect to "Connector," the phone would act like as if the microSD card reader doesn't exist (basically a by-pass), so I can plug my phone into my computer to access files on the phone or connect other USB device to my phone through an OTG cable. One thing to noted is that by connecting the "sense" pin to ground, the connection becomes OTG; that's the same wiring as an OTG cable. So when I flip the switch to connect to the microSD reader, I am connecting the microSD reader to my phone through an OTG connection. One pitfall of this design is that I cannot access the content in the microSD card when my phone is in by-pass mode, meaning if I plug my phone into my computer as a mass media storage, I will not be able to access data on my microSD card. This could be partially solved by a on-on-on 3PDT where the 3rd position of the switch connects "Connector" to "microSD reader" directly, so the phone case acts as a USB card reader and the microSD card can be accessed by a computer. But I don't want to complicate the design and I can workaround that pitfall either connect my phone to my computer through WiFi (which I do most of the time anyway) or design the phone case so the microSD card can be easily removed and plug into computer via a USB card reader.
Now let's order some parts and start prototyping.
Step 2: Prototype
Here's the parts list, I ordered two of everything just in case:
- ADATA microSD Card Reader - you can find generic brand for a lot cheaper, but it's going to take at least a month in shipping so I gave in.
- 3PDT switch (type 1, type 2) - I got two types just to see which one is easier to incorporate into the case. And these are actually 4PDT because I can't find 3PDT in the size I want.
- micro USB plug (housing, insert)
- micro USB port
- full size USB port (Optional, very useful to test out the wiring, but not used in the final product)
The micro USB plug seems to plug into my phone without any issue even without the housing; i might not including the housing in the final product if that's the case. I fount a bunch of hook up wires with different color, which is great because I can color code my wiring, it will make this step much easier. I can't find green wires, so I will use orange instead; other than that the color code matches up with the design in previous section. One more tip for soldering - create a cheat sheet. Put all information you might need on it and print it out. I have it lay flat right beside my soldering area, it saves me time to check my screen during soldering as well as reduce the chance of making mistake. Plus the color code matches with the cheat sheet, it saved me a lot of headaches. I have attached my cheat sheet for you.
Now wire everything up according to the design. Feel free to check the gallery included in this step to see the progression. First I wire up the micro USB plug. The pin out from the plug is very tiny, it's a challenge for my poor soldering skill. Then I wire up the micro USB jack, the pin out is EVEN SMALLER. I use painter's tape to secure the wires in place. At this point, it's a good idea to use multi-meter to ensure you didn't short anything during the soldering. Next is to wire up the switch in by pass mode. I used pin 2, 5, 11 as input for D-, D+ and sense respectively. You don't have to follow my pin selection, the two diagram on top of the cheat sheet tells you the pin out of the switch, use it to determine how you want to wire it up. Once the by pass it done, plug it between your phone and charger you should see you phone start charging. If not recheck the wiring and connection. Then I hook up the full size USB port, and plug in the microSD card reader, flip the switch, bingo! The card seems to read properly, I can see the SD card in file browser and the additional storage shows up in system setting. Then I took apart the microSD reader, it is tiny. I secure the microSD card to the reader using painter's tape. It seems like I need to tape it pretty hard to maintain contact; I think this is going to be trouble for me in designing the case. Now solder the stripped microSD reader to the circuit, make sure everything still works, then we are done with the prototype.
I tried to add a 100k resistor between sense and ground, but it somehow stopped the circuit from working, so I removed it. The circuit seems to work fine without it. The other thing to note is that I cannot test out charging while in card reader mode. Because in that mode the phone acts as USB host, the charging icon doesn't come on when I plugged the phone to a charger. Theoretically the power from the charger would still be used to power the card reader hence take the load off the phone, but I am not sure if the phone is actually charging. It's a minor set back, I might have to switch off the reader to charge my phone. One final thought, originally I choose to soldering wire directly to the components so I don't have to make a PCB and potentially save some space. The smaller the foot print the less I need to add to my case's dimension. However, with such tiny pins, I end up have a lot of clearance at where the wires are soldered. The case might be a bit larger than I originally wanted. And, hand solder something so tiny is a pain for me.
Step 3: Phone Case Design
This is probably the most difficult step of this project for me, I have never design anything in CAD and have it 3D printed before. I am using SketchUp because I played with it before and it seems to have a pretty easy learning curve. So I started by gathering dimensions for phone, microSD card, micro USB plug and port, and the switch. I couldn't find the detail dimension of the phone online, so I use the high level dimension. As you can see, the case design is pretty rigid, it doesn't have the nice curve OnePlus One has. But due to the lack of detail dimension and tool to accurately measure everything out, I decided to use the published dimension and once I get the printed case, I will have a baseline to tweak the next version with. I lined up the component that will be used to get a sense of where everything is going to be. In the end, the internal space for the "chin" is about 19mm wide, which gives me a good 4mm clearance between the micro USB plug and port, it's definitely going to be a challenging soldering job. Initially I want to design the internal of the "chin" so all components have its own support, but due to my lack of 3D CAD experience, I decided to just leave it as a big cavity, once the component is in place I will use either Sugru (if it ships to me in time) or heat glue to fix everything in place and fill the spaces. To make sure the case doesn't cover up the speakers and microphone, I made a indent at the bottom of the case. Again, I am certain that the case will not fit my phone well, but without any experience or knowledge on how to do this, all I can do is trial and error; this case will help me establish the base line for in proving future versions.
So after I sent the case to the 3D printing shop, I was told the model is not printable. Thanks to help from the shop I have a place to start my research. It turns out models designed in SketchUp doesn't play well with 3D printing. A YouTube tutorial I found (reference material 5) shows how to fix the issue with netfabb, it solved the issue I had. On top of that I made a few slight cosmetics enhancement to the case, the final version is attached.
Step 4: Putting It All Together
I picked up the case from the 3D print shop, everything looks good. The fit is not perfect since the phone is thinner on the side and the back is slightly curved and my case is made with max dimension, so the phone moves slightly in the case. While I knew the dimension is off, there are a few miscalculations. microSD card is thicker at the end, it's meant to provide easy access to pull the card out of a thing slot, I didn't take that into consideration so the card won't go all the way in. Luckily, the contact on the card reader is long enough it reads the card just find in this position. Second miscalculation is the microUSB port at the bottom, it's very hard to plug micro USB cable in because the dimension of the cut out is too snug. It's not a hard fix, I run a file through it a few times to expand it a bit and it's working as expected. I did the same thing for the switch cutout, it fits the switch just right so it's hard to flip the switch from outside of the case. Controls are a bit hard to get to but I can live with that. The bottom line is, it keeps the phone in place, and all ports/controls are lined up perfectly.
It's time to put everything together. The electronic compartment is narrow, so I had to de-solder the micro USB port and card reader, attach them in case, glue them down and then re-solder the wiring back. I also had to re-solder a few wires that fell off while attach the switch to the case. In the end everything fitted properly. I used multi-meter to quickly check the connections make sure I soldered everything back and no connection is lose. Finally glue the electronic compartment cover and seal everything inside.
The moment I been waiting for, I put the phone into the case, and there it is, I can see my micro SD card; flip the switch, my phone started to charge.
Final thoughts, here are things I would improve for the next version now that I learnt all my mistakes along the way:
1. Make a PCB to make soldering easier and to avoid wires coming off while fitting the components into the case.
2. Revise the case to make the phone fit better, easier access to buttons, and a less boxy design.
3. Again with the case, correct the miscalculation mentioned above (micro USB port, switch, and microSD).
Thank you for reading, this instructable is currently participating in 3 contests, if you enjoyed it, please vote for me:
For Epilog Contest, if I was lucky enough to win a laser cutter, I would use it to create precise parts and components needed for a few projects I have in my backlog:
- Laser cut clock
- Smart phone controlled door lock
- WiFi enabled flower pot that monitor/take care of plant
- Road bike made out of composite material
Thank you for considering me.
Step 5: Reference Material
Here are the sites that provided me with valuable information throughout this project: