2 arduinos in/out pots as data bus


I was just thinking over if it is possible to encode one arduino board, let say, 4 DO as a 4 bit data bus and send them to another arduino board DI and then decode them?

Yes, but such a bus would normally have another signal to indicate the data on the bus is valid.

I doubt you'd be able to exceed native SPI speeds until an 8 bus is used - the problem
is the slowness of synchronizing in software coupled with clock-mismatch or drift. Using direct
port access and synchronized bursts implemented in assembler you might be able to achieve
burst rate of 4 or possibly 8MHz on a 16MHz Uno, but adding the ISR overhead on burst entry
and freeing the processor enough to do other stuff probably pulls the throughput down a lot.

For an 8-bit bus with direct port access you'd obviously want Arduino's with a full 8 pins on the
same port, ruling out the Uno and other '328 based boards at anything above 6 bit.

But here's the real elephant in the room: Given a slow 8 bit micro controller, what's the point of
pumping data into it or out of it at high speed? What can you do with it? Serial at 1Mbaud is
probably as good as you need for inter-board data transfer, and that uses one pin.