I would like to follow the instructions here, to allow myself to control the Create2 with a Raspberry Pi 3.

However, this source, says that I need a level shifter to protect my Pi's circuitry from the Create's serial logic signal.

enter image description here

I'm fairly certain that I don't need the level shifter, since it looks like it's more just used to integrate the camera with the Create 2. But I am not in a rush to burn out either of these devices, so I'd like some verification.

  • Thanks a lot for the help guys. I ended up getting the level shifter for future projects, but I didn't need it- the USB-Serial conversion works just fine without it. – L.P. Oct 14 '16 at 15:44
up vote 3 down vote accepted

The Roombots example you posted does not use a level shifter because they are using the Create USB cable to talk to the robot. If you are planning to use this cable, you do not need the level shifter. If you are not planning to use this cable and instead will be interfacing directly to the Raspberry Pi serial pins (on the GPIO header), then the answer below applies:

Yes, you should use a level shifter between the iRobot Create and the Raspberry Pi, and you must use one on the input to the Raspberry Pi. The Create uses 5V logic levels, while the Raspberry Pi uses 3.3V logic levels. The Raspberry Pi output high (3.3V) is high enough for the Create to "see" it as a "high" input, so you don't necessarily need a logic level shifter for the Create inputs. However, a Create output high (5.0V) is higher than the processor on the Raspberry Pi can handle for long, and sustained use will cause the serial port on the Raspberry Pi to fail. The circuit in the drawing is indeed bidirectional, but only one of those directions (Create TX to Pi RX) is being used; you could just as easily replace the FET with a Schottky diode from source to drain and eliminate R2.

Please note that while I'm an iRobot employee, the postings on this site are my own and don't necessarily represent iRobot's positions, strategies, or opinions.

  • I think that you may have edited the wrong answer... did you mean to edit in the disclaimer into your own answer or the answer below? – Greenonline Jul 18 at 14:40
  • Edit to Bharat Joshi's answer rejected. Please be a little more careful Steve. *8') – Mark Booth Jul 18 at 17:12
  • Oh, crap. My bad. (I would edit this one, but I've exceeded my allowed edits for the day. It will have to wait until tomorrow.) – Steve Jul 18 at 20:20

I think we need 5-3.3 bidirectional voltage shifter (not for camera) to communicate between raspberry pi and create controller, since serial communication protocols for Create uses 0-5 voltage range and Raspberry Pi uses 0-3.3 volt range. This dissimilarity might result in signal distortion between the two devices. For instance, raspberry pi might send 2.5V as high signal but in create logic that might not recognize that as high signal. As you stated,5V might be dangerous for raspberry pi circuit that runs on 3.3V. Also, for better communication, I suggest you should build the voltage shifter.

Just buy a level shifter, it's not worth a fried Pi.

For example, SparkFun Logic Level Converter - Bi-Directional.

Your Answer


By clicking "Post Your Answer", you acknowledge that you have read our updated terms of service, privacy policy and cookie policy, and that your continued use of the website is subject to these policies.

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