I have a iRobot Create model 4400 and I need to send commands to the open interface through Ubuntu. I'm using gtkterm at 57600 baud but when I press play button, it only drives around itself. I have tried to send commands as raw data and as hexadecimal data but it doesn't work.

What am I doing wrong?


2 Answers 2


The Roomba expects binary data. When you type in gtkterm, you are sending ASCII data. (Unless there is a feature of gtkterm i don't know about). For example when you type "128" into the terminal, you are actually sending 3 bytes of data: [49 50 56]. And because many commands of the OI Spec are outside the typeable ASCII range, using the terminal in this manner won't work.

You should use a programming language such as C, C#, Python, etc to send the data packet.

  • $\begingroup$ Finally I've used Python and Pyserial library. Thanks! $\endgroup$ Feb 3, 2016 at 13:06

Have you tried sending the example commands from the manual?

Make sure you are entering an OI mode before you try to send an actuator command or sensor reading command. Otherwise, the commands will be ignored.

Posting the commands you are sending would also be helpful in understanding the problem you are having.


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.