Attend XDA's Second Annual Developer Conference, XDA:DevCon 2014!
5,731,905 Members 40,004 Now Online
XDA Developers Android and Mobile Development Forum

Thinking of performing a hardware mod for USB hosted microsd/bluetooth(Kindle Fire)

Tip us?
 
aaricchavez
Old
#1  
aaricchavez's Avatar
Senior Member - OP
Thanks Meter 47
Posts: 169
Join Date: Aug 2010
Location: Tampa

 
DONATE TO ME
Default Thinking of performing a hardware mod for USB hosted microsd/bluetooth(Kindle Fire)

Ok, so i'm ordering a replacement digitizer and I figure this would be a good time to try this out.

As you all know, we Kindle Fire owners have neither expandable storage or bluetooth. Hashcode's new 3.0 kernel has the proper kernel modules/support for USB hosting. Instead of having to plug things in every time I need/want extra storage I figure that i'll try and hook up the stuff inside.

So here's what I figure i'll do when I get all the materials:

I already have a mini bluetooth USB dongle that i've disassembled.


And i'll be getting a mini USB microsd adapter that I can tear apart down to the same type of thing as the bluetooth dongle.


Now, the easy part is finding space to put them, there are a few gaps/spaces that I found for the bluetooth dongle, and placing the microsd adapter should be just as easy.
The hard part is getting the wiring all wired up on the inside, and this is where I need advice/input. Trying to solder the wires to the pins on the charge/USB port would be too hard and risky since they're so close.


I took apart a mini-b USB cable to use the pins to try and hook them up like that some way, but I don't have everything I need yet, so it's just a thought.


Ideas, advice, thoughts and/or comments?

Also, I will be documenting what i'm doing so that I can post a tutorial if I succeed.

I've also posted this in the Kindle Fire general forums. http://forum.xda-developers.com/show...php?p=25212300
 
Entropy512
Old
#2  
Senior Recognized Developer
Thanks Meter 24093
Posts: 13,133
Join Date: Aug 2007
Location: Owego, NY

 
DONATE TO ME
Main problem with the SD adapter is that many USB SD readers behave badly if you insert the SD when the adapter is live - you need to insert the SD THEN plug the reader into a PC.
*so much sig updating needed*

My Github profile - Some Android stuff, some AVR stuff

An excellent post on "noobs vs. developers"

A few opinions on kernel development "good practices"

Note: I have chosen not to use XDA's "friends" feature - I will reject all incoming "friend" requests.

Code:
<MikeyMike01> Smali is a spawn of hell
<shoman94> ^^^ +!
Code:
<Entropy512> gotta be careful not to step on each other's work.  :)
<Bumble-Bee> thats true
<jerdog> compeete for donations
The Following User Says Thank You to Entropy512 For This Useful Post: [ Click to Expand ]
 
aaricchavez
Old
(Last edited by aaricchavez; 24th April 2012 at 06:19 AM.)
#3  
aaricchavez's Avatar
Senior Member - OP
Thanks Meter 47
Posts: 169
Join Date: Aug 2010
Location: Tampa

 
DONATE TO ME
Quote:
Originally Posted by Entropy512 View Post
Main problem with the SD adapter is that many USB SD readers behave badly if you insert the SD when the adapter is live - you need to insert the SD THEN plug the reader into a PC.
Hmmm, thanks for bringing that up, I didn't think of that. I'll have to see about putting a small switch in somewhere if I run into that issue.
 
AraKs
Old
#4  
Junior Member
Thanks Meter 6
Posts: 12
Join Date: Jul 2010

 
DONATE TO ME
Have you looked for another USB pinout on the board?
There might be one, if you can post an hi-res picture of the PCB I can try to find something useful
The Following User Says Thank You to AraKs For This Useful Post: [ Click to Expand ]
 
aaricchavez
Old
#5  
aaricchavez's Avatar
Senior Member - OP
Thanks Meter 47
Posts: 169
Join Date: Aug 2010
Location: Tampa

 
DONATE TO ME
Quote:
Originally Posted by AraKs View Post
Have you looked for another USB pinout on the board?
There might be one, if you can post an hi-res picture of the PCB I can try to find something useful
I was going to try and do that myself, but I couldn't find anything. Right now I ended up scraping off some of the black plastic around the pins at the point that they're going up and i'm trying to solder them alternating the top and bottom.
If you can find other places though that would be great. It might help me out, and it would def help others out if I succeed and write a tutorial.

Here are some hi-res shots from ifixit, unfortunately my real camera has a broken lens at the moment.

http://guide-images.ifixit.net/igi/B...OKoo2SInC.huge
http://guide-images.ifixit.net/igi/S...65UTRcAYv.huge
 
scidon37
Old
#6  
Senior Member
Thanks Meter 134
Posts: 301
Join Date: Feb 2011
There's something I don't understand here; won't doing this render the USB port unusable? Don't you need a hub if connecting more than one USB device? Can the USB port provide enough power for these additional devices?

