# Adafruit Grand Central M4, multiple serial devices (Serial2, Serial3, etc)

**URL:** <https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744>\
**Category:** Networking, Protocols, and Devices\
**Created:** [July 3, 2020, 1:17am UTC](https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744 "2020-07-03T01:17:17Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![tomicdesu](https://avatars.discourse-cdn.com/v4/letter/t/74df32/32.png) [@tomicdesu](https://forum.arduino.cc/u/tomicdesu)\
**Post date:** [July 3, 2020, 1:17am UTC](https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744/1 "2020-07-03T01:17:17Z")

</div>

Hi, I've switched my projects from Mega 2560's to Grand Central M4, as I need multiple serial devices (two in addition to USB), in addition to a dozen I/O pins. I can't find a clear suggestion on how to configure the SERCOMs for this purpose, so that I can use something like "Serial" on TX2/RX2 and TX3/RX3.

Any suggestions?

---

<div class="post-metadata">

**Author:** ![Klaus\_K](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/klaus_k/32/626942_2.png) [@Klaus\_K](https://forum.arduino.cc/u/Klaus_K)\
**Post date:** [July 3, 2020, 4:18am UTC](https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744/2 "2020-07-03T04:18:48Z")

</div>

Did you try?

Serial1.begin(9600);  
Serial2.begin(9600);

---

<div class="post-metadata">

**Author:** ![tomicdesu](https://avatars.discourse-cdn.com/v4/letter/t/74df32/32.png) [@tomicdesu](https://forum.arduino.cc/u/tomicdesu)\
**Post date:** [July 3, 2020, 4:37pm UTC](https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744/3 "2020-07-03T16:37:11Z")

</div>

> Did you try?

> Serial1.begin(9600);  
> Serial2.begin(9600);

Have you? They're not defined. See attached.

"Serial2 not declared in this scope."

I admit that I posted too quickly, and I will now go through Adafruit's SERCOM docs, but ummm yes, that's the very basis for my question.

But NVM, I'll delete this thread, it was premature, at minimum.

 ![noser2.png](https://europe1.discourse-cdn.com/arduino/original/4X/9/d/8/9d842da06adaef3722a2143360ceb313d0251359.png)

---

<div class="post-metadata">

**Author:** ![Klaus\_K](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/klaus_k/32/626942_2.png) [@Klaus\_K](https://forum.arduino.cc/u/Klaus_K)\
**Post date:** [July 4, 2020, 12:21am UTC](https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744/4 "2020-07-04T00:21:42Z")

</div>

> tomicdesu:  
> Have you? They're not defined. See attached.

No, I do not own the board. Sometimes the easy answer is the right one. Not in this case. 😕

I now checked the variant.h file in the following folder and only Serial1 is defined. There are 8 SERCOMs defined as well.

..\AppData\Local\Arduino15\packages\adafruit\hardware\samd\1.5.14\variants\grand\_central\_m4

> tomicdesu:  
> But NVM, I'll delete this thread, it was premature, at minimum.

Don't. Can you check whether the following link would help solve your issue. If yes, just add a few notes for others that might read this in the future. A short example might help somebody.

> **[Using ATSAMD21 SERCOM for more SPI, I2C and Serial ports](https://learn.adafruit.com/using-atsamd21-sercom-to-add-more-spi-i2c-serial-ports/)**
>
> When we first checked out the ATSAMD21 chip (the processor used in the Arduino Zero and Adafruit Feather M0), we were very happy to see that the chip has 6 "SERCOM"s, a.k.a SERial COMmunication modules. Each one of these modules can be used for I2C,...

---

<div class="post-metadata">

**Author:** ![tomicdesu](https://avatars.discourse-cdn.com/v4/letter/t/74df32/32.png) [@tomicdesu](https://forum.arduino.cc/u/tomicdesu)\
**Post date:** [July 4, 2020, 10:04pm UTC](https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744/5 "2020-07-04T22:04:59Z")

</div>

OK cool, thanks. I'm debugging this, and other issues, over on the Adafruit [product specific] forum. Turns out that defining the missing Serial2, Serial3 devices is fairly straightforward ([Serial2 and Serial3 on Adafruit Grand Central M4 - adafruit industries](https://forums.adafruit.com/viewtopic.php?f=63&t=164889&p=818225#p818225)) but now I'm having hangs at what I suspect at transmit-buffer-empty events as it's bit-rate-dependent). Oh fun.

There is also a change in [what I think is] unspecified behavior: On Grand Central, the Serial objet takes over a second to start up. Might be bootloader or USB or... my ignorance, etc. [Grand Central M4, Arduino compilation or compat issues - adafruit industries](https://forums.adafruit.com/viewtopic.php?f=63&t=166997&p=818359#p818359)

The apparent bit-rate-dependent problem is open here [Grand Central M4, Serial2 tx hangs, bit rate dependent - adafruit industries](https://forums.adafruit.com/viewtopic.php?f=63&t=167018) Of course and and all of these could end up being my own stupid misteaks. I prefer those, actually, as fixes are immediate (once I get over myself).

As they used to say, news at 11.

tom

---

<div class="post-metadata">

**Author:** ![system](https://dub1.discourse-cdn.com/arduino/user_avatar/forum.arduino.cc/system/32/1140315_2.png) [@system](https://forum.arduino.cc/u/system)\
**Post date:** [May 6, 2021, 11:20am UTC](https://forum.arduino.cc/t/adafruit-grand-central-m4-multiple-serial-devices-serial2-serial3-etc/663744/6 "2021-05-06T11:20:57Z")

</div>


