In this video I continue my series on the beaglebone to discuss the I2C bus and how we can connect and program devices attached to the bus using C/C++. I explain the use of i2c-tools on embedded Linux and then show how we can interface to a digital accelerometer (Bosch BMA180) or any other I2C device. Finally, I show how we can use sysfs to build a C++ class that wraps the functionality of the digital accelerometer. Source code included! This video builds on the three previous videos: The introduction to the Beaglebone; Setting up a C/C++ Development Environment; and, Programming with GPIOs. So, I recommend that you view those videos first.

[youtube id=”8C2zk6B-eLU” width=”600″ height=”350″]

 

The NXP I2C Specification document is at:

http://www.nxp.com/documents/user_manual/UM10204.pdf

The source code in this video is available through githhub:

Please note that I have mixed up the words bit and byte a few times in this video — apologies, I do know the difference(!) but I seem to have a problem when describing some points in this video.