I'm on Windows 8.1 and I need a program that allows me to send a hex encoded byte array to a COM port on my computer and then receive an ascii string over that same COM port.

I tried the serial monitor that comes with the Arduino software, but it can only send text.
I tried Putty, but once I was connected I couldn't type anything in the console window.
I tried Termite, but it had the same problem as the Arduino serial monitor.
I tried the following batch script, but it could only send data and I can't receive anything:

@echo off
echo 04185A5A5A5A55AA19A7FFFF00000001FFE0F8BD0001FFF800185A5A5A5A55AA00091A9D000000000000000000000000>example_dump_1.txt
certutil -decodehex example_dump_1.txt example_dump_1.bin

MODE COM8:115200,n,8,1
copy example_dump_1.bin \\.\com8 /b

Sparkfun recommends RealTerm for something like that. I came across RealTerm and this question looking for a similar software. I'm about to fire it up for the first time. I think this software is Windows only.

Sparkfun says:

TeraTerm is awesome for simple ASCII-only serial terminal stuff, but what if you need to send a string of binary values ranging from 0-255? For that, we like to use RealTerm. RealTerm is designed specifically for sending binary and other difficult-to-type streams of data.

On RealTerm's website:

Realterm is an engineers terminal program specially designed for capturing, controlling and debugging binary and other difficult data streams. It is the best tool for debugging comms.

enter image description here

  • I tried RealTerm. It was terrible. I mean look at that GUI. Completely unusable.
    – Timmmm
    Jul 11 '20 at 15:46
  • I like classic UIs like that. I hate the condescending nature of the iPhone UI that half of modern techies love. Nov 28 '20 at 14:14
  • I was not talking about the number of options available or the fact that it uses standard Windows controls. There are plenty of good GUIs with this style and lots of options. This is not one of them! To pick an obvious example: "Display As" has a checkbox randomly chucked in there that doesn't even have a label!
    – Timmmm
    Nov 28 '20 at 20:41

Termite does support sending and receiving binary data. Go to Settings->Hex View.

termite binary data

Then type 0xDEADBEEF or whatever in the input window.


I think that the things are very easy with Python as detailed in ReferenceDesigner. It will allow you to have greater control on what you want to send and you can create and change the script.

import serial
ser = serial.Serial("COM5", 9600) command = b'\x41\x42\x43\x44\x48\x65\x6c\x6c\x6f'
s = ser.read(9)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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