I2C slave with error injection

mschwingen·hardware·i2c-slave/hardware/i2c_slave.kicad_pcb

I2C slave with error injection PCB layout, top view — open source AVR/Arduino board by mschwingen

About the I2C slave with error injection PCB

I2C slave with error injection is an open source AVR/Arduino PCB design by mschwingen, published on GitHub. It is a 2-layer board measuring 32 × 32 mm, with 23 components from 16 distinct parts.

Its main chip is the ATMEGA32U4-MU, from the AVR/Arduino family. By type, the board carries 7 resistors, 5 capacitors, 3 connectors, 3 diodes, 2 crystals and 2 jumpers.

From the project

Hardware designs by Michael Schwingen, michael at schwingen dot org

This project is a small I2C slave device that is useful during implementation / testing of I2C host drivers. This makes it possible to test the behaviour of I2C host drivers in a reproducible way, and allows for some level of automated driver testing.

Compared to using a normal I2C slave (like a LM75 or I2C EEPROM) for tests, the firmware presented here can be used to test error paths in I2C master drivers:

I2C slave with error injection, from the project README
From the project README

Main components on the I2C slave with error injection

I2C slave with error injection bill of materials (BOM)

23 components, 16 distinct parts — part numbers from the project's BOM.

QtyPartRefs
1
ATMEGA32U4-MU
ATmega88-AU
U1
1
16.0MHZ
7.3728MHz
Y1
1
16.0MHZ
7.3728MHz
Y2
1
I2C
CN1
1
UART
CN2
1
AVR-ISP-6
CN3
2
Jumper_2_Open
JP1, JP2
2
LED
D1, D2
1
SMBJ5.0A
D3
1
22PF
22pF
C2
1
1UF
22pF
C3
3
100NF
100nF
C4, C5, C6
2
4.7k
R1, R4
3
10k
R2, R3, R6
1
2.2k
R5
1
180
R7

I2C slave with error injection design files

The KiCad project lives in the mschwingen/hardware repository on GitHub; these links point at the commit this page was built from.

I2C slave with error injection: common questions

What microcontroller does the I2C slave with error injection use?

The I2C slave with error injection is built around the ATMEGA32U4-MU, from the AVR/Arduino family.

How big is the I2C slave with error injection PCB?

The I2C slave with error injection measures 32 × 32 mm, has 2 copper layers and is 1.6 mm thick.

How many components are on the I2C slave with error injection?

23 components, from 16 distinct parts, with part numbers taken from the project's own BOM. The full bill of materials is listed on this page.

Where can I download the I2C slave with error injection design files?

From the mschwingen/hardware repository on GitHub, which has the KiCad layout and the BOM; the links under Design files point to each one.

Can I use the I2C slave with error injection design in my own project?

The repository has no license, so all rights stay with mschwingen. Use it as a reference, and ask the author before reusing the design.

Can I test firmware for the I2C slave with error injection without the hardware?

Yes. HardLabs builds a simulation of the board from its netlist and BOM, so you can run and debug AVR/Arduino firmware against it before you order a PCB.

More boards in hardware

Similar boards