Here are some examples for controlling the matrix via the RS232 port... Bit 0: output 1. Hex 0x01 in binary is 0000 0001 represented to switch to output 1 Bit 1: output 2. Hex 0x02 in binary is 0000 0010 represented to switch to output 2 Bit 2: output 3. Hex 0x04 in binary is 0000 0100 represented to switch to output 3 Bit 3: output 4 Hex 0x08 in binary is 0000 1000 represented to switch to output 4 Bit 4: output 5 Hex 0x10 in binary is 0001 0000 represented to switch to output 5 Bit 5: output 6 Hex 0x20 in binary is 0010 0000 represented to switch to output 6 Bit 6: output 7 Hex 0x40 in binary is 0100 0000 represented to switch to output 7 Bit 7: output 8 Hex 0x80 in binary is 1000 0000 represented to switch to output 7 For example, if want switch the input 1 to output 1: the input byte is 0x00 the output is 0x01. If you want switch input 1 to output 2, the input byte is 0x00,the output byte is 0x02. If you want switch input 1 to output 3, the input byte is 0x00,the output byte is 0x04. If you want switch input 1 to output 4, the input byte is 0x00,the output byte is 0x08. If you want switch input 1 to output 1 and out 2, the input byte is 0x00,the output byte is 0x03. If you want switch input 1 to output 1, output 2 and output 3,the input byte is 0x00,the output byte is 0x07. If you want switch input 1 to output 1 2 3 4 5 6 7 8, the input byte is 0x00,the output byte is 0xff. Another example: Switch input 3 to output 2: 7B 7B 01 02 02 02 F7 7D 7D Checksum = 0x7b+0x7b+0x01+0x02+0x02+0x02+0x7d+0x7d=1F7, checksum is the low 8bit, so the checksum = F7