# Need additional UART

**URL:** https://discuss.pynq.io/t/need-additional-uart/903
**Category:** Support
**Created:** [February 1, 2020, 3:24pm UTC](https://discuss.pynq.io/t/need-additional-uart/903 "2020-02-01T15:24:08Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![Bil](https://avatars.discourse-cdn.com/v4/letter/b/f07891/32.png) [@Bil](https://discuss.pynq.io/u/Bil)
#### Post date: [February 1, 2020, 3:24pm UTC](https://discuss.pynq.io/t/need-additional-uart/903/1 "2020-02-01T15:24:08Z")

</div>

Hello  
I’m working on a project that requires reading data from an Arduino shield for the Zigbee transmitter. For this I must configure an Rx and Tx of a UART interface. How I can add a UART on the PYNQ-Z1 platform and then read the data in jupyter.  
thank you for your help  
best regards

---

<div class="post-metadata">

### Author: ![cathalmccabe](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/cathalmccabe/32/3348_2.png) [@cathalmccabe](https://discuss.pynq.io/u/cathalmccabe)
#### Post date: [February 4, 2020, 10:40am UTC](https://discuss.pynq.io/t/need-additional-uart/903/2 "2020-02-04T10:40:30Z")

</div>

There are a number of ways you could approach this. I’d suggest you might try use the IOP (microblaze based subsystem) in the base overlay. You shouldn’t need to change any of the hardware, and would only need to write software to do this.

Some info here:  
[https://pynq.readthedocs.io/en/v2.5/pynq\_libraries/pynqmb\_reference.html](https://pynq.readthedocs.io/en/v2.5/pynq_libraries/pynqmb_reference.html)

Cathal

---

<div class="post-metadata">

### Author: ![Bil](https://avatars.discourse-cdn.com/v4/letter/b/f07891/32.png) [@Bil](https://discuss.pynq.io/u/Bil)
#### Post date: [February 4, 2020, 5:13pm UTC](https://discuss.pynq.io/t/need-additional-uart/903/3 "2020-02-04T17:13:10Z")

</div>

Hi  
Thank you Cathal for your response.  
If I use the UART that you suggested in the link, I think the functions to read and write will be work with the USB in the board, is that the case?  
Is it possible to add a new UART? I will appreciate if you could suggested an exemple.  
Thank you.

---

<div class="post-metadata">

### Author: ![cathalmccabe](https://sea1.discourse-cdn.com/flex019/user_avatar/discuss.pynq.io/cathalmccabe/32/3348_2.png) [@cathalmccabe](https://discuss.pynq.io/u/cathalmccabe)
#### Post date: [February 11, 2020, 8:11pm UTC](https://discuss.pynq.io/t/need-additional-uart/903/4 "2020-02-11T20:11:37Z")

</div>

The IOP is connected to the Arduino pins, so not the USB.

Similar thread here:

> [@How to enable second UART on Pynq board (Zedboard or Pynq-Z1)](https://discuss.pynq.io/t/how-to-enable-second-uart-on-pynq-board-zedboard-or-pynq-z1/917/2):
>
> This is not as trivial as it may seem to be. The 2nd PS UART can only be connected into the PL, as there aren’t any physical connectors available on either of those boards to connect it to, so yes, you would need to modify the PL design. As it is a PS UART, you would need to modify the Linux device tree. Then you would need to write C/Python to control this UART. What are you trying to do? If you need to control a “UART” peripheral, the Arduino IOP subsystem (MicroBlaze based system) in the …

Cathal
