Dante's Serial Port Communication Analyzer v 1.2

Click here to download it now

Click here to see the online help




The main purpose of this tool is to analyze the serial traffic between the PC and some specific hardware devices. It can be very useful to understand the protocol and then to help you to build specific routines in order to communicate with that device.


This version includes specific initialization routines for the following devices:

- IRMan infrared receiver interface;

- Creative Infra infrared receiver interface;

- CM12 X10 standard PC interface;

- GSM Data (to communicate with a data enabled GSM phone by Bluetooth, cable or infrared;

- Transparent mode - use a PC with 2 COM ports to monitor and capture the traffic between a host and a serial device.


If you need to include some other devices in this list, send me a mail with the initialization procedure and I will include them in the next release.


The specific initialization routines set the communication parameters, open the COM port and then send some specific initialization strings.


For the specific case of CM12(X10), when you try to send data after the initialization is complete, it will comply with the X10 protocol:

- PC send the bytes (usually 2 or 4)

- CM12 interface must answer with the checksum of the bytes

- if the answer is correct, then the PC send 0x00

- the CM12 interface answer with 0x55.

Now the send cycle is finished.


An X-10 transmission from the PC to the CM12 interface refers to the communication of a House code and Device Code combination and/or the transmission of a function code. The format is:

- PC send 2 bytes  HEADER:CODE like

    HEADER (8 bit):

            - bit 7-3 Number of Dims (5 bits, but between 0-22 only)

            - bit 2    is allways '1'

            - bit 1     is '1' for a function, '0' for an address

            - bit 0    is '0' for a standard transmission or '1' for an extended one

    CODE (8 bit) format depend if is an Address or a Function


            - bit 7-4    House code (4 bit)

            - bit 3-0    Device code (4 bit)



            - bit 7-4    House code

            - bit 3-0    Function code


House device and device codes are:


  Housecode   Device Code   Binary Value  Hex value
    A             1             0110        0x6
    B             2             1110        0xE
    C             3             0010        0x2
    D             4             1010        0xA
    E             5             0001        0x1
    F             6             1001        0x9
    G             7             0101        0x5
    H             8             1101        0xD
    I             9             0111        0x7
    J             10            1111        0xF
    K             11            0011        0x3
    L             12            1011        0xB
    M             13            0000        0x0
    N             14            1000        0x8
    O             15            0100        0x4
    P             16            1100        0xC

Function codes are:


  Function         Binary Value    Hex Value
All Units Off          0000            0x0
All Lights On          0001            0x1
On                     0010            0x2
Off                    0011            0x3
Dim                    0100            0x4
Bright                 0101            0x5
All Lights Off         0110            0x6
Extended Code          0111            0x7
Hail Request           1000            0x8
Hail Acknowledge       1001            0x9
Pre-set Dim (1)        1010            0xA
Pre-set Dim (2)        1011            0xB
Extended Data Transfer 1100            0xC
Status On              1101            0xD
Status Off             1110            0xE
1tatus Request         1111            0xF

Example: Send the command  'On' to the device with address 'B3':

    Send the following hex rows (one full row for one send):


        04E2                    "set the address B3 and wait for the answer '55'"

        06E2                    " send command ON and wait for the answer '55'"



The graphical interface is very intuitive.




Click here to see the online help for a complete description of the application.



To install the application just unzip the file spca.zip and run spca.exe. Nothing is written in the registry. To launch the application, double click on "spca.exe".

The online help is available as CHM file inside the application too.

To download the program now, click here. The program is distributed as a freeware. The source code is not included.


The program has been tested on Windows 9x/ME/2000/XP 


Program history:


13-Dec-2002:    First beta release (v0.1.x)


If you want to receive an e-mail when a new version is released, please click here.


25-Mar-2003:    First final release (v1.0.x)


- arrows keys (Up and Down) can be used to browse through commands history

- GSM Data Mode : used for test communication with GSM data enabled phones, by bluetooth, cable or IrDA;

- Transparent mode with 2 COM ports (to monitor serial communication between a host and a serial device;

- RESET function for the CM11/CM12 X10 interface;
- extended interface functionality.


20-Aug-2012:    version 1.1.1)


- solving the "run-time error '380': invalid property value" error on Windows 7 and some XP SP3 systems




Wish list (functions to be implemented in the future releases):


- more devices supported by the Initialization function;

- conditional predefined answers;


I kindly ask you to send me any bugs, comments and/or suggestions to:



The development of this application depend a lot on your feedback.

Thank you in advance for your help.

visitors starting with 06 September 2002, based on       

Page ranked by   

Last update on 20 Aug 2012