Hey guys, after seeing Sprite's internal USB hack for the GP2X, I figured it must be possible to do something externally which provides a USB host port without requiring an external power source, so I built one. Now I just need help figuring out why it doesn't work.
I started out with a USB Thumbpad keyboard, some solderless breadboard, a bunch of components, a modified Samsung phone data connector, a mini 4-port USB hub, 20 years of soldering and electronics assembly experience, a very basic understanding of electronics, a gp2x-f200 (4.0.0 firmware), some tools and a bucketful of determination.
First step was to take the 3.3VDC from pin 21, and the ground from pin 13 on the F200's EXT connector and pump it through a MAX631 - using a sample schematic from the MAX631 datasheet - to give us a nice, smooth 5VDC (+/- 1%) to power the USB. To test it before connecting to the F200, I hooked up an external 3.3V supply and confirmed the output at a rock-steady 4.99VDC. So far so good, I connected it to the F200, ran it up on internal battery power and measured the output. Now delivering 5VDC on the nose, interestingly enough.
Using this power source meant I could simplify Sprite's circuit slightly, by omitting the redundant 68uF filter cap, as there's already a 100uF one in the supply circuit. Building the usb data circuit was now no more complex than taking the usb data lines to ground individually using 15K resistors and dropping in a 100nF ceramic disc capacitor across +5V and 0V, then connecting those same data lines to the F200. Pin 2 on the USB socket (pinout here) to pin 9 on EXT connector, and USB pin 3 to EXT pin 10.
Having connected it all up, the F200 - perhaps a little surprisingly - still works perfectly well. I power up the F200 and enable USB host mode from the system menu. The LED lights up on the mini hub, and that's about it. The only USB devices I have are an SD card adapter and the aforementioned thumbpad. The thumbpad works perfectly well plugged into my PC (as does the mini hub and sd reader), but doesn't appear to do anything in Sterm when connected to the F200. Plugging the SD adapter into the mini hub does nothing more than dim the led on the mini hub drastically, but I expected that, as it's an ugly thing that won't even run up on my PC's USB without a seperate supply.
[edit - insert]
Just to double check everything, I severed the 3.3V connection from the F200, and ran an external 3V supply directly into the input of my supply circuit. Oddly, it's exactly the same behaviour as before.
Next, I removed my supply circuit from the equation, and instead powered the USB mini hub directly from an external source. No dimming of the LED this time, but everything else is as before.
[end edit]
Are there some drivers or something I need to install to make the keyboard work, or is it more likely that my circuit is at fault? I don't have a scope or anything to check it, but let's face it, the bit I haven't been able to confirm as working is only two wires, two resistors and a capacitor, so there's not much that can go wrong there.
Argh! Anyone got any clues?
I started out with a USB Thumbpad keyboard, some solderless breadboard, a bunch of components, a modified Samsung phone data connector, a mini 4-port USB hub, 20 years of soldering and electronics assembly experience, a very basic understanding of electronics, a gp2x-f200 (4.0.0 firmware), some tools and a bucketful of determination.
First step was to take the 3.3VDC from pin 21, and the ground from pin 13 on the F200's EXT connector and pump it through a MAX631 - using a sample schematic from the MAX631 datasheet - to give us a nice, smooth 5VDC (+/- 1%) to power the USB. To test it before connecting to the F200, I hooked up an external 3.3V supply and confirmed the output at a rock-steady 4.99VDC. So far so good, I connected it to the F200, ran it up on internal battery power and measured the output. Now delivering 5VDC on the nose, interestingly enough.
Using this power source meant I could simplify Sprite's circuit slightly, by omitting the redundant 68uF filter cap, as there's already a 100uF one in the supply circuit. Building the usb data circuit was now no more complex than taking the usb data lines to ground individually using 15K resistors and dropping in a 100nF ceramic disc capacitor across +5V and 0V, then connecting those same data lines to the F200. Pin 2 on the USB socket (pinout here) to pin 9 on EXT connector, and USB pin 3 to EXT pin 10.
Having connected it all up, the F200 - perhaps a little surprisingly - still works perfectly well. I power up the F200 and enable USB host mode from the system menu. The LED lights up on the mini hub, and that's about it. The only USB devices I have are an SD card adapter and the aforementioned thumbpad. The thumbpad works perfectly well plugged into my PC (as does the mini hub and sd reader), but doesn't appear to do anything in Sterm when connected to the F200. Plugging the SD adapter into the mini hub does nothing more than dim the led on the mini hub drastically, but I expected that, as it's an ugly thing that won't even run up on my PC's USB without a seperate supply.
[edit - insert]
Just to double check everything, I severed the 3.3V connection from the F200, and ran an external 3V supply directly into the input of my supply circuit. Oddly, it's exactly the same behaviour as before.
Next, I removed my supply circuit from the equation, and instead powered the USB mini hub directly from an external source. No dimming of the LED this time, but everything else is as before.
[end edit]
Are there some drivers or something I need to install to make the keyboard work, or is it more likely that my circuit is at fault? I don't have a scope or anything to check it, but let's face it, the bit I haven't been able to confirm as working is only two wires, two resistors and a capacitor, so there's not much that can go wrong there.
Argh! Anyone got any clues?