How To Use PuTTY To Read Serial Port Data: A Complete Engineering Guide

How To Use PuTTY To Read Serial Port Data: A Complete Engineering Guide

How to Use Putty in Windows: Install, Connect, & More

To read serial port data using PuTTY, you must first identify the active COM port number via the Windows Device Manager, select the Serial radio button in the PuTTY configuration window, and input the exact baud rate required by your hardware. Establishing a successful 8-N-1 connection (8 data bits, no parity, 1 stop bit) is the industry standard for debugging embedded systems, routers, and industrial controllers.

Hardware Synchronization and Pre-Configuration Requirements

Before initiating a serial session in PuTTY, it is essential to ensure that the physical layer of the communication stack is correctly established. Serial communication, unlike plug-and-play USB protocols, requires strict adherence to hardware parameters. If your workstation lacks a native DB9 RS-232 port—which is common in modern computing—you will likely be using a USB-to-Serial adapter. These adapters rely on specific chipsets, such as FTDI, Prolific, or CH340, each requiring specialized drivers to translate serial signals into a virtual COM port that Windows can recognize.

Essential Equipment and Standards Checklist



  • Primary Hardware: A functional USB-to-Serial bridge or a direct RS-232 DB9 connection. If you are interfacing with a microcontroller like an Arduino or ESP32, the onboard USB-to-UART bridge serves this purpose.
  • Driver Verification: The latest vendor-specific drivers (e.g., FTDI VCP drivers) must be installed to prevent "Code 10" errors in the device manager.
  • Physical Connectivity: A Null Modem cable or a standard straight-through cable depending on whether the target device is configured as Data Terminal Equipment (DTE) or Data Circuit-terminating Equipment (DCE).
  • Software Standards: PuTTY version 0.70 or higher is recommended for stability on Windows 10 and 11 environments.
  • Time Allocation: Initial configuration typically takes 5 to 10 minutes, assuming drivers are pre-installed.

Systematic Workflow for Establishing a Serial Connection

Reading data from a serial port involves a precise sequence of identifying the communication channel and matching the software parameters to the hardware’s internal clock. Any discrepancy in these settings will result in illegible characters or a failed connection.



Step 1: Identifying the Active COM Port

The operating system assigns a unique identifier to every serial interface. To find yours, right-click the Start button and select Device Manager. Locate the section labeled Ports (COM & LPT). Expand this section to see a list of active ports. Your device will typically appear as USB Serial Port (COMx), where x is a numerical value.

Pro-Tip: If you see multiple COM ports and are unsure which one belongs to your device, unplug the USB cable and watch the list refresh. The entry that disappears and reappears upon reconnection is your target port. Note this number precisely for use in PuTTY.



Step 2: Launching and Configuring the PuTTY Session

Open PuTTY. On the initial Configuration screen, the default connection type is usually set to SSH. To read serial data, you must navigate the following settings:



  1. Locate the Connection type selection under the Host Name field and click the Serial radio button.
  2. In the Serial line field, replace the default COM1 with the specific COM port number identified in Step 1 (e.g., COM4).
  3. In the Speed field, enter the baud rate. The most common default for modern electronics is 9600, though high-speed debugging often uses 115200.
  4. Navigate to the Category tree on the left and select Connection, then Serial. Here you can verify the data bits (usually 8), stop bits (usually 1), and parity (usually None). Flow control should generally be set to None unless your specific hardware requires Hardware (RTS/CTS) or Software (XON/XOFF) handshaking.


Step 3: Optimizing Terminal Behavior for Readability

By default, PuTTY acts as a raw terminal. If you are interacting with a device that requires you to send commands as well as read data, you may need to adjust the terminal behavior to see what you are typing.



  1. In the Category tree, go to Terminal.
  2. Under Local echo, select Force on if you want to see the commands you type into the console.
  3. Under Local line editing, select Force on if you want PuTTY to buffer your input until you press Enter, which is helpful for correcting typos before transmission.


Step 4: Initiating the Data Stream

Once the parameters are set, click the Open button at the bottom of the PuTTY configuration window. A black console window will appear. If the hardware is powered on and transmitting, you will immediately see data scrolling through the window.

Warning: Never unplug the USB-to-Serial adapter while a PuTTY session is active. Doing so often causes the software to hang or may cause a Blue Screen of Death (BSOD) in older versions of Windows due to the sudden removal of a virtualized hardware resource. Always close the PuTTY window before disconnecting the hardware.



Step 5: Capture and Logging for Analysis

If you are using PuTTY to debug a system over a long duration, reading the data in real-time is insufficient. You must log the data to a text file for later analysis.



  1. Before clicking Open, go to the Category tree and select Session then Logging.
  2. Select All session output.
  3. Click the Browse button to select a destination on your hard drive and name the file (e.g., serial_log.txt).
  4. Ensure that Always append to the end of it is selected if you want to preserve previous logs, or choose Always overwrite if you only need the most recent data.

