Pololu Robotics & Electronics
My account Comments or questions? About Pololu Contact Ordering information Distributors

Serial Communication


Hello, I’m new to this forum, and I needed some help with serial communication.

We are in a high school robotics class and need some help with communicating with the robot. What is the best program to use for serial communication and how do we use it?



My favorite serial terminal program (for Windows) is called Br@y terminal, and you can read more about it on this thread (which you might find useful anyway). To use it, you just pick your com port, baud rate, and protocol settings (usually 8 data bits, no pairity, 1 stop bit, no handshaking) and click connect. Incoming bytes will be displayed in the top half of the window in your choice of HEX or ASCII format, and you can pull up additional side bars with decimal, hex, or binary bit values. You type into the bottom half of the window to send bytes, or type out strings of characters into the text box and hit send when you’re done.

There are other nice tricks like programmable macro buttons for frequent commands, and ways to send byte-values rather than just keyboard characters.

Feel free to ask more questions if you run into any trouble.



Thank you very much for your help. I will return to this thread if I have any further questions.


I am using windows hyper terminal and unable to elicit a response from the jrk 21v3 controller for the following command
0Xaa 0Xc4 0x4c to get the motor running
I also tried 170 196 76 as the input.
both of the above command lines work well with the pololu serial utility.
I have been unsuccessful in communicating with the controller through hyper terminal.
Thanks for your help


When you just type characters into Hyper Terminal it transmits those ASCII characters, not the byte values you’re trying to represent.

So, when you type: 0Xaa 0Xc4 0x4c
Hyper Terminal actually sends: 0x30 0x58 0x61 0x61 0x20 0x30 0x58 0x63 0x34 0x20 0x30 0x78 0x34 0x63

And when you type: 170 196 76
Hyper terminal actually sends: 0x31 0x37 0x30 0x20 0x31 0x39 0x36 0x20 0x37 0x36

You can coax Hyper Terminal into sending actual byte values by holding down alt, typing the three character decimal value of the number you want to send (001 instead of 1) and releasing alt. It’s tricky, typos will mess it up, you don’t have a good way to see what you’ve actually sent, and it only works for numbers 126 and less. The only way I know of to reliably send arbitrary binary values with Hyper Terminal is to create a file before hand and transmit that file, although then you need a separate hex editor.

Br@y terminal is a much better Windows terminal program to use. As mentioned above, you can find a link and instructions for sending hex and decimal byte values with it here.

Good luck,