How to use Virtual Terminal in Proteus, virtual terminal in proteus, virtual terminal proteus, virtual terminal proteus isisHello everyone, I hope you all are doing great. In today’s tutorial, we will have a look at How to use Virtual Terminal in Proteus ISIS. It’s our 5th tutorial in Proteus Series. I will first explain what is virtual terminal and then we will have a look at its uses and performance in Proteus ISIS.

Virtual Terminal is an important tool available in Proteus and it comes quite in handy while working on serial modules i.e. GSM, GPS, XBee etc. So, let’s get started with Virtual Terminal in Proteus.

What is Virtual Terminal ?

How to use Virtual Terminal in Proteus, virtual terminal in proteus, virtual terminal proteus, virtual terminal proteus isisVirtual Terminal is a tool in Proteus, which is used to view data coming from Serial Port (DB9) and also used to send the data to Serial Port. In windows XP, there’s a built in tool named Hyper Terminal, which is also used for the same purpose but in windows 7 there’s no such tool, so for windows 7 users this virtual terminal is quite a great comfort. If you guys don’t know about serial port then I would suggest you to read this tutorial to get better idea of serial port:

I have posted many tutorials on my blog in which I have communicated over Serial port using different software. For example, you can check this Serial communication in MATLAB and can also have a look at Serial Communication in Visual Studio 2010. As serial communication is too common, so almost every microcontroller supports Serial communication. Arduino UNO has builtin single serial port at its pins 0 and 1, while Arduino Mega 2560 has built in four Serial ports in it. Similarly, PIC Microcontroller also supports Serial port and it is also available in 8051 Microcontroller.

Uses of Virtual Terminal

Virtual Terminal in Proteus, as I explained above, is used to send or receive data to or from a serial port. Serial port is a 9 pin port which is mostly find on the computers and is used in Embedded System Projects for data communication. Normally in student projects, data is sent from hardware to computer via serial port and then user design some application on their computer to view that data in some represent-able form.

Now, in projects there are some testing steps which are quite helpful, if we use them properly, and these testing steps require some tools in order to test the process. Like, suppose some student have designed the hardware to send the data to the computer and have also design its application to receive it and now when he tests it he didn’t receive any data. At that point student got tensed and don’t know where’s the error so at that point there’s may be some error in the hardware or may be in the software.

Now, in order to be sure he need to test both of them separately and here is the point where virtual terminal is used. First connect your hardware with the computer and then run the hardware and check whether you are receiving data on the virtual terminal or not. If you are receiving it, means your hardware is okay and the problem is in software side and if you are not means your hardware is not so good.

Whenever I start working on some projects, I always make sure that I am going in right direction like if I have to made this project then after completing my hardware, I will first check it via this virtual terminal and once I got sure that my hardware is okay then I will move to the software part. If you are gonna design the hardware then I think you must check Serial communication with 8051 Microcontroller, which is also designed in Proteus ISIS software and the data is displayed using the same virtual terminal.

There are also many other applications of this terminal like suppose you wanna design some circuit in Proteus which involves serial port then you can add this terminal on your circuit and can test it before going to the hardware, which we will shortly see below. So, now let’s get started with Virtual Terminal in Proteus.

How to Use Virtual Terminal in Proteus ISIS?

  • First of all open the Proteus ISIS and click on the P button to search for the components, as we seen in previous tutorials.
  • Now in the search box type “COMPIM” , when you search this a result will show up as shown in the below figure:

How to use Virtual Terminal in Proteus, virtual terminal in proteus, virtual terminal proteus, virtual terminal proteus isis

  •  After Selecting this, click OK to add this component in the database.
  • COMPIM is the serial port in Proteus and using its properties we can assign any COM pin of our computer to it and it will behave like that pin. We will change the properties shortly.
  • Now, click on the Virtual Instrument Mode and then on the Virtual Terminal as shown in the below figure and add it in the Proteus workspace.
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • Now join the TXD pin of COMPIM with the TXD pin of Virtual Terminal and RXD with RXD as shown in the figure below:
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • Now, double click on the COMPIM to open the Properties menu and set the properties as shown below:
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port,
  • I have selected COM1 and my baud rate is 9600, you can set it whatever you want like if you are using the COM3 then set the port to COM3 and baud rate of your own choice.
  • Similarly open the properties of the virtual terminal and make sure that the baud rate is same in both the cases.
  • Now connect your hardware with the computer and play the simulation. Again make sure that the port which you have selected for the COMPIM is same port with which you have attached your hardware.
  • After you play the simulation a black window will open up which will show the data coming from your hardware to the COM1 pin as shown below:
How To Use Virtual Terminal in Proteus ISIS,Virtual Terminal in Proteus, Get data on virtual port, virtual terminal proteus, virtual terminal proteus isis
  • This black box is actually the Virtual Terminal which is showing data coming from my hardware.
  • If you play the simulation and this Virtual Terminal doesn’t pop up then right click on the Virtual Terminal Component and then click on Virtual Terminal which will be at the end in the options and this black window will open up.

