Main Content

The Attiny85 does not support specific hardware for SPI and I2C comunications as on ATmega series, instead there is a hardware module called UNIVERSAL SERIAL INTERFACE (USI) that can be only configured to perform SPI or I2C. In this small project, I’d like to share how to perform both SPI and I2C protocols simultaneously on the ATTiny85 by:

Using USI for I2C with TinyWireM library to read MPU-6050.
Using remaining pins for Software SPI to control one LED MATRIX 13x15.

Main components:

200pcs x LED 3mm, optional color, blue in my case.
2pcs x Double Sided DIY Protoboard Circuit 7x9cm.
1pcs x DigiSpark ATTiny85.
1pcs x MPU-6050 Accelerometer + Gyro.
2pcs x Shift Register 74HC595N.
2pcs x Power Logic 8-Bit Shift Register TPIC6B595N.
16pcs x Transistor A1013.
300pcs x R100.
16pcs x R1K.
4pcs x Capacitor 0.1uF.
4pcs x Copper Standoff Spacers 15mm.
2pcs x Female 40pin 2.54mm Header.
2pcs x Male 40pin 2.54mm Header.
1pcs x XH2.54mm – 3P 10cm Wire Cable Double Connector.
1pcs x XH2.54mm – 4P 10cm Wire Cable Double Connector.
1pcs x XH2.54mm – 6P 10cm Wire Cable Double Connector.
1pcs x Power Bank 5V, minimum 2A.
1meter x 8P Rainbow Ribbon Cable.
Some small bolts and nuts.

Tools:
Intelligent Digital Oscilloscope Multimeter. This is an useful multimeter tool with reasonable price and it is integrated waveform signal display within 20KHz.”

Link to article