App note: Extending I2C communication distance with the DS28E17

App note from Maxim integrated about alternative method to extend I2C bus. Link here (PDF) Systems are increasingly requiring greater distances for I2C buses. This article explains how the DS28E17 can be used to extend the distance of I2C devices while decreasing cost.

Reading a VGA monitor’s configuration data with I2C and a PocketBeagle

Ken Shirriff wrote an article showing how to read the monitor’s config data using the I2C protocol and a board with an I2C port: Have you ever wondered how your computer knows all the characteristics of your monitor— the supported resolutions, the model, and even the serial number? Most monitors use a system called DDC to communicate […]

How to configure I2C sensors with Arduino

Edward Mallon writes: I’ve spent the last year in the ‘uncanny valley’ of the Arduino. That’s the point where you understand the tutorials at Arduino.cc, but still don’t get much from the material on gitHub because trained programmers would never stoop to using the wire.h library when they could just roll their own in native […]

Logging I2C Data with Bus Pirate and Python

Scott Harden writes, “I’m working on a project which requires I measure temperature via a computer, and I accomplished this with minimal complexity using a Bus Pirate and LM75A I2C temperature sensor.” More details at SWHarden.com. Get your own handy Bus Pirate for $30, including world-wide shipping. Also available from our friendly distributors.

App note: Implementing an I2C reset

Interesting app note from Analog Devices when an I2C communication is broken under some circumstances. Link here (PDF) The I2C bus is a high integrity, robust serial bus used for control purposes in many systems. The primary components that make up a system are at least one master and one slave. Under normal conditions, everything […]

Experimenting with MAX6955

Florin wrote an article about experimenting with MAX6955: My experimenting actually started with MAX6954. After many failed tries due to SPI issues (Maxim uses a special interpretation of the protocol, I read), I switched to MAX6955. MAX6955 is the I2C sibling of MAX6954 (which uses SPI). They both have identical LED driving abilities, only the […]

An AVR Atmega library for multiple HD44780 based LCD connected through i2c

Davide Gironi has posted an I2C multiple HD44780 AVR Atmega library: This library implements a driver for HD44780 lcd connected through PCF8574 port expander. Data is transmitted using only 2 wire over i2c with the PCF8574. This library can drive up to 8 LCD concurrently. Lcd driver is based upon Peter Fleury’s lcd driver HD44780 […]

App note: USB to I2C bridging with Microchip USB 2.0 Hubs

App note on Microchip’s USB 2.0 Hubs on its I2C support. PDF link here The USB to I2C bridging feature of Microchip’s USB 2.0 hubs provides system designers expanded system control and potential BOM reduction. When using this feature in a system design, a separate USB to I2C device is no longer required and a […]

Bus Pirate support in Python3 for I2C scripting

Steve aka hwstar writes, “I just wanted to let you know that I modified the python Buspirate Bitbang.py file and the I2C.py file to support Python 3.4 for a project I’m working on, and wanted to share these files with the community as they are open source. I uploaded the modified files to Github. These files […]

App note: Microchip dedicated slave devices in I2C systems

An app note on Microchip dedicated slave devices in I2C systems (PDF!): Microchip supplies dedicated slave devices that include a two-wire serial interface that is System Management Bus (SMBus) and I2C™ compatible. The SMBus specification is based on the I2C serial communications protocol, but with some differences. This document describes the key differences that may affect […]

App note: How to design in and program the PCA9641 I2C arbiter

I2C arbiter chip application(PDF) from NXP. The PCA9641 is highly integrated and smart design for 2-1 I2C-bus multiplexer. It is used in a system that needs two masters sharing the same slave devices. The internal switch is programmed by the masters but it will not switch in a middle of the task once owned by […]

App note: Sending I2C-bus signals via long communications cables

Extend I2C communication distance with this app note (PDF) from NXP. Reliable I2C-bus communication at high data rates, and over many meters, can be achieved using widely available twisted- pair communication cable (e.g. Category 5e and similar 4-pair cables, as typically used for Ethernet communications). The two bidirectional I2C-bus signals, SDA and SCL, are split […]

app note: Isolating I2C interfaces

an I2C isolation solution from Analog Devices, app note can be found here. The Inter-Integrated Circuit (I2C®) bus is a two-wire bidirectional bus used for low speed, short-distance communication between integrated circuits. Developed by Philips 1980 in the early 1980s for use amongst ICs on a single board, I2C today is increasingly being used in […]