A life without Communication protocols

In today's tech era if you want to do automation in your project then the protocol are your best friends. Protocols are which makes your life hassle-free. There so many communication protocols which we use in our day to day life but some of them are most popular and easy to understand. So this is for just to understand the brief about communication protocols and basic comparison.

A protocol is a standard set of rules that allow electronic devices to communicate with each other. Each protocol has its own method of how data is formatted when sent and what to do with it once received, how that data is compressed, or how to check for errors in the data. These standards incorporate what sort of information might be transmitted, what directions are utilized to send and get information, and how information exchanges are affirmed.


Sometimes referred to as an access method, a protocol is a standard used to define a method of exchanging data over a computer network, such as a local area network, Internet, Intranet, etc. These standards incorporate what sort of information might be transmitted, what directions are utilized to send and get information, and how information exchanges are affirmed.


All represent standard communications protocols that are available through the Odinub GPIO (General Purpose Input/Output) pins. Each has characteristics that may be better for a particular project.

Data communications are important for devices, like the odinub board, to communicate and exchange "data" with other devices. Examples of devices that the odinub board may communicate include display devices, sensors, robotics, other computers, input devices, industrial controls, scientific instruments,...


What Odinub offers:

UART = Universal Asynchronous Receiver / Transmitter

SPI = Serial Peripheral Interface

I2C = Inter-Integrated Circuit

CAN= Controller Area Network

I2C, SPI, CAN and UART are all digital, serial communications methods.


Communication Method:


Inter-Integrated Circuit

Half duplex, serial data transmission used for short-distance between boards, modules, and peripherals.


Serial Peripheral Interface bus

Full-duplex, serial data transmission used for short-distance between devices.


Universal Asynchronous Receiver-Transmitter

Asynchronous, serial data transmission between devices.


Controller Area Network

Asynchronous, data is transferred from one device to another in a network


 Data Communication Term:



Data Communications

Electronic transfer of information via wired and wireless mediums.

Communications Protocols

The established methods or rules used between devices to send or receive data communications.


The electro-physical connections (pins, cables, circuit board connectors) between devices that support data communications.

Serial / Parallel

Serial: data communications using few connections, typically 2 or 4, that send/receive 1 bit of information per cycle.

Parallel: data communications using multiple connections, typically 8 or more, in parallel to transfer whole bytes (or more) of information per cycle.

Synchronous / Asynchronous

Synchronous: communications using a common "clock" signal to synchronize the transfer of data between devices.

Asynchronous: transmission of data without the need of a clock signal to synchronize transmission.

Half Duplex / Full Duplex

Half Duplex: limited to data transfer between devices in one direction at a time.

Full Duplex: capable of data transfer in both directions simultaneously.

Data Rate

Data communications transfer rate expressed in bits per second (bps), kilobits / second (kbps) or megabits / second (Mbps).


It provides a comparison between these interfaces based on various factors:






Full Form

Universal Asynchronous Receiver/Transmitter

Serial Peripheral Interface

Controller Area Network

Inter-Integrated Circuit

Data rate

Data rate between two devices wanting to communicate should be set to equal value. Maximum data rate supported is about 230 Kbps to 460kbps.

The maximum data rate limit is not specified in SPI interface. supports about 10 Mbps to 20 Mbps

CAN support 250 kbps up to 1mbps.

I2C supports 100 kbps, 400 kbps, 3.4 Mbps. Some variants also support 10 Kbps and 1 Mbps.

Type of communication





Number of masters

Not Application


No master

One or more than One

Hardware complexity






So common question is which to choose - I2C, SPI, CAN or UART?

So you can choose and use any of these for your project. each and every protocol has pros and cons. Now that totally depends on you and your project's complexity. Also, you have to take decision while make you project how many GPIO's you what to use and how many sensors/devices do you want to interface.

Fortunately, the Odinub supports all four protocol and implementation is really easy. Some advantages/disadvantages to consider:

An obvious first consideration is what is supported by the device(s) planned. This may limit or even dictate your choice.

Speed: UART is the slowest, with I2C faster and SPI and CAN (industrial grade) as the fastest. If speed is not important, then any is good. Otherwise, align device speed requirement with a solution.

Number of devices required: UART - only two (odinub + 2 device); SPI - many, but beyond two devices (+ odinub); I2C - only two (odinub +1 device);CAN- only one(odinub +1 device)

Duplex: UART can and  SPI can be Full-Duplex; I2C is only Half Duplex.

Distance: none of these are long distance solutions - a few inches to a few meters depending on transmission speed, cable quality and external noise. Faster speeds will go shorter distances.

Transmission confirmation: I2C is the only protocol among these four that ensures that the data sent was received by the device. However, this can lead to a "locked" upstate by one device under adverse conditions.



UART: simple; not high speed; no clock needed; limited to one device connected to the Odinub.

I2C: faster than UART, but not as fast as SPI; easier to chain many devices;

SPI: faster than UART and I2C, but similar to can.

CAN: designed for automotive and industrial applications, the communication between the main host controller and other devices. In odinub, it can be transferred the data to long distances.


If you want to know more about Odinub and how you can play with the built-in protocols go to odinub.com and check our cool specs!!

I hope that helps you guys to understand the basic communication protocols for your project.



0 Commenting Overall Comment