Control a HD44780 LCD display via I2C

LCD character displays are a simple and a cost-effective way to display a text. Thanks to the HD44780 controller, the control of the modules has become very simple. However, one must occupy many GPIOs for it. An alternative is the I2C data bus, which means that only two GPIOs are used.

In this tutorial a 20×04 HD44780 character display is controlled using a I2C display adapter. A logic converter is used to adjusting the voltage level for the module without damaging GPIOs.Read More

Python based I2C functions for Raspberry Pi

Let’s see basic Python based I2C functions which are frequently used for I2C communication on Raspberry Pi.

While developing program for Raspberry Pi I2C communication in python, we can use SMBus library package which has great support to access I2C devices. So, we should add SMBus support for Python by using apt packet manager,

sudo apt-get install python-smbusRead More

Raspberry Pi I2C (Synchronous Serial Communication)


  • I2C (Inter Integrated Circuit) is a synchronous serial protocol that communicates data between two devices.
  • It is a master-slave protocol which may have one master or many master and many slaves whereas SPI has only one master.
  • It is generally used for communication over short distance.
  • The I2C device has 7-bit or 10-bit unique address. So, to access these devices, master should address them by the 7-bit or 10-bit unique address.
  • I2C is used in many applications like reading RTC (Real time clock), accessing external EEPROM memory. It is also used in sensor modules like gyro, magnetometer etc.
  • It is also called as Two Wire Interface (TWI) protocol.

Read More

Do NOT follow this link or you will be banned from the site!