I am working on a project that requires multiple Serial Inputs and Outputs. It's a modular design. Any of 8 outputs could be connected to any of 8 inputs. The message sent over connections must have some resolution.
I accomplished something along these lines in an earlier project using Digital Potentiometers and Analog Inputs on the Arduino. However, there was a great deal of noise and I was limited to an 8-bit resolution (256 steps). I'd really like to have the information passing over wires to have a larger resolution.
I looked into SoftwareSerial, but this doesn't seem to be the ideal thing. Also, multiplexing the Serial RX and TX doesn't seem to be the best approach either due to timing. I considered scanning every input pin for each output pin and sending an output for each input scan.
What would be ideal is a chip that runs on an I2C or SPI interface that's capable of receiving and transmitting packets of information between other chips like it. The core microcontroller would be able to use MISO to receive the stored information from each input or push out packets to those chips.
I hope I described this clearly. Please let me know if anyone has any recommendations or alternatives for modular pin-to-pin communication using ATMEGA