I think you guys have got much of the idea of this Virtual Terminal in Proteus ISIS. If you have any problem anywhere, ask in comments and also subscribe to our newsletter via email to get these amazing tutorials right into your mailbox. In the next tutorial, I have explained How to use Oscilloscope in Proteus ISIS. Thanks, take care.



    * RocknRoll.c
    * Created: 30/08/2013 09:21:43 م
    * Author: samsoma

    Macros and Defines
    #define F_CPU 9600//System clocks for perfect USART communications should be multiples of
    //1.8432MHz which when used will give a 0.00% error.
    #define BAUD 9600
    #define MYUBRR ((F_CPU/16/BAUD)-1)

    Function Prototypes
    void usart_init(uint16_t ubrr);
    char usart_getchar( void );
    void usart_putchar( char data );
    void usart_pstr (char *s);
    unsigned char usart_kbhit(void);

    int main( void ) {
    // configure PORTA as output
    DDRA = 0xFF;
    // setup PORTB data direction as an input
    DDRB = 0;
    // make sure it is high impedance and will not source
    PORTB = 0;
    // fire up the usart
    usart_init ( MYUBRR );
    // dump some strings to the screen at power on
    usart_pstr(“Ready to rock and roll!nr”);
    usart_pstr(“Type in a character, and I will transpose it up by 1:nr”);
    // main loop
    while(true) {
    // if a key has been pressed, then process it
    if(usart_kbhit()) {
    usart_putchar(usart_getchar() + 1);

    // map the PINB inputs to the PORTA outputs

    // a little humor is always good, PB0 gets the user yelled at
    if(bit_is_clear(PINB,PB0)) {
    usart_pstr(“OUCH! Stop poking me!nr”);

    usart Related
    void usart_init( uint16_t ubrr) {
    // Set baud rate
    UBRRH = (uint8_t)(ubrr>>8);
    UBRRL = (uint8_t)ubrr;
    // Enable receiver and transmitter
    UCSRB = (1<<RXEN)|(1<<TXEN);
    // Set frame format: 8data, 1stop bit
    UCSRC = (1<<URSEL)|(3<<UCSZ0);
    void usart_putchar(char data) {
    // Wait for empty transmit buffer
    while ( !(UCSRA & (_BV(UDRE))) );
    // Start transmission
    UDR = data;
    char usart_getchar(void) {
    // Wait for incoming data
    while ( !(UCSRA & (_BV(RXC))) );
    // Return the data
    return UDR;
    unsigned char usart_kbhit(void) {
    //return nonzero if char waiting polled version
    unsigned char b;
    if(UCSRA & (1<<RXC)) b=1;
    return b;
    void usart_pstr(char *s) {
    // loop through entire string
    while (*s) {


  2. hello,

    thank you for your good tutorial, i want to test my code on proteus wethout any harware, then i want to connect mikroC to proteus with virtual serial port emulator but the UART Terminal open with error and i can’t chose the COM port,thank you

    • Hi,

      Yes you can also use it for Bluetooth as bluetooth works on COM Port, check the COM port of your bluetooth in its Properties and give that COM Port in the Virtual terminal of Proteus.


  3. I am using usb to RS232 converter and in device manager its showing port COM9. How can i select COM9 in proteus? There’s only Com1 to Com4 options

  4. Hi.
    I m having both versions of proteus 8 as well as 7. And I want transmit data wirelessly . But I didn’t fine wireless modules in any of this version .
    Can anybody plz help me with it ..
    I wanted what version of have wireless module like KST-TX01.

  5. hiii.i am doing a final year project. in that i have to interface a bluetooth module hk4u with pic16f872. so for that i need a code n proteus simulation diagram .. in proteus i cant find bluetooth module so plz anyone can tell me n provide me code also…

    • You can’t use this module in Proteus because its library is not given. As the code is concerned, we can provide you the complete code for this project.

  6. hiiii…. i have used protesus 8..But if I make right click on virtual terminal then there is no option for virtual terminal at the end of list

  7. After setting up the devices for simulation my virtual terminal doesnt display the data from the gps module and even after right clicking it i cant find a place to enable displaying of the data …i need a hand on that

  8. Hi dude.
    I play the simulation and this Virtual Terminal doesn’t pop up and I do right click on virtual terminal component but any of options are not changeable. what can I do?
    I’m new in protues.
    plz explain clearly.tnx.

    • I’m using peroteus 8.3 but I ‘ve solved this problem .
      If this problem happened to someone you can solve that like this:
      in debug menu you mush select Digital oscilloscope.

    • Add me n Skype and we will discuss it in detail. Its not easy to receive data from APP to virtual terminal. My Skype id is theenggprojects.


  9. I’ve seen a video on youtube, there COMPIM and arduino were interfacing with visual basic. I’ve designed a PIR circuit in VB and want to interface PIR+Arduino simulation in proteus. Is it possible? kindly help me out.

Leave a Reply

Your email address will not be published. Required fields are marked *

Post comment