There are easy ways of getting more I/O pins for any project; shift registers, I2C expanders, or ADCs will give you plenty of pins for whatever project you have in mind. All these require extra components, though. Enter the ExtraCore library for Arduino, a software library that turns two or more Arduinos into a multi-core microcontroller with more pins than you’ll ever need.
The ExtraCore library comes from [Dustin Andrews], and allows anyone to control the input and output pins of two Arduinos with the same ease as a single Arduino.
The hardware setup is fairly simple – just connect A4, A5, power, and ground on both Arduinos together. After installing the ‘client’ sketch on the second Arduino, you can modify the ‘manager’ sketch to suit whatever project you’re building. From there you’ve nearly doubled the number of Arduino pins your project can control.
It may not be the most practical use of two Arduinos, but it’s certainly impressive. You can pick up [Dustin]‘s code over on GitHub.