user42225: I am planning to use an Arduino (Nano ideally, or Other) to send and receive information from several software serial ports to other arduinos, over their available pins, ideally 8 ports.
I could understand an Asynchrounous Communication having one master and 8 slaves, with the master enabling communication from one port, receiving the data from that port, and then move onto the next port, into a sampling loop.
The SoftwareSerial library allows to set up the pins individually, and set the listen() port (thanks Juraj).
I read the AltSoftSerial library handle some of the limitations of the SoftwareSerial library, but I just realized the pins cannot be configured (without... cloning the full library?).
Question is: 

Option 1: Should I stick with the SoftwareSerial library?,
Option 2: Should I try the AltSoftSerial library, and figure how to duplicate it (i think this is a NO)?
Option 3: Understand that none of these libraries are prepared for this, and seek for other alternative?
Option 4: It is pointless to have several serial trunks in Arduino, if only one will work at a time, and should hence try to arrange just one serial trunk?


user42539: You could use a part with 2 hardware serial ports (Atmega1284P), and use a simple mux chip to switch between the slaves for the master to receive from, such as DG406
https://www.digikey.com/products/en/integrated-circuits-ics/interface-analog-switches-multiplexers-demultiplexers/747?k=dg406&k=&pkeyword=dg406&sv=0&pv1989=0&pv433=170&sf=0&quantity=&ColumnSort=0&page=1&stock=1&pageSize=25
Hardware serial will allow for faster comm's too, vs software serial.
1284P is Arduino friendly too.

user31105: I tried to use MIDI (which is quite slow: 31,250 bps), and that didn't work reliable with the software serial on the Arduino Uno. Since I wanted multiple ports, I switched to the Arduino Mega which has FOUR harware serial ports. I would suggest this above using so many software serial ports; it also will relieve your processor to use hardware serials.

42225: <p>I am planning to use an Arduino (Nano ideally, or Other) to send and receive information from several software serial ports to other arduinos, over their available pins, ideally 8 ports.</p>

<p>I could understand an Asynchrounous Communication having one <em>master</em> and 8 <em>slaves</em>, with the master enabling communication from one port, receiving the data from that port, and then move onto the next port, into a sampling loop.</p>

<p>The <code>SoftwareSerial</code> library allows to set up the pins individually, and set the <code>listen()</code> port (thanks Juraj).</p>

<p>I read the <code>AltSoftSerial</code> library handle <a href="https://1sheeld.com/arduinos-softwareserial-vs-altsoftserial-library-use-1sheeld/" rel="nofollow noreferrer">some of the limitations</a> of the <code>SoftwareSerial</code> library, but I just realized the pins cannot be configured (without... cloning the full library?).</p>

<p>Question is: </p>

<ul>
<li>Option 1: Should I stick with the <code>SoftwareSerial</code> library?,</li>
<li>Option 2: Should I try the <code>AltSoftSerial</code> library, and figure how to duplicate it (i think this is a NO)?</li>
<li>Option 3: Understand that none of these libraries are prepared for this, and seek for other alternative?</li>
<li>Option 4: It is pointless to have several serial trunks in Arduino, if only one will work at a time, and should hence try to arrange just one serial trunk?</li>
</ul>
 42539: <p>You could use a part with 2 hardware serial ports (Atmega1284P), and use a simple mux chip to switch between the slaves for the master to receive from, such as DG406
<a href="https://www.digikey.com/products/en/integrated-circuits-ics/interface-analog-switches-multiplexers-demultiplexers/747?k=dg406&amp;k=&amp;pkeyword=dg406&amp;sv=0&amp;pv1989=0&amp;pv433=170&amp;sf=0&amp;quantity=&amp;ColumnSort=0&amp;page=1&amp;stock=1&amp;pageSize=25" rel="nofollow noreferrer">https://www.digikey.com/products/en/integrated-circuits-ics/interface-analog-switches-multiplexers-demultiplexers/747?k=dg406&amp;k=&amp;pkeyword=dg406&amp;sv=0&amp;pv1989=0&amp;pv433=170&amp;sf=0&amp;quantity=&amp;ColumnSort=0&amp;page=1&amp;stock=1&amp;pageSize=25</a></p>

<p>Hardware serial will allow for faster comm's too, vs software serial.
1284P is Arduino friendly too.</p>
 31105: <p>I tried to use MIDI (which is quite slow: 31,250 bps), and that didn't work reliable with the software serial on the Arduino Uno. Since I wanted multiple ports, I switched to the Arduino Mega which has FOUR harware serial ports. I would suggest this above using so many software serial ports; it also will relieve your processor to use hardware serials.</p>