Sent from my SGH-I777 using Tapatalk 2
The Following User Says Thank You to scidon37 For This Useful Post: [ Click to Expand ]
 
aaricchavez
Old
(Last edited by aaricchavez; 26th April 2012 at 06:09 AM.) Reason: Clarified what I was saying
#7  
aaricchavez's Avatar
Senior Member - OP
Thanks Meter 47
Posts: 169
Join Date: Aug 2010
Location: Tampa

 
DONATE TO ME
Quote:
Originally Posted by scidon37 View Post
There's something I don't understand here; won't doing this render the USB port unusable? Don't you need a hub if connecting more than one USB device? Can the USB port provide enough power for these additional devices?

Sent from my SGH-I777 using Tapatalk 2
You need the USB hub for power from what I understand. The microsd adapter doesn't require any power and i'm not sure how much the bluetooth takes, but since the other takes none it might work out. If they don't work together then it doesn't really matter to me cause I don't need bluetooth.
Also, about it making the USB port unusable, yes and no. If you look at this pinout diagram here http://www.kineteka.com/microusb-b.aspx you'll see that there are 5 pins. On a USB cable only 4 are used. On a USB otg cable pins 4 and 5 ar econnected telling the device that it's a host and not a slave. When pins 4 and 5 are connected are connected USB will not work at all(So no adb or file transfers, etc.) because the cable is being told it's a host device. Once those two wires are separated then USB will work again because it will see itself as a slave device.
 
AraKs
Old
#8  
Junior Member
Thanks Meter 6
Posts: 12
Join Date: Jul 2010

 
DONATE TO ME
I searched info trought the TI OMAP 4430 documentation about the USB implementation.

(i have to "hide" the link or i won't be able to post!)

Here you can find a block diagram of a reference USB implementation:
h_t_t_p://w!w!w.ti.com/pdfs /wtbu/OMAP4430_ES2.x_DM_Public_Book_V_D .pdf
Section
A.4.4.2 USBA0 PHY Implementation Example

Also, Section
2.1 Terminal Assignments
Shows the pinout of the processor

Table
Table 2-1. Ball Characteristics
Shows the chip connections

The document lists also USB0, USB1 and USB2 but i can only see ball pinouts for "usba0_*" and anything like "usba1_*" or "usba2_*".

So i think that there's only one USB connection and you'll have to solder a USB HUB somewhere between the CPU and the USB connector.
The Following User Says Thank You to AraKs For This Useful Post: [ Click to Expand ]
 
aaricchavez
Old
(Last edited by aaricchavez; 27th April 2012 at 01:06 PM.)
#9  
aaricchavez's Avatar
Senior Member - OP
Thanks Meter 47
Posts: 169
Join Date: Aug 2010
Location: Tampa

 
DONATE TO ME
Quote:
Originally Posted by AraKs View Post
I searched info trought the TI OMAP 4430 documentation about the USB implementation.

(i have to "hide" the link or i won't be able to post!)

Here you can find a block diagram of a reference USB implementation:
h_t_t_p://w!w!w.ti.com/pdfs /wtbu/OMAP4430_ES2.x_DM_Public_Book_V_D .pdf
Section
A.4.4.2 USBA0 PHY Implementation Example

Also, Section
2.1 Terminal Assignments
Shows the pinout of the processor

Table
Table 2-1. Ball Characteristics
Shows the chip connections

The document lists also USB0, USB1 and USB2 but i can only see ball pinouts for "usba0_*" and anything like "usba1_*" or "usba2_*".

So i think that there's only one USB connection and you'll have to solder a USB HUB somewhere between the CPU and the USB connector.
Thanks for the help, but how am I going to solder directly to the processor?
And if I could get the correct pins anyways there would be no need to use USB I could just hook the microsd up directly since the 4430 already has those.
If there was a data sheet somewhere out there for this specific board something like what you're suggesting might be possible, but it's not really the way it is now.
And i've never used USB host capabilities before, but from the videos i've watched people on other devices don't use a hub unless they hook up more than one device.
 
AraKs
Old
#10  
Junior Member
Thanks Meter 6
Posts: 12
Join Date: Jul 2010

 
DONATE TO ME
I see. You are right!

Anyway, i came up with another solution for the bluetooth connectivity: it requires a bit of soldering and a couple of kernel modules (or a custom-built kernel).

You can solder some wires from the serial port of the kindle fire:
http://forum.xda-developers.com/show....php?t=1525439

to a UART bluetooth module:
h_ttp://w_w.tdvdesign(dot)com/BluetoothModule/

Then write a script the brings up the bluetooth interface at boot.
In Linux should be feasible, in Android i don't know... maybe there's a praticular framework that needs specific drivers...

---------- Post added at 04:53 PM ---------- Previous post was at 04:23 PM ----------

Enable kernel bluetooth+UART HCI:
ht_tp://docs.blackfin.uclinux(dot)org/doku.php?id=bluetooth_over_uart

The Following User Says Thank You to AraKs For This Useful Post: [ Click to Expand ]
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes