How to: Monitoring serial communication?

I want my Arduino to communicate with another device (various ATTiny85 things) using serial communications, SPI or other protocols, which isn't that difficult. However, I want to see in some way what data is sent back and forth for debugging purposes. So I wonder if anyone has come up with a simple man-in-the-middle device that can listen to the communication in both directions to display the data on some screen, somewhere.

Serial communication between the Arduino and a computer is not an option. It would add more code and interferes with the communication between the Arduino and the ATTiny. And the ATTiny already needs all the pins it has. Basically, I need something that can just listen on the wires between both, capture the messages that are sent/received and display them in some way.

Matters are a bit more complex because one ATTiny project uses serial communication over RX/TX while another uses SPI and is set up as a slave. And yes, I am trying to connect the Arduino with multiple of these projects as a master.

So, what I am looking for is a device or other solution that can be put in-between the devices and listen to what is sent over. (Or capture and forward it.) I could do this by simply programming another Arduino and put it in-between but it seems to me that I would be re-inventing the wheel. Hasn't something like this been created before? A simple communication listener?

Does it exist already? What does it cost? Where can I order one? Why haven't anyone else thought of this? :smiley:

SPI does not use the Rx and Tx pins so it is hard to know what you have in mind.

Presumably you know what is sent via SPI so you could print it before or after you send it.

Likewise I don't understand why there would be any problem printing whatever data is received.

If you want help you must post your code. Otherwise we are just making blind guesses.

...R

I also couldn't understand exactly what you are after but sounds like a logic analyzer can help you.

Cheers,
Mike M.