How to use serial port in raspberry pi - nsalex

How to use serial port in raspberry pi - nsalex

Serial Communication Standards and Parameter Specifications

The following table outlines the standard configurations used in serial communication. Matching these values between PuTTY and your hardware is the most critical factor for successful data retrieval.



Parameter Name Standard Value Alternative Values Technical Purpose
Baud Rate 9600 115200, 57600, 38400 Determines bits per second; must match hardware clock.
Data Bits 8 7, 5, 6 Defines the number of bits in a single character packet.
Stop Bits 1 1.5, 2 Signals the end of a data packet to the receiver.
Parity None Even, Odd, Mark, Space A basic form of error checking used in noisy environments.
Flow Control None RTS/CTS, XON/XOFF Manages data flow to prevent buffer overruns.
Voltage Level TTL (3.3V/5V) RS-232 (+/- 12V) Critical hardware physical spec; mismatch can fry chips.

Troubleshooting Serial Connection Failures and Data Corruption

Serial communication is highly susceptible to configuration errors and physical interference. If the PuTTY window remains blank or displays unreadable "garbage" characters, use the following troubleshooting protocols.



  • Symptom: PuTTY returns "Unable to open connection to COMx: Access Denied"



    • Root Cause: The COM port is currently being accessed by another application, such as the Arduino IDE Serial Monitor, a different terminal emulator, or a proprietary manufacturer utility.
    • Actionable Fix: Close all other software that might be monitoring the serial port. If the issue persists, unplug the adapter, wait five seconds, and plug it back in to force the OS to release the handle on the port.
  • Symptom: The screen displays strange symbols, blocks, or accented characters.



    • Root Cause: A baud rate mismatch. If the device is transmitting at 115200 baud but PuTTY is set to 9600, the timing of the start and stop bits will be misaligned, leading to bit-shifting and corrupted character interpretation.
    • Actionable Fix: Close the current session, check the documentation for your hardware to confirm its native baud rate, and restart the PuTTY session with the corrected speed.
  • Symptom: Data is visible but appears as a single long line without line breaks.



    • Root Cause: The target device is sending Carriage Return (CR) characters without Line Feed (LF) characters, or vice versa.
    • Actionable Fix: Go to the PuTTY configuration under Terminal and then Implicit LF in every CR. Checking this box will force PuTTY to start a new line every time a carriage return is received, formatting the data into a readable vertical list.
  • Symptom: No data appears even though settings are correct.



    • Root Cause: Wiring error, specifically the swapping of Transmit (TX) and Receive (RX) lines.
    • Actionable Fix: Ensure that the TX pin of your device is connected to the RX pin of your adapter. If you are using a DB9 cable, ensure you are using a Null Modem cable if connecting two DTE devices.

Frequently Asked Questions



Why does my COM port number change every time I plug in my device?

Windows assigns COM port numbers based on the USB port used and the unique serial number of the USB-to-Serial chip. To prevent this, always plug the device into the same physical USB port on your computer, or use the Advanced settings in the Device Manager to manually assign a fixed COM port number to that specific adapter.



Can PuTTY read serial data from a Linux-based system?

Yes, PuTTY is cross-platform. On Linux, instead of a COM port, you will typically point PuTTY to a device file such as /dev/ttyUSB0 or /dev/ttyS0. You may also need to grant the current user permission to access the dialout group or use sudo to launch PuTTY to bypass permission denied errors.



What is the maximum cable length for reading serial data reliably?

For standard RS-232 levels (using DB9), the limit is approximately 50 feet at 9600 baud. For TTL levels (3.3V or 5V used in microcontrollers), the distance is much shorter, usually less than 3 feet, before electromagnetic interference and voltage drop cause data corruption.



How do I send a Break signal through PuTTY?

Some industrial hardware requires a "Break" signal to interrupt the boot process or enter a diagnostic mode. In an active PuTTY serial session, you can send this by right-clicking the title bar, navigating to Special Command, and selecting Break.



Can I change the baud rate without closing the PuTTY window?

No, the baud rate is initialized when the session starts. To change the speed, you must close the current window and start a new session with the updated parameters, or use the Change Settings option by right-clicking the title bar, though a restart of the session is often more reliable.

Mastering Professional Hardware Debugging

Implementing these serial communication protocols allows for precise monitoring and control of hardware interfaces in any technical environment. For those seeking to further automate their data collection, exploring PuTTY's command-line arguments can enable scripted session launches for high-efficiency workflows.


Unable to read serial ports via java - Support - Appium Discuss

Unable to read serial ports via java - Support - Appium Discuss

Read also: Miami County Public Access Ohio: Your Complete Guide to Searching Court, Criminal, and Property Records
close