CP/PC364 Data Communications & Networks Laboratory

I2C communication with the Arduino


The I2C (Inter-Integrated Circuit) protocol is used for communication between many devices. It is more complicated than either UART or SPI, because it allows several devices to share a common bus, but it it useful for this same reason.


The objectives for this lab are:


The I2C (Inter-Integrated Circuit) communication protocol allows several device to communicate using only two wires. One device acts as a master, and all of the other devices are slaves. The Arduino board has an The I2C bus built-in so it can be used to study I2C communications.



  1. From the Arduino documentation, what pins are used for I2C communication?
  2. The I2C device lines need pull-up resisors. Does the Arduino have internal pull-up resistors or will you need to add them externally? If the latter, what values will you need?
  3. Consult the data sheet for the device to figure out how to wire it up.
    What is the address of the device?
  4. Create a sketch to communicate with the device, using the LCD for display. Hint: Look online: There are lots of examples out there!!!!!
    Demonstrate your circuit to the lab supervisor.


To view pdf documents, you can download Adobe Acrobat Reader .
get Acrobat Reader
If you need to update a browser, you might try Firefox which is Get Firefox!
Since this page uses cascading style sheets for its layout, it will look best with a browser which supports the specifications as fully as possible.

If you are looking for an office package, with a word processor, spreadsheet, etc., you might try LibreOffice which is Get LibreOffice!

Go to the main page for the Department of Physics and Computer Science.

Valid XHTML 1.1

Valid CSS!

(Level AA)

Wilfrid Laurier University