USB is a good interface but it can be very complicated and confusing(probably only for developers?)

The USB mini-male has 2 types:

  • Mini-A-male
  • Mini-B-male

The USB OTG devices detect itself as a host or client depends on the ID pin(pin 4). USB Mini-A-male has internal wiring to tie the ID pin to GND, which let the host to identify itself as USB host.

While most of the USB Mini-male cable you see on the market is Mini-B-male, which leave the pin unconnected.