user31105: For a (for now MIDI only) project I was planning to use multiple Arduinos and send messages around.
However, for the latency, I can have max 10ms (to prevent audible delay).
I hoped to use WIFI modules (ESP-01), however, according to a previous question in Question, one remark that due to HTTP overhead the time/latency would be 15 ms. So that means WIFI is not possible.
My requirements:

Latency of <= 3 ms (rationale: I need at least 5 ms for processing, and want to keep total latency < 10 ms)
Preferably a wireless solution (rationale: I want to add later more Arduinos and want to prevent cabling)
Preferably not using a hardware serial (low prio requirement) (rationale: the MIDI box which is a Mega, would preferably need 4 MIDI inputs, using a hardware serial would reduce one, software serial is unacceptable for MIDI).

Situation:

Arduinos are very close together, probably within centimeters (upto like 50 centimeters)
Messages are short (like 5-10 bytes max)
Burst of messages can be possible, but not so likely

Background/message flow:

Receiving MIDI input by Arduino 1
Sending (filtered/changed) message to Arduino 2
Arduino 2 process the manage, takes <= 5 ms
Arduino 2 sends message back to Arduino 1
Arduino 1 converts it to a MIDI message and sends back

This all needs to be done within <= 10 ms
My thoughts so far:
Wireless solutions:

WIFI: HTTP seems to result in 15 ms delays, which is against my requirement.
RF: probably overkill since my Arduinos will be very near to each other. Also I would need both a receiver and transmitter in both Arduino's.
IR: Due to out-of-sight problems not very convenient.

Wired solutions:

I2C: Might be possible, planning to use later also an I2C display possibly but should not be a problem
SPI: On Arduino 2, I'm already using an SRAM with SPI which I do not want to stress more (also a time-critical resource). Also an SD card via SPI is used (but this is not a time critical resource).
Wire: Not checked yet

Question
Is there any wireless (or wired) solution I can use (probably beyond the ones I analyzed)?
115200 baud is what I need for a Serial connection, probably a SPI/I2C (latter preferred) is also acceptable. Or I might have missed other communication possibilities.

user4143: I would either use the ESP8266 as a standalone device and directly program it to work with UDP datagrams or a permanently established TCP socket, or the nRF24L01+.
Of the two I would most likely use the nRF24L01+. It's good enough for 99% of wireless keyboards and mice, so plenty good enough for a few MIDI style messages.

31105: <p>For a (for now MIDI only) project I was planning to use multiple Arduinos and send messages around.</p>

<p>However, for the latency, I can have max 10ms (to prevent audible delay).</p>

<p>I hoped to use WIFI modules (ESP-01), however, according to a previous question in <a href="https://arduino.stackexchange.com/questions/38988/why-using-a-esp01-adapter">Question</a>, one remark that due to HTTP overhead the time/latency would be 15 ms. So that means WIFI is not possible.</p>

<p>My requirements:</p>

<ul>
<li>Latency of &lt;= 3 ms (rationale: I need at least 5 ms for processing, and want to keep total latency &lt; 10 ms)</li>
<li>Preferably a wireless solution (rationale: I want to add later more Arduinos and want to prevent cabling)</li>
<li>Preferably not using a hardware serial (low prio requirement) (rationale: the MIDI box which is a Mega, would preferably need 4 MIDI inputs, using a hardware serial would reduce one, software serial is unacceptable for MIDI).</li>
</ul>

<p>Situation:</p>

<ul>
<li>Arduinos are very close together, probably within centimeters (upto like 50 centimeters)</li>
<li>Messages are short (like 5-10 bytes max)</li>
<li>Burst of messages can be possible, but not so likely</li>
</ul>

<p>Background/message flow:</p>

<ul>
<li>Receiving MIDI input by Arduino 1</li>
<li>Sending (filtered/changed) message to Arduino 2</li>
<li>Arduino 2 process the manage, takes &lt;= 5 ms</li>
<li>Arduino 2 sends message back to Arduino 1</li>
<li>Arduino 1 converts it to a MIDI message and sends back</li>
</ul>

<p>This all needs to be done within &lt;= 10 ms</p>

<p><strong>My thoughts so far:</strong></p>

<p>Wireless solutions:</p>

<ul>
<li>WIFI: HTTP seems to result in 15 ms delays, which is against my requirement.</li>
<li>RF: probably overkill since my Arduinos will be very near to each other. Also I would need both a receiver and transmitter in both Arduino's.</li>
<li>IR: Due to out-of-sight problems not very convenient.</li>
</ul>

<p>Wired solutions:</p>

<ul>
<li>I2C: Might be possible, planning to use later also an I2C display possibly but should not be a problem</li>
<li>SPI: On Arduino 2, I'm already using an SRAM with SPI which I do not want to stress more (also a time-critical resource). Also an SD card via SPI is used (but this is not a time critical resource).</li>
<li>Wire: Not checked yet</li>
</ul>

<p><strong>Question</strong>
Is there any wireless (or wired) solution I can use (probably beyond the ones I analyzed)?</p>

<p>115200 baud is what I need for a Serial connection, probably a SPI/I2C (latter preferred) is also acceptable. Or I might have missed other communication possibilities.</p>
 4143: <p>I would either use the ESP8266 as a standalone device and directly program it to work with UDP datagrams or a permanently established TCP socket, or the nRF24L01+.</p>

<p>Of the two I would most likely use the nRF24L01+. It's good enough for 99% of wireless keyboards and mice, so plenty good enough for a few MIDI style messages.</p>
