user48278: I messed up when designing my PCB and just assumed that I could use software slave I2C with ATTiny84.
The reason I did so is - I needed to use all of the analog inputs.

The pins I have on my connector are:
PB0 (pin 2), PB1 (pin 3), PB2 (pin 5) and PA0 (pin 13)
Is there an alternative to I2C or a different communication protocol I could use to connect multiple of these slave boards to a master (ATMEGA328 etc.)?
Thanks a lot, I can provide any further information.

user7859: That is a lot of pins, so this really boils down to your application and what you want to optimize for.
You could do a bit-banged software I2C slave on these pins. "Bit-bang" means you just write a program to flip the bits on the pins rather than handing the bytes off to the hardware which would do the same thing (although sometimes faster or without using up CPU cycles). This would require either finding some existing code to implement the protocol, or sitting down with the documentation for the protocol and writing it yourself. Depending on your goals, the second option might be a great learning experience and take away some of the magic from this stuff. It is all just 1s and 0s and once you really internalize that, you realize that you can do almost anything with these little chips regardless of hardware or library support.

48278: <p>I messed up when designing my PCB and just assumed that I could use software slave I2C with ATTiny84.</p>
<p>The reason I did so is - I needed to use all of the analog inputs.</p>
<p><a href="https://i.stack.imgur.com/SmJCT.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/SmJCT.png" alt="enter image description here" /></a></p>
<p>The pins I have on my connector are:</p>
<p>PB0 (pin 2), PB1 (pin 3), PB2 (pin 5) and PA0 (pin 13)</p>
<p>Is there an alternative to I2C or a different communication protocol I could use to connect multiple of these slave boards to a master (ATMEGA328 etc.)?</p>
<p>Thanks a lot, I can provide any further information.</p>
 7859: <p>That is a lot of pins, so this really boils down to your application and what you want to optimize for.</p>
<p>You could do a bit-banged software I2C slave on these pins. &quot;Bit-bang&quot; means you just write a program to flip the bits on the pins rather than handing the bytes off to the hardware which would do the same thing (although sometimes faster or without using up CPU cycles). This would require either finding some existing code to implement the protocol, or sitting down with the documentation for the protocol and writing it yourself. Depending on your goals, the second option might be a great learning experience and take away some of the magic from this stuff. It is all just 1s and 0s and once you really internalize that, you realize that you can do almost anything with these little chips regardless of hardware or library support.</p>
