The developer's resource for computer interfacing, especially USB, serial (COM) ports, mass storage, and embedded networking. (Formerly Lvr.com)

Home > Serial Port Central

Serial Port Central

Serial links and networks, including RS-232, RS-485, COM ports, and USB virtual COM ports.

My example code | Chips | Hardware | Software
USB virtual COM ports | Wireless | Design help | Standards and protocols

Serial Port Complete

Serial Port CompleteSerial Port Complete Second Edition covers COM ports, USB virtual COM ports, and ports for embedded systems.

My example code

Code for PCs and PIC microcontrollers.

.NET

The .NET Framework V2.0 and higher include the SerialPort class for accessing COM ports, including USB Virtual COM Ports.

Com Port Demo

As described in Access Serial Ports with VisualBasic.Net (Nuts & Volts, April 2008)

com_port_demo.zip

Terminal application

COM_Port_Terminal for Visual Basic .NET. Created with Visual Studio 2008. Updated April 1, 2009.

COM_Port_Terminal for Visual C# .NET. Created with Visual Studio 2008. Updated April 1, 2009.

Microchip PIC (PIC18F4520)

Serial communications demo

Basic (PICBASIC PRO)
C (Microchip C18)

RS-485 network

Basic (PICBASIC PRO)
C (Microchip C18)

Chips

Chips for serial-port projects.

RS-232 and RS-485

Many of these sources also have application notes.

Exar Corporation

Intersil

Linear Technology

Maxim Integrated Products

