Proteus is a widely used application favored by developers and engineers
to simulate electrical circuits. Proteus is often used when modeling
and designing programmable devices such as microprocessors and
We present this short tutorial showing how you can create virtual serial interfaces in Proteus using Eltima’s Virtual Serial Port Driver software.
Our demonstration will involve testing a microcontroller application’s functionality. A “host program” will be used to send data to a microcontroller via the UART communication protocol. We have chosen to enact this communication with a MAX232 chip, which is a UART-COM converter, to connect the microcontroller to the computer.
Method of working with Proteus
Proteus is our tool of choice to verify the communication between the
microcontroller and computer. We will add a serial port model that
connects the RXD and TXD, ensuring that any data transmitted to the
microcontroller is sent right back to the computer. This will confirm
that Proteus is capable of establishing serial communication.
It would be nice if there was a native facility within Proteus that creates virtual serial ports with which we could simulate communication with physical ports. In that case, we could simply use Serial Port Terminal to serve as the host program and run a device simulation on Proteus to evaluate the connection. We will, however, need to employ additional software if we desire to create virtual serial ports in Proteus.
Proteus interacts with the COM port model using the resource known as COMPIM.
What is COMPIM in Proteus?
COMPIM is used to model physical COM interfaces in Proteus. It works by
capturing and buffering serial signals which it then presents to the
electrical circuit. The computer’s serial ports will be used to conduct
all serial data originating from the CPU or the UART model.
Virtual serial ports can also be created using USB or Bluetooth connectivity by using several technical workarounds. Baud rate conversion is possible when using the COMPIM model. Verification of the virtual and physical characteristics of the device can be implemented through the addition of optional hardware to software.
Two ways of working with Proteus
Testing the “host program” “COM port” “device model functionality in
Proteus can be accomplished with either of these two methods.
Use two computers connected through their serial ports. One machine is used to run the host program while the other computer runs the device simulation.
Using a serial cable to connect to two physical ports, one of which is where the host program is running while the second is configured as a virtual port in Proteus.