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 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)
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.
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.
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.
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.
Zigbee
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.