Is there a way,

  • with a small board add-on,
  • a simple cable incorporating some specialized chip,

to add a usb slave port to a RPi, to let it be used as a device?

  • 1
    The best thing is to use a USB to TTL/UART (Or USB to I2C) - THen you write the software/ API on the Pi. There isn't really anything where you can extend the Pi, and have it detected on Windows as a Pi and do stuff with, but maybe you can fill the market gap by developing something like that :)
    – Piotr Kula
    Apr 2, 2014 at 8:04
  • 1
    or connect to something like a Teensy[pjrc.com/teensy/], that will show up on a host system as a HID device. Maybe you could explain why you need the functionality we can come up with another solution.
    – rob
    Apr 2, 2014 at 8:35
  • Yea it all depends on what you would like to do, like Rob says. PS Rob your link is dead.
    – Piotr Kula
    Apr 2, 2014 at 11:53
  • The URL is fine, the ']' has been accidentally to the end of it though ;)
    – PiBorg
    Apr 2, 2014 at 13:14
  • @rob, which Teensy version would you suggest ? Can anybody suggest a tuto to capture (from within RPi) data exchanged between the Mini-B port and its Host ?
    – Alain
    Apr 3, 2014 at 2:59

1 Answer 1


Even though the USB port of the RPi is technically an On-the-go (OTG) chip that should support both a reduced set of host and client functionality the B/B+ type of the RPi does not support the device mode. That is related to the included USB hub and the fact that the ethernet is tunneled through USB (see).

If everything else fails, there are examples of software based USB stacks to emulate an USB device on a microcontroller (e.g. the Igor Plug an IR remote control receiver based on an Atmel microcontroller). Of course such attempts only adress low-bandwith features such as human-interface devices (HIDs). If one desperately needs both USB host and device on a board with RPi capabilities one should also look into the BeagleBlack Bone boards.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.