Black Lives Matter - Action and Equality. ... Adafruit is open and shipping.

Multi Serial port shield?
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

Multi Serial port shield?

by lyench on Tue Mar 17, 2009 3:06 pm

Been using the soft serial port with mixed results. :? Need... more... serial... power...

Are there any plans for a multiple serial port shield, complete with its own UARTs?

- Larry
Posts: 2
Joined: Fri Oct 03, 2008 1:55 pm
Location: North Carolina

Re: Multi Serial port shield?

by adafruit on Tue Mar 17, 2009 4:30 pm

such a project is a little tougher than you may think!
i suggest using the newsoftserial library

Posts: 12151
Joined: Thu Apr 06, 2006 4:21 pm
Location: nyc

Re: Multi Serial port shield?

by macegr on Tue Mar 17, 2009 5:58 pm

Maybe not TOO tough, if we look into this sort of thing:

It's a dual UART with 64-byte FIFOs, I2C or SPI interface, programmable baud rate, etc. All the finicky register settings could be wrapped into a library pretty easily. Overkill compared to SoftSerial if you need just one more UART, starts to make sense if you need several UARTs.
macetech LLC -
Posts: 292
Joined: Fri Apr 04, 2008 4:46 pm

Re: Multi Serial port shield?

by bvwelch on Thu Mar 19, 2009 11:36 am


Sounds like a cool project in the works!

If you had more UART hardware, what resource would you run out of next? CPU horsepower, Ram, Flash?

Hard to say more until we know what your application's data flow might be like?

Here's a crazy idea -- build a shield with one or two RBBB mounted on it.


ps: Perhaps you're interested in a softserial version of the bootloader too? I've been considering it.
Posts: 6
Joined: Mon Mar 16, 2009 11:16 am

Re: Multi Serial port shield?

by Ran Talbott on Thu Mar 19, 2009 6:58 pm

Well, putting a couple of RBBB(-equivalents) on a shield is a little "crazy", but "clustering" isn't.

I think the emphasis on putting stuff on shields may be overdone. For example, the Ethernet shield only uses a few I/O pins if you're using for the Wiznet module, but requires a full-sized shield board, and the size of the Wiznet makes stacking awkward.

Another potential problem is that there's no real standard for how to use I/O pins: what happens if you want to have both an LCD and motor control, but discover that the LCD shield wants to use the same PWM pin the motor shield uses for speed control for its contrast adjustment?

Shields are great for add-ons that need a lot of connections, and don't often want to be "remote" from the Arduino (like, say, an LCD+keypad module might).

I just got one of the serial/I2C LCD controllers from It only needs 4 wires to the Arduino (power, data, and clock), can be used with LCDs that won't fit on a shield, and eliminates the need to mount the Arduino such that an attached display can be seen.

I found a great deal on a 128x64 graphic LCD ($10 at, but, if you look at the docs on the supporting library, it ties up almost all the Arduino's I/O pins. What I'm going to do (assuming no one beats me to it) is wire it up to an RBBB, turn that into an I2C slave, and write a modified version of the library with an RPC-like mechanism that allows an app on the "master" Arduino to use the display without even having to know whether the display is directly attached (except for changing the creation for the display object from something like "KS0108 lcd;" to "KS0108_remote lcd;").

I'm really warming to the notion of turning I2C into the equivalent of a PC's USB for attaching peripherals. Want to control 3 or 4 stepper motors, instead of 2? No problem: just plug a second controller onto the I2C bus, and jumper its address differently. If you want to controller a motor that uses gobs of current, just use a different motor controller that has massive heatsinking that won't fit on a standard shield. Since the Arduino can, itself, be an I2C slave, you can even make little "clusters" of Arduinos that can cooperate and communicate over I2C.

I think one of the next standardization efforts ought to be picking a standard for connecting I2C devices to an Arduino.

Ran Talbott
Posts: 57
Joined: Thu Feb 19, 2009 1:32 pm

Re: Multi Serial port shield?

by tonyd on Fri Mar 20, 2009 5:13 am

Try hooking one or more SPI UART's such as a MAX3100 to the SPI interface and use the other digital I/O lines as chip selects.

I've used Maxims MAX3100 Serial UART with SPI interface on a different non-Arduino design with great success.

- Tony
Posts: 9
Joined: Fri Dec 19, 2008 4:15 am

Re: Multi Serial port shield?

by mtbf0 on Fri Mar 20, 2009 7:53 am

"i want to lead a dissipate existence, play scratchy records and enjoy my decline" - iggy pop, i need more
User avatar
Posts: 1645
Joined: Sat Nov 10, 2007 12:59 am
Location: oakland ca

Please be positive and constructive with your questions and comments.