Introduction
After breaking the leg of another resistor while setting up a I2C bus. It was time to permanently fix this problem. The Atmega328 has one single I2C bus. I am testing with software to bit bang data on any two pins of the AtMega328. See SoftI2CMaster for more information. I am also testing with the PCA9546A to provide access to multiple I2C buses. Yes, pinky we are taking over the world tonight! The problem is all the I2C buses need to be properly terminated and bending the legs of the same set of resistors will eventually break them. As my father used to say, they do not make ’em like they use to.
Requirements
I need a solution that allows me to wire an I2C bus quickly and without bending pins. The solution must be breadboard friendly and not complicated to use. It should have connection pins so jumper wires are not required. It took no time to create a simple three pin, two resistor solution that plugs in nicely into my Cohiba Breadboard main data bus. It can also be used to terminate additional I2C buses.
Implementation
I plan to create about 6 units to keep them around to breadboard prototypes. The pullup resistors are 4.7K. This schematic cannot be any simpler. The following pictures list the schematic, PCB layout, 3D design and the first model.
Conclusion
I welcome with opened arms any solution or tool that allows me to maximize the time I spend working on projects as opposed to building infrastructure to prototype or test it. Having a couple of these I2C bus terminators around, is a small but nice addition to the toolbox.