I want to connect PS3 controller to Raspberry Pi to one USB slot and PS3 console to the second USB port. Then I need RPI to simply passthrough from controller to console but with logging of controller buttons actions. What is the easiest way to do it?

Thanks a lot

2 Answers 2


Sorry Raspberry Pi is not capable of this on its own. However alternative methods exist.

A possible alternative is coupling the Pi to a USB-capable Arduino like Leonardo, Due or Zero. The Pi parses the USB commands from the game controller and relays it over some other interface like SPI, I2C or UART, and the Arduino reconstruct the command exactly to the gaming console. This will introduce a lot of delay though and probably ruin your game experience. A better method is to use a real deal USB monitor, Expensive but it introduces virtually zero latency.


This is not possible on a Raspberry Pi, as the RPi's USB ports can only work in host mode. This is fine when connecting a controller, but will not work when connecting the RPi to the PS3. Both the PS3 and the RPi will assume the host role and will hence not be able to communicate.

You might want to look at the Odroid C1+ for this project. It has a mini-USB OTG port, which should be able to work in both host as well as slave mode. This article mentions a few other options as well, such as the Raspberry Pi Compute Module (but you need to check if it can run in both Slave and Host mode at the same time) or smaller microprocessors with OTG capabilities which you could join to the RPi via the GPIO.

Your Answer

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

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