These instructions provide hints to built a serial cable from a cheap non-original Samsung E810 USB data cable. The E810 cable is only needed to provide a suitable connector which can be plugged into the GP2x EXT port. Additionally the cable provides a convenient USB connector and has a level shifter built-in.


Hints on the cable

Non-original cables vary greatly in their circuit design and connector specifics. However since the cable should work for the phone it will work for the GP2X, too. There is only one thing your cable should provide: You should be able to open the box containing the EXT port connector otherwise you will not be able to change the wiring or solder anything.

How is it done?

A serial cable needs 4 lines: receive (Rx), transmit (Tx), ground (0 Volt) and a power line (+3 Volt).

USB 1.x/2.0 standard A/B cables (not mini/micro) comes with these 4 lines:

Pin Name Cable color Description
1 VCC Red +5 V
2 D− White Data −
3 D+ Green Data +
4 Ground Black Ground

First we will find out/confirm which wires are Tx and Rx on your cable and then we find/confirm a ground and power wire. Finally you will plug these into the connector and you are done.

Soldering needed?

In my case it was not needed to solder anything. This is due to the fact that the EXT port connector of my cable contained pins which I could simply pull out and push them back in another order. If your cable is similar to mine soldering will not be needed for you, too. However if you cable contains a small PCB (like the original Samsung cable has) things are not much more difficult and you can still follow this manual.


You follow these instructions on your own risk. You warranty is taken for damages occured by following them. There is potential for burning the resistors of your USB connector! Ask someone else to do the wiring if you feel unsafe messing with electronics.

General note

It is possible to burn the resistor of your USB connector by doing the stuff below. Do not connect arbitrary wires for a long time. The speaker/headphone test should be done short. Remove the cable from the USB port between the steps (e.g. when you're reading).

This manual was written by an electronics/electrics novice. If someone more experienced with these matters reads this and has ideas on how to make it better: By all means register for the Wiki and change the text!

Stuff you need

  • a speaker or headphones
  • a multimeter
  • a terminal application (minicom on GNU/Linux works perfect)
  • calm hand


  1. open the box with the EXT port connector
  2. pull all pins out of the connector or desolder them

Determining Rx/Tx

  1. plug cable into USB port
  2. start the terminal app
    1. configure your serial device (e.g. /dev/ttyUSB0 on GNU/Linux)
    2. set flow control to software (important!)
  3. take multimeter to find two cable ends which show a difference of 3 Volts
  4. connect one of the cable ends to your speaker/headphone
  5. try connecting another cable to your speaker and press a key in the terminal app
    1. if you hear clicking sounds you have found Tx
    2. if not try another cable
  6. write down the color of your Tx cable (it will be connected to the GP2x Rx pin (pin 22)
  1. try connecting your Tx cable to another cable and type something in your terminal app
    1. if you see the character you typed on screen you have found Rx
    2. if not try another cable
  2. write down the color of your Rx cable (it will be connected to the GP2x Tx pin (pin 23)

Thanks to the guys from the NSLU2 Wiki for providing the idea with the speaker/headphone.

Determining ground and power

  1. put your multimeter into voltage measurement mode
  2. plug the cable to your USB port
  3. connect a wire to the multimeter
  4. try another wire until the multimeter shows around 3.3V or -3.3V (not 3.7, -3.7)
  5. declare one of the wires to be ground the other to be power


If your cable has pins just push them back in the following order:

  1. power at pin 20
  2. Tx at pin 22
  3. Rx at pin 23
  4. ground at pin 24

Look carefully that the pins do not touch each other. My cable had tiny sleeves around the wire which I could push over the pins to separate them cleanly.


  1. plug the USB cable in
  2. start terminal app
  3. set 115000 bps, 8 bits, no stop bits (sometimes referred as: 115000,8,N)
  4. set flow control to software
  5. start GP2x
    1. GP2x shows crazy colors
      1. no panic
      2. switch GP2x off
      3. swap ground and power and try again
    2. terminal app shows but messages: Well done!
Personal tools