Cutecom-ng is a graphical serial port terminal,
available for all major platforms (Linux, Mac OSX and Windows),
written in Qt5
- auto-detection of serial ports
- readline-like history for sent commands
- splittable terminal window for easy browsing
- handy search feature
- configurable end of line char
- binary or text-mode dump file
- XModem file transfer
- more to come... contributions welcome 😃
Cutecom-ng binaries are available for Linux, Windows and Mac OSX
They are all available here
- deb package for debian based Linux flavors
- dmg archive for Mac OSX
- zip file with binaries for Windows
-
download the debian package file here
-
sudo dpkg -i cutecom-ng_0.5_amd64.deb
-
if dpkg complains about some missing dependencies, run:
sudo apt-get -f install
or install them yourself
Install cutecom-ng.dmg
Extract zip content where you want
Follow the steps in Build the release yourself
If you want the latest cutecom-ng improvements, not yet available in a pre-built binary, or if your pre-built binaries are not available for your platform
-
download / install Qt5 and the QSerialPort add-on
-
clone cutecom-ng repository:
git clone https://github.com/develersrl/cutecom-ng
-
open ./cutecom-ng/cutecom-ng.pro with QtCreator
-
build
you can easily emulate a serial port with gnu-screen
- download and install gnu-screen
for linux distros with apt package managementsudo apt-get install screen
- if your serial port is
/dev/ttyUSB0
, you do
screen /dev/ttyUSB0 115200
to open the port at the specified baudsrate
To emulate a null-modem connection, you can use socat and gnu-screen.
In our example, we will transmit a file with cutecom-ng using the XModem
protocol, to a virtual serial port created with socat.
screen and rx
are handling the XModem reception
-
install socat, gnu-screen and lrzsz packages:
sudo apt-get install socat screen lrzsz
on ubuntu and other apt based linux distros -
open 2 terminals
-
in the 1st terminal, run:
socat -d -d pty,raw,echo=1 pty,raw,echo=1
basically we tellsocat
to create 2 virtual ports and to open them,
this is the kind of output that you should have:
2015/07/10 09:36:44 socat[18188] N PTY is /dev/pts/12
2015/07/10 09:36:44 socat[18188] N PTY is /dev/pts/16
2015/07/10 09:36:44 socat[18188] N starting data transfer loop with FDs [3,3] and [5,5]
In our example socat created and opened
/dev/pts/12
and /dev/pts/16
.
Arbitrarily, we will choose to use /dev/pts/12
for transmission and /dev/pts/16
for reception.
4. in the 2nd terminal, run:screen /dev/pts/16 115200
this opens a screen session on /dev/pts/16
with a baudsrate of 115200.
Once inside screen, [CTRL-A] followed by :
opens a prompt at the bottom
left of the screen window, write this command but don't run it:
exec !! rx filename
5. open port /dev/pts/12
in Cutecom-ng, with a baudsrate of 115200 and the
default connection settings
6. Click on XModem and choose a file to send. After having clicked to start the
transmission, come back to the gnu-screen terminal and execute the command
7. You can now enjoy the full speed of an XModem transmission 😎
If all goes well, a copy of myfile
named filename
should be created in the
directory you were when you opened the screen session.
❗ Warning, if filename exists it will be overwritten
do
socat -d -d pty,raw,echo=1 SYSTEM:"/bin/bash"
and connect cutecom-ng to the PTY created by socat
All contributions are welcome!
Don't hesitate to file an issue in case of bug, including as many details as you
can (version, platform, qt version, how to reproduce, ...)
People and projects deserving credits are listed in CREDITS
Cutecom-ng is released under the GPL3, see LICENSE