After breadboarding the LED module, I started on soldering the components. It was after I’d soldered everything and was finishing wiring the connections that I discovered that some joker had replaced my 16-pin sockets with 14-pin sockets and I was missing 2 pins for the last 2 LEDs. There was much wailing and gnashing of teeth as I started again.
This time I made sure I counted the pins and was able to complete the module in a couple of hours.
The ATTiny85 was still running the sketch to count in binary from 0 to 255 so that acted as a great test that the micro controller could control the shift register.
All that was left was to change the sketch so that it could read the data from the main MCU and output a byte to the LEDs. As luck would have it, the value of the button state can be directly applied to the LEDs so that the corresponding LED lights up without any need for translation.
WARNING: There are flashing LEDs in this video.
I build a simple bus with 8 ports where 1 port is connected to the main MCU and the other modules can just plug their 4 pins into one of the other connectors. I’ll make up some simple cables so that I can stop using my breadboard wires.
Next step is to build a joystick module with an ATTiny84 ( with more pins ).