minicom is a text-based serial communication program for Linux, modeled after the classic DOS program Telix. It provides a full-featured terminal for connecting to serial devices — microcontrollers, routers, switches, modems, and embedded systems over UART. It supports file transfers (Zmodem, Xmodem, Ymodem), session logging, and saved connection profiles for different devices.
Signal guide SG-03 uses serial communication to interact with Arduino boards and debug hardware projects. minicom is the traditional Linux serial terminal — it has been the go-to tool for embedded engineers and network administrators for decades. If you are SSH-ed into a headless Linux box and need to connect to a serial device, minicom is likely already in the package manager. Its menu-driven configuration and persistent saved settings make it particularly useful when you regularly connect to the same devices at the same baud rates.
Debian/Ubuntu:
sudo apt install minicom
Fedora/RHEL:
sudo dnf install minicom
Arch Linux:
sudo pacman -S minicom
macOS: minicom is not natively available on macOS. Use screen instead (pre-installed), or install minicom via Homebrew with brew install minicom if you specifically need it.
sudo minicom -s
Navigate to "Serial port setup." Press A to set the serial device (e.g., /dev/ttyUSB0), press E to set baud rate/parity/bits (e.g., 115200 8N1). Select "Save setup as dfl" to save as the default profile, then "Exit" to start the connection.
sudo minicom
Or specify the device directly: sudo minicom -D /dev/ttyUSB0 -b 115200
Serial devices under /dev/ are owned by root and the dialout group. Either run minicom with sudo or add your user to the group: sudo usermod -aG dialout $USER. Log out and back in for it to take effect.
minicom enables hardware flow control (RTS/CTS) by default. Most USB-to-serial adapters and microcontrollers do not use it, which causes minicom to hang or show no output. In setup (minicom -s), go to "Serial port setup," press F to toggle "Hardware Flow Control" to "No."
All minicom commands start with Ctrl+A. Pressing Ctrl+A then Z shows the help screen with all available commands. This is the same escape key as GNU Screen, so they conflict if you run minicom inside a screen session — use Ctrl+A A to pass through to the inner program.
minicom defaults to /dev/modem which likely does not exist on modern systems. You must configure the correct device path in setup. List your serial devices with ls /dev/ttyUSB* /dev/ttyACM* or check dmesg | tail after plugging in the USB adapter.
When you run sudo minicom -s and save, the config is stored in /etc/minicom/. Named profiles can be saved with "Save setup as..." and recalled with minicom profile_name. This is useful for maintaining separate configs for different devices (e.g., one for Arduino at 9600, one for ESP32 at 115200).
Last reviewed: March 2026