Texas Instruments (including National Semiconductor products

UARTs

A UART converts between an asynchronous serial interface and a parallel or other interface.

Intersil. The HD-6402 is an old UART that can be useful for basic monitoring and control applications.

Maxim Integrated Products 16-pin MAX3100 UART with SPI interface and MAX3110E/MAX3111E UARTs with SPI/Microwire and RS-232 interfaces.

Texas Intruments/National Semiconductor PC16550D. The UART used in PCs for many years.

Basic Stamp

Using the Basic Stamp's Serial Port by Jan Axelson (PDF)

A Stamp UART. How to use Maxim's MAX3110E UART to add a buffered asynchronous serial port to a Basic Stamp. From Al Williams.

Hardware products (and some software)

Sources for circuit boards that convert between RS-232 or TTL and RS-485 or similar interfaces, serial-port expansion cards for PCs, cables, software drivers, and other serial-port products.

Acces I/O Products. RS-232 and RS-485 cards and converters.

Antona Corporation. RS-232/RS-422 converters, including one with a video vertical sync interrupt.

ARC Electronics. Converters and an introduction to RS-485.

B+B SmartWorx. Many products and extensive application notes.

Byte Runner Technologies. Serial-port expansion cards..

Cimetrics Technology. RS-485 and BACnet hardware and software for PCs and embedded systems.

Commtech, Inc. Industrial and commercial adapters.

Comtrol. RS-232 and RS-485 cards and serial/USB converters.

Crystalfontz. LCD modules with RS-232 interfaces.

Digi. RS-232 and RS-485 boards

East Coast Datacom, Inc. Data communication products.

Grid Connect, Inc. Many adapters.

I2CChip.com. BL232 IC that converts between asynchronous serial and I2C.

ICS Electronics. Boards with GPIB support.

Integrity Instruments. Converters and free RS-485 drivers for DOS and Windows.

Measurement Computing. RS-232 and RS-485 boards.

National Instruments. RS-232 and RS-485 boards.

Netburner. Development kit for serial-to-Ethernet applications.

R.E. Smith. RS-485 converters and interfaces for every use and a Quick Reference to RS-485, RS-232 and related standards.

Robust DataComm. RS-232 and RS-485 products and application notes, many dealing with grounding and isolation.

Scott Edwards Electronics. Serial LCD modules and other products for Basic Stamps. Scott's PIC Source Book with serial-communications code is free from Dontronics.

Sealevel Systems. Boards and drivers for I/O.

Serialio.com. Hardware and software products for serial communications.

WCSC. Serial communications drivers, other tools, and multiport cards.

TAL Technologies. Software wedge for serial data acquisition and many other utilities.

Traversix. Connectivity System for remote access to your serial-port devices.

USConverters has many serial converters.

Windmill Software. Data-acquisition hardware and software, including free serial-instrument software.

Winford Engineering. Breadboard adapters with 9-pin D-sub connectors.

Software

Hardware also lists some software products.

Embedded systems

PIC Baud rate Calculator. From micromagic systems.

.NET

Microsoft's .NET Framework 2.0 and later include a SerialPort class for accessing COM ports, including USB virtual COM ports (FTDI Chip FT232BM, FT245BM, etc.).

My example code

Other code

SerialPort (RS-232 Serial COM Port) in C# .NET. Using the SerialPort class. From Noah Coad.

Serial Communication using VB.NET. Example code from Corrado Cavalli.

Alternatives to the SerialPort class

HOW TO: Access Serial Ports and Parallel Ports by Using Microsoft Visual Basic .NET. How to use MSComm to access serial ports. Knowledge Base article #823179 from Microsoft.

Visual Basic 6

In Visual Basic 6, use the MSComm control included with the Professional and Enterprise editions. Visual Basic's Learning Edition doesn't include MSComm, but you can use the free XMComm ActiveX control, which wraps the MSComm32.ocx. Many other useful utilities, including a Virtual Null Modem & Virtual Data Monitor and a Remote Serial tool. From Richard Grier's Hard & Software.

Win32

Serial Communications. Using Windows API calls for serial communications, with code in C. From Microsoft.

Virtual serial port drivers

com0com. Open source.

Eltima

Fabula Tech

Tactical Software

See Other Software Tools for more sources.

Terminal emulators

For basic modem or direct RS-232 communications. Use one of these in place of Windows' Hyperterminal (in Accessories).

Advanced Serial Port Terminal. From Eltima.

Com. TGL Microsystems.

MTTTY. Netburner. Free.

PowerVT. Dart Communications.

RealTerm. With debugging capabilities. Free.

SimpleTerm. From PTronix.

Tera Term. Free.

YAT. From Dieter Fauth. Free.

YAT. Operate and debug serial communications. Supports RS-232/422/423/485 as well as TCP-Client/Server/AutoSocket, UDP and USB Ser/HID. From maettu_this. Free.

Other Software Tools

AGG Software. Advanced Serial Port Monitor and Advanced Serial Data Logger.

Any Serial Port. Programming language designed to simplify the development of RS232 based applications. From Orhan Albay.

Eltima Software. Serial Port Splitter, Serial Port Monitor, Serial to Ethetnet Connector, USB Network Gate, more.

GPS decoders and more from Richard Grier's Hard and Software.

HALLoGRAM Publishing. CommTools/DLL.

HHD Software. Serial Monitor.

Knightsoft. CommSniffer data viewer and analyzer. Free.

Labtam. ReMapPro makes serial-port data from a PC available on a TCP/IP-based network and makes TCP/IP data available on a serial port on a PC.

MarshallSoft Computing. Communications libraries for DOS and Windows.

PortMon for Windows monitors and displays all serial and parallel port activity on a system. From Mark Russinovich.

PowerBasic. Basic language compiler that enables accessing four COM ports under DOS (compared to QuickBasic's two).

Prodigy Technovations. PDU-R UART Protocol Analysis Solution for use with Tektronix Windows-based oscilloscopes.

Sax Software. CommStudio alternative to .NET SerialPort class.

SoftSea.com. Serial Player enables recording and playback of data from serial ports. Free.

Software Innovations. RS-232 line analyzer and an ActiveX comm plug in.

Trent Jarvi. Rxtx serial java library. Free.

TurboPower Software Company. TurboPower Async Professional communications toolkit for Borland Delphi, C++Builder, & ActiveX environments. A former commercial product that is now open source. Documentation and support.

Willies Computer Software Co. (WCSC). Serial Communication Libraries and Utilities.

WinTECH Software Design. Listen serial data monitor.

USB virtual COM ports

Some USB devices appear as COM ports on PCs. Applications can access these devices in the same way they access physical COM ports.

A USB virtual COM-port device can use a dedicated-function USB device controller that requires no USB-specific firmware or a general-purpose USB device controller programmed to perform a COM-port function.

Dedicated-function controller

Some USB controller chips have support for virtual COM-port communications built into the hardware. The device's CPU communicates with the controller via a serial or parallel interface. PC applications access the chips via drivers provided by the chip company. USB/serial adapter modules typically contain these chips.

FTDI. Options with serial and parallel ports. Also modules for developing.

MosChip Semiconductor Technology Ltd. USB to UART bridge.

Prolific Technology. USB to Serial bridges.

Silicon Laboratories. USB to UART bridge.

General-purpose device controller with CDC firmware

A device that uses just about any general-purpose full- or high-speed USB device controller can function as a virtual COM-port device. If the device firmware identifies the device as belonging to USB's communication devices class (CDC), the device can use the USB CDC driver included with Windows.

Atmel

Microchip Technology

Libraries for Applications includes virtual COM-port firmware.

Composite CDC devices

To create a composite USB device that contains a CDC function, use an interface association descriptor to specify the CDC interfaces. Windows XP also requires the two hotfixes described in these articles:

The Usbser.sys driver may not load when a USB device uses an IAD. Microsoft Knowledge Base article ID 918365. Updates usbser.sys to version 5.1.2600.2930.

A Tablet PC that is running Windows XP Tablet PC Edition 2005 stops responding (hangs) when you put it into standby or into hibernation. Microsoft Knowledge Base article ID KB935892. Updates usbccgp.sys to version 5.1.2600.3116.

USB host drivers

Instead of using the USB CDC class driver, a general-purpose device controller can use a vendor-specific driver on the host PC. The driver can provide improved performance or support additional capabilities.

HCC Embedded has CDC drivers for hosts and devices.

MCCI has USB Serial Port Migration Products.

USB CDC/ACM Class Driver for Windows. From Thesycon.

USB converter modules

If you don't want to design your own USB interface converter, these are some sources of modules.

AVIT Research's USB to TTL Serial Cable uses a Cygnal chip.

B+B SmartWorx has USB-RS-232/RS-485 converters

Connect Tech Inc. USB-to-serial WhiteHEAT/USB.

Dontronics has modules that use FTDI's chips, the Micro-USB module based on the Silicon Laboratories CP2101-CP2102, and more.

Micro Digital's smxUSBD USB Device Stack includes a serial-port class emulator.

Sealevel Systems has USB-RS-232/RS-485 converters.

Virtual Serial Port Cookbook by Joe Pardue is about developing with an FT232R.

Wireless

Replace the wires with a wireless interface.

Infrared (IR)

IrDA

Hardware interface and protocols for IR communications over distances of up to 1 meter.

Infrared Data Association

IrCOMM2k is a free, open-source Virtual Infrared COM Port for Windows 2000/XP.

Microchip MCP2120 low cost, high performance, fully static infrared encoder/decoder.

Vendor specific

Ziplabel has schematics and code for a free, basic computerized infrared remote project.

Radio (RF)

Bluetooth

For small form-factor, low-cost, short-range radio links.

Bluetooth SIG

Zigbee

Zigbee Alliance.

Hands-On Zigbee (book) by Fred Eady.

Vendor specific

Sources for RF modules include Linx Technologies, Inc. and Digi/MaxStream.

Design help

Books

Serial Port Complete by Jan Axelson

Virtual Serial Port Cookbook by Joe Pardue

Visual Basic Programmer's Guide to Serial Communications by Richard Grier

Articles

My article Designing RS-485 Circuits.

RS232 Data Interface tutorial from ARC Electronics.

Serial Communication via RS-232 Serial Port. From Harsha Perla & Veena Pai .

Connecting two PCs

Connecting Two PCs on my Parallel Port page also covers serial-port connections.

More sources

Chip providers have application notes, design guides, and tutorials.

Tomi Engdahl's PC hardware pages. Links to RS-232 and other serial-port information.

Index to HOWTO documents for Linux, including some Serial Port HOWTOs.

Nullmodem.com. Links from Jim Price.

Standards and protocols

Interface standards

The TIA (Telecommunications Industry Association) publishes the RS-232, RS-485, and similar standards. The standards documents are available from IHS. These are some of the document numbers:

RS-232 is document TIA-232, revision F.
RS-422 is document TIA-422, revision B.
RS-423 is document TIA/EIA-423, revision B.
RS-485 is document TIA-485, revision A.

Protocols

DDCMP (Digital Data Communications Message Protocol) ensures reliable communications over full and half-duplex links, using synchronous or asynchronous transmissions, in links of two or more devices. From Digital Equipment Corp.

The S.N.A.P. protocol defines a simple, general-purpose message format that is useful for monitoring and control networks of all types. Freeware from High Tech Horizons.