Logic "Analysing" Serial Communication

Lets hit it directly, assuming you are already familiar with Serial Communication.  You might have used it already with Arduino or other microcontrollers, almost all of them are equipped with the UART/USART module.

Serial Communication  — just in case you need a little brushing up.

Serial_comm_protocolThe pic shown above is taken from WiKi, above link.  In this diagram, two bytes are sent, each consisting of a start bit, followed by eight data bits (bits 0-7), and one stop bit, for a 10-bit character frame. The last data bit is sometimes used as a parity bit. The number of data and formatting bits, the order of data bits, the presence or absence of a parity bit, the form of parity (even or odd) and the transmission speed must be pre-agreed by the communicating parties. The “stop bit” is actually a “stop period”; the stop period of the transmitter may be arbitrarily long. It cannot be shorter than a specified amount, usually 1 to 2 bit times. The receiver requires a shorter stop period than the transmitter. At the end of each character, the receiver stops briefly to wait for the next start bit. It is this difference which keeps the transmitter and receiver synchronized.

So, now what we are going to learn to use Logic Analyzer for sniffing out Serial packets.

1. Quickly open Arduino IDE and write something like this simple code and upload it :

void setup()
{Serial.begin(9600);
}

void loop()
{
Serial.println(“Beyond says HI”);
}

2. Connect the Analyzer to the USB port of PC/Laptop.
— Analyzer’s Ground Channel  —> Arduino’s Gnd Pin.
— Analyzer’s Channel 0           —> Arduino’s Tx pin.

3. Open the Logic Software and start Sniffing as per the Video.