I use a third-party modified Arduino that has the correct voltages and current limitations to control my robot. I additionally want to connect a Raspberry Pi Zero W to the Arduino that is evaluating a USB webcam. The Zero should send some picture evaluation data to the Arduino. I've gone through several possibilities to connect the two controllers, but each of them is not very easy:

I²C: My custom Arduino has only one I²C port that is used to communicate with external sensors. As far as I know, the Raspberry is not able to act as an I²C slave, so I'd have to connect all sensors to the Raspberry Pi which is very bad.

USB: Since the Pi is using a USB webcam, I would have to use a hub to connect it to the Arduino. I don't want to have a big USB hub in my robot.

UART: If I understood the information on the internet correctly, it is possible to use the GPIO UART interface parallel to the USB interface of my Raspberry Pi Zero. But because of the fact that my Arduino is custom, there is no free accessible RX/TX or other digital pin. I would have to solder a cable on the PCB. Or can I use a UART to USB adaptor to connect to the Arduino?

Do you have any other (better) ideas? What is the best way for connection? Help is highly appreciated :)

Thank you

  • what type of data are you wanting to go between the two
    – Chad G
    Mar 5, 2018 at 16:08
  • 1
    You could use software serial on the arduino side, then it can be any pair of digital pins
    – Chad G
    Mar 5, 2018 at 16:09
  • Sorry, I forgot to mention: I don't have direct access to any digital pin...
    – fecavy
    Mar 5, 2018 at 17:17
  • using the usb seems like your best bet then
    – Chad G
    Mar 5, 2018 at 17:18
  • If the Ardino is 5V and the Pi 3.3V, make sure you have a logic level-shifter that will handle the voltage difference for you. Apr 11, 2023 at 7:55

1 Answer 1


can I use a UART to USB adaptor to connect to the Arduino

Presuming the adapter can be toggled to use 3.3V, I don't see why not; UART is a symmetrical protocol.

I had thought the USB port on the Arduino used hardware flow control, which the Pi GPIO UART cannot provide, but a casual google search reveals that's not true (the Arduino doesn't use flow control).

However, you might want to confirm this on Arduino.SE.

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.