Software Serial (or other options for 3rd UART)

Hi, the project I’m working on has the need for three serial UARTs on the Core. (9600 baud)
Serial1 and Serial2 are working fine so far.
To implement one more serial port, I have read that a software serial might be the way to go.
Can you point me in the right direction so I can learn how to implement another serial port for the Spark Core?
Thanks!
Arne

@ahk, I don’t recommend software serial and there is no library for it mostly because it uses precisely timed digital output for generating the Tx data. To do this, ALL interrupts are disabled during transmission which is not a good thing to do on the Core. This is done to guarantee the necessary bit timing of 140us per bit at 9600baud.

PJRC (Teensy) created an alternate software serial library which uses timer interrupts for doing the bit I/O. It may be possible to port the library using SparkIntervalTimer. I’ll take a look but with the Maker Faire, it may take me a few days. :smiley:

2 Likes

Thanks!
Are there any other alternatives involving hardware? Such as I2C to Serial for example?
I saw this thread

but it’s rather old and did not provide a lot of insight…

@ahk, there is this Sparkfun breakout available. I believe this library could be adapted for I2C or SPI use. :smile: