How many serial ports are on the Pi 3? Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern) Congratulation Joan for 50k!How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroWRpi to arduino via USBreading serial from tty, data become corrupted after a certain delayNo communication between GPRS module RaspberryPi Zero serial GPIO portsConnecting through usb-serial driverSerial port works with minicom but not echo and catJessie: How to deal with Python open of /dev/ttyACM0 not sending RST signal like it does with /dev/ttyUSB0Raspberry Pi Zero W with SIM800l not workCan't get serial port working (header pins, Raspberry Pi 1 Model B)Several serial ports with c++
How does TikZ render an arc?
Is there a verb for listening stealthily?
What does 丫 mean? 丫是什么意思?
Why can't fire hurt Daenerys but it did to Jon Snow in season 1?
Is the Mordenkainen's Sword spell underpowered?
Flight departed from the gate 5 min before scheduled departure time. Refund options
How to resize main filesystem
Found this skink in my tomato plant bucket. Is he trapped? Or could he leave if he wanted?
My mentor says to set image to Fine instead of RAW — how is this different from JPG?
"Destructive power" carried by a B-52?
Why do the Z-fighters hide their power?
Do i imagine the linear (straight line) homotopy in a correct way?
How many time has Arya actually used Needle?
Why not use the yoke to control yaw, as well as pitch and roll?
What did Turing mean when saying that "machines cannot give rise to surprises" is due to a fallacy?
Why are two-digit numbers in Jonathan Swift's "Gulliver's Travels" (1726) written in "German style"?
An isoperimetric-type inequality inside a cube
Did John Wesley plagiarize Matthew Henry...?
Are there any irrational/transcendental numbers for which the distribution of decimal digits is not uniform?
What is "Lambda" in Heston's original paper on stochastic volatility models?
Noise in Eigenvalues plot
How to achieve cat-like agility?
Any stored/leased 737s that could substitute for grounded MAXs?
Why are current probes so expensive?
How many serial ports are on the Pi 3?
Announcing the arrival of Valued Associate #679: Cesar Manara
Planned maintenance scheduled April 23, 2019 at 23:30 UTC (7:30pm US/Eastern)
Congratulation Joan for 50k!How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroWRpi to arduino via USBreading serial from tty, data become corrupted after a certain delayNo communication between GPRS module RaspberryPi Zero serial GPIO portsConnecting through usb-serial driverSerial port works with minicom but not echo and catJessie: How to deal with Python open of /dev/ttyACM0 not sending RST signal like it does with /dev/ttyUSB0Raspberry Pi Zero W with SIM800l not workCan't get serial port working (header pins, Raspberry Pi 1 Model B)Several serial ports with c++
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
How many serial ports are on the Pi 3? There is one on the GPIO pin that goes to ttyS0
. Is there a separate one for USB? I have read somewhere about /dev/ttyUSB0
. Is that a separate serial port?
Place mentioning ttyUSB0
:
https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/setting-everything-up
pi-3 serial
add a comment |
How many serial ports are on the Pi 3? There is one on the GPIO pin that goes to ttyS0
. Is there a separate one for USB? I have read somewhere about /dev/ttyUSB0
. Is that a separate serial port?
Place mentioning ttyUSB0
:
https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/setting-everything-up
pi-3 serial
add a comment |
How many serial ports are on the Pi 3? There is one on the GPIO pin that goes to ttyS0
. Is there a separate one for USB? I have read somewhere about /dev/ttyUSB0
. Is that a separate serial port?
Place mentioning ttyUSB0
:
https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/setting-everything-up
pi-3 serial
How many serial ports are on the Pi 3? There is one on the GPIO pin that goes to ttyS0
. Is there a separate one for USB? I have read somewhere about /dev/ttyUSB0
. Is that a separate serial port?
Place mentioning ttyUSB0
:
https://learn.adafruit.com/adafruit-ultimate-gps-on-the-raspberry-pi/setting-everything-up
pi-3 serial
pi-3 serial
edited 2 days ago
Aurora0001
5,39931533
5,39931533
asked Apr 19 at 3:10
bakalolobakalolo
1709
1709
add a comment |
add a comment |
2 Answers
2
active
oldest
votes
The Pi has 2 serial ports, but only 1 is accessible - the other is connected to Bluetooth. (It is possible to switch ports in Device Tree.)
See How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW for more detail.
You can add additional ports with a USB-serial adapter.
Conscise answer (+1) but maybe just clarify that USB-serial adaptors are (depending on the driver etc.etc.) thettyUSBn
mentioned by the OP in the question?
– Roger Jones
2 days ago
add a comment |
Question
How many serial ports are on the Rpi3
Answer
I have been playing with serial communication this couple of days. I googled and the found the following tutorial useful.
Raspberry Pi Serial (UART) Tutorial - Roland Pelayo 2018jun22 17,305 Views
I extracted what the author says below:
Technically, the Raspberry Pi has two UARTs: PL011 UART and mini UART.
However, you only have one pair of TXD and RXD pins to work with.
The PL011 UART is the main UART for models without Bluetooth feature
and is tied directly to the Linux console output. This means you can
send Linux commands from your PC to the Raspberry Pi on this UART.
On the other hand, the mini UART becomes the Linux console UART for
models with Bluetooth like the Raspberry Pi 3 and Raspberry Pi Zero W.
For these models, the PL011 UART is tied directly to the Bluetooth
module.
Whichever UART is assigned to the Linux console is accessible through
/dev/serial0. Each UART can be accessed individually via /dev/ttyS0
for the mini UART and /dev/ttyAMA0 for the PL011 UART.
Generally, the PL011 UART is more reliable than the mini UART because
the latter has smaller FIFOs, lacks flow control and has its baud
rate reliant on the VPU clock speed.
My experiment results
I followed Roland Pelayo's instructions and have been doing experiments and found everything works as he suggests.
I used to use four TXS0104 logical level converters to demux one UART channel into 4. I select one one of the four channels by enabling TXS0104 converter I want. It works smoothly, except you can not use more than one UART channel at the same time.
I also tried the USB to TTL adapters for Rpi3B+ Raspbian version 2019Apr. I found both PL2302 and CH340 adapters can be detected without first installing drivers.
In other words, Raspbian version 2019apr already have Pl2303 and CH340 drivers preinstalled.
I also tried the CP2102 USB to TTL adapters, but many CP2102 modules are sadly not compatible to Win10 and ESP8266-12. I have not tried it on Rpi (see update below).
NXP SC16IS750 I2C/SPI to UART Module Not Recommended for Newbies
SparkFun once sold a NXP I2C/SPI to UART module. I thought it too good to be true to be able to have as many UART channels as I wanted. But then I found the datasheet has some "special features" which are perhaps OK for hackers to deal with, but too hard for newbies to handle. I tried hard for a couple of days before giving up. SparkFun has now discontinued this module for a reason.
The other modules AdaFruit are recommending are TXS/TXB0108 modules. I have been using TSX/TSB0104s for demultiplexing UART/I2C/SPI channels and found them OK, if not too greedy to entertain too many channels at the same time. Actually I found many I2C modules (including MCP23017) when grouped more than two, become unstable and difficult to troubleshoot. Perhaps I have not learnt all the tricks in fiddling the I2C pull up resistors. Anyway, trying just one is OK for newbies.
Another thing is that I tested both TSX and TSB versions and found TSB more reliable. I also noticed that AdaFruit only sells TSB now and no loner TSX. This are the puzzles I never solved.
Update 2019apr20hkt1628
I checked out more than 20 very old USB to TTL adaptors which have been collecting dust for over 10 years. I bought some of them for WinXP and found they no longer working for Win7. I also bouoght some for Win7, and found them no good for Win10. Just now I tried all these old guys for my Rpi3B+ Raspian 2019Apr to see if I had any luck. Surprisingly I found the following:
Bad = 5 (not sure which driver)
Good HL340 = 5
Good PL2302 = 7
References
AdaFruit TXB0108 8-channel Bi-directional Logic Level Converter - $8.00
TXB0108 Datasheet - TI
TXS0104E Datasheet - TI
Amazon SC16IS750 I2C/SPI to UART Module
SparkFun SC16IS750 I2C/SPI-to-UART Module
SC16IS750 I2C/SPI to UART Datasheet - NXP
The 6 Best Arduino GPS Modules - Josh Darling 2019jan
add a comment |
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("schematics", function ()
StackExchange.schematics.init();
);
, "cicuitlab");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "447"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f96697%2fhow-many-serial-ports-are-on-the-pi-3%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
2 Answers
2
active
oldest
votes
2 Answers
2
active
oldest
votes
active
oldest
votes
active
oldest
votes
The Pi has 2 serial ports, but only 1 is accessible - the other is connected to Bluetooth. (It is possible to switch ports in Device Tree.)
See How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW for more detail.
You can add additional ports with a USB-serial adapter.
Conscise answer (+1) but maybe just clarify that USB-serial adaptors are (depending on the driver etc.etc.) thettyUSBn
mentioned by the OP in the question?
– Roger Jones
2 days ago
add a comment |
The Pi has 2 serial ports, but only 1 is accessible - the other is connected to Bluetooth. (It is possible to switch ports in Device Tree.)
See How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW for more detail.
You can add additional ports with a USB-serial adapter.
Conscise answer (+1) but maybe just clarify that USB-serial adaptors are (depending on the driver etc.etc.) thettyUSBn
mentioned by the OP in the question?
– Roger Jones
2 days ago
add a comment |
The Pi has 2 serial ports, but only 1 is accessible - the other is connected to Bluetooth. (It is possible to switch ports in Device Tree.)
See How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW for more detail.
You can add additional ports with a USB-serial adapter.
The Pi has 2 serial ports, but only 1 is accessible - the other is connected to Bluetooth. (It is possible to switch ports in Device Tree.)
See How do I make serial work on the Raspberry Pi3 , Pi3B+, PiZeroW for more detail.
You can add additional ports with a USB-serial adapter.
edited Apr 19 at 5:18
answered Apr 19 at 4:57
MilliwaysMilliways
30.9k1357117
30.9k1357117
Conscise answer (+1) but maybe just clarify that USB-serial adaptors are (depending on the driver etc.etc.) thettyUSBn
mentioned by the OP in the question?
– Roger Jones
2 days ago
add a comment |
Conscise answer (+1) but maybe just clarify that USB-serial adaptors are (depending on the driver etc.etc.) thettyUSBn
mentioned by the OP in the question?
– Roger Jones
2 days ago
Conscise answer (+1) but maybe just clarify that USB-serial adaptors are (depending on the driver etc.etc.) the
ttyUSBn
mentioned by the OP in the question?– Roger Jones
2 days ago
Conscise answer (+1) but maybe just clarify that USB-serial adaptors are (depending on the driver etc.etc.) the
ttyUSBn
mentioned by the OP in the question?– Roger Jones
2 days ago
add a comment |
Question
How many serial ports are on the Rpi3
Answer
I have been playing with serial communication this couple of days. I googled and the found the following tutorial useful.
Raspberry Pi Serial (UART) Tutorial - Roland Pelayo 2018jun22 17,305 Views
I extracted what the author says below:
Technically, the Raspberry Pi has two UARTs: PL011 UART and mini UART.
However, you only have one pair of TXD and RXD pins to work with.
The PL011 UART is the main UART for models without Bluetooth feature
and is tied directly to the Linux console output. This means you can
send Linux commands from your PC to the Raspberry Pi on this UART.
On the other hand, the mini UART becomes the Linux console UART for
models with Bluetooth like the Raspberry Pi 3 and Raspberry Pi Zero W.
For these models, the PL011 UART is tied directly to the Bluetooth
module.
Whichever UART is assigned to the Linux console is accessible through
/dev/serial0. Each UART can be accessed individually via /dev/ttyS0
for the mini UART and /dev/ttyAMA0 for the PL011 UART.
Generally, the PL011 UART is more reliable than the mini UART because
the latter has smaller FIFOs, lacks flow control and has its baud
rate reliant on the VPU clock speed.
My experiment results
I followed Roland Pelayo's instructions and have been doing experiments and found everything works as he suggests.
I used to use four TXS0104 logical level converters to demux one UART channel into 4. I select one one of the four channels by enabling TXS0104 converter I want. It works smoothly, except you can not use more than one UART channel at the same time.
I also tried the USB to TTL adapters for Rpi3B+ Raspbian version 2019Apr. I found both PL2302 and CH340 adapters can be detected without first installing drivers.
In other words, Raspbian version 2019apr already have Pl2303 and CH340 drivers preinstalled.
I also tried the CP2102 USB to TTL adapters, but many CP2102 modules are sadly not compatible to Win10 and ESP8266-12. I have not tried it on Rpi (see update below).
NXP SC16IS750 I2C/SPI to UART Module Not Recommended for Newbies
SparkFun once sold a NXP I2C/SPI to UART module. I thought it too good to be true to be able to have as many UART channels as I wanted. But then I found the datasheet has some "special features" which are perhaps OK for hackers to deal with, but too hard for newbies to handle. I tried hard for a couple of days before giving up. SparkFun has now discontinued this module for a reason.
The other modules AdaFruit are recommending are TXS/TXB0108 modules. I have been using TSX/TSB0104s for demultiplexing UART/I2C/SPI channels and found them OK, if not too greedy to entertain too many channels at the same time. Actually I found many I2C modules (including MCP23017) when grouped more than two, become unstable and difficult to troubleshoot. Perhaps I have not learnt all the tricks in fiddling the I2C pull up resistors. Anyway, trying just one is OK for newbies.
Another thing is that I tested both TSX and TSB versions and found TSB more reliable. I also noticed that AdaFruit only sells TSB now and no loner TSX. This are the puzzles I never solved.
Update 2019apr20hkt1628
I checked out more than 20 very old USB to TTL adaptors which have been collecting dust for over 10 years. I bought some of them for WinXP and found they no longer working for Win7. I also bouoght some for Win7, and found them no good for Win10. Just now I tried all these old guys for my Rpi3B+ Raspian 2019Apr to see if I had any luck. Surprisingly I found the following:
Bad = 5 (not sure which driver)
Good HL340 = 5
Good PL2302 = 7
References
AdaFruit TXB0108 8-channel Bi-directional Logic Level Converter - $8.00
TXB0108 Datasheet - TI
TXS0104E Datasheet - TI
Amazon SC16IS750 I2C/SPI to UART Module
SparkFun SC16IS750 I2C/SPI-to-UART Module
SC16IS750 I2C/SPI to UART Datasheet - NXP
The 6 Best Arduino GPS Modules - Josh Darling 2019jan
add a comment |
Question
How many serial ports are on the Rpi3
Answer
I have been playing with serial communication this couple of days. I googled and the found the following tutorial useful.
Raspberry Pi Serial (UART) Tutorial - Roland Pelayo 2018jun22 17,305 Views
I extracted what the author says below:
Technically, the Raspberry Pi has two UARTs: PL011 UART and mini UART.
However, you only have one pair of TXD and RXD pins to work with.
The PL011 UART is the main UART for models without Bluetooth feature
and is tied directly to the Linux console output. This means you can
send Linux commands from your PC to the Raspberry Pi on this UART.
On the other hand, the mini UART becomes the Linux console UART for
models with Bluetooth like the Raspberry Pi 3 and Raspberry Pi Zero W.
For these models, the PL011 UART is tied directly to the Bluetooth
module.
Whichever UART is assigned to the Linux console is accessible through
/dev/serial0. Each UART can be accessed individually via /dev/ttyS0
for the mini UART and /dev/ttyAMA0 for the PL011 UART.
Generally, the PL011 UART is more reliable than the mini UART because
the latter has smaller FIFOs, lacks flow control and has its baud
rate reliant on the VPU clock speed.
My experiment results
I followed Roland Pelayo's instructions and have been doing experiments and found everything works as he suggests.
I used to use four TXS0104 logical level converters to demux one UART channel into 4. I select one one of the four channels by enabling TXS0104 converter I want. It works smoothly, except you can not use more than one UART channel at the same time.
I also tried the USB to TTL adapters for Rpi3B+ Raspbian version 2019Apr. I found both PL2302 and CH340 adapters can be detected without first installing drivers.
In other words, Raspbian version 2019apr already have Pl2303 and CH340 drivers preinstalled.
I also tried the CP2102 USB to TTL adapters, but many CP2102 modules are sadly not compatible to Win10 and ESP8266-12. I have not tried it on Rpi (see update below).
NXP SC16IS750 I2C/SPI to UART Module Not Recommended for Newbies
SparkFun once sold a NXP I2C/SPI to UART module. I thought it too good to be true to be able to have as many UART channels as I wanted. But then I found the datasheet has some "special features" which are perhaps OK for hackers to deal with, but too hard for newbies to handle. I tried hard for a couple of days before giving up. SparkFun has now discontinued this module for a reason.
The other modules AdaFruit are recommending are TXS/TXB0108 modules. I have been using TSX/TSB0104s for demultiplexing UART/I2C/SPI channels and found them OK, if not too greedy to entertain too many channels at the same time. Actually I found many I2C modules (including MCP23017) when grouped more than two, become unstable and difficult to troubleshoot. Perhaps I have not learnt all the tricks in fiddling the I2C pull up resistors. Anyway, trying just one is OK for newbies.
Another thing is that I tested both TSX and TSB versions and found TSB more reliable. I also noticed that AdaFruit only sells TSB now and no loner TSX. This are the puzzles I never solved.
Update 2019apr20hkt1628
I checked out more than 20 very old USB to TTL adaptors which have been collecting dust for over 10 years. I bought some of them for WinXP and found they no longer working for Win7. I also bouoght some for Win7, and found them no good for Win10. Just now I tried all these old guys for my Rpi3B+ Raspian 2019Apr to see if I had any luck. Surprisingly I found the following:
Bad = 5 (not sure which driver)
Good HL340 = 5
Good PL2302 = 7
References
AdaFruit TXB0108 8-channel Bi-directional Logic Level Converter - $8.00
TXB0108 Datasheet - TI
TXS0104E Datasheet - TI
Amazon SC16IS750 I2C/SPI to UART Module
SparkFun SC16IS750 I2C/SPI-to-UART Module
SC16IS750 I2C/SPI to UART Datasheet - NXP
The 6 Best Arduino GPS Modules - Josh Darling 2019jan
add a comment |
Question
How many serial ports are on the Rpi3
Answer
I have been playing with serial communication this couple of days. I googled and the found the following tutorial useful.
Raspberry Pi Serial (UART) Tutorial - Roland Pelayo 2018jun22 17,305 Views
I extracted what the author says below:
Technically, the Raspberry Pi has two UARTs: PL011 UART and mini UART.
However, you only have one pair of TXD and RXD pins to work with.
The PL011 UART is the main UART for models without Bluetooth feature
and is tied directly to the Linux console output. This means you can
send Linux commands from your PC to the Raspberry Pi on this UART.
On the other hand, the mini UART becomes the Linux console UART for
models with Bluetooth like the Raspberry Pi 3 and Raspberry Pi Zero W.
For these models, the PL011 UART is tied directly to the Bluetooth
module.
Whichever UART is assigned to the Linux console is accessible through
/dev/serial0. Each UART can be accessed individually via /dev/ttyS0
for the mini UART and /dev/ttyAMA0 for the PL011 UART.
Generally, the PL011 UART is more reliable than the mini UART because
the latter has smaller FIFOs, lacks flow control and has its baud
rate reliant on the VPU clock speed.
My experiment results
I followed Roland Pelayo's instructions and have been doing experiments and found everything works as he suggests.
I used to use four TXS0104 logical level converters to demux one UART channel into 4. I select one one of the four channels by enabling TXS0104 converter I want. It works smoothly, except you can not use more than one UART channel at the same time.
I also tried the USB to TTL adapters for Rpi3B+ Raspbian version 2019Apr. I found both PL2302 and CH340 adapters can be detected without first installing drivers.
In other words, Raspbian version 2019apr already have Pl2303 and CH340 drivers preinstalled.
I also tried the CP2102 USB to TTL adapters, but many CP2102 modules are sadly not compatible to Win10 and ESP8266-12. I have not tried it on Rpi (see update below).
NXP SC16IS750 I2C/SPI to UART Module Not Recommended for Newbies
SparkFun once sold a NXP I2C/SPI to UART module. I thought it too good to be true to be able to have as many UART channels as I wanted. But then I found the datasheet has some "special features" which are perhaps OK for hackers to deal with, but too hard for newbies to handle. I tried hard for a couple of days before giving up. SparkFun has now discontinued this module for a reason.
The other modules AdaFruit are recommending are TXS/TXB0108 modules. I have been using TSX/TSB0104s for demultiplexing UART/I2C/SPI channels and found them OK, if not too greedy to entertain too many channels at the same time. Actually I found many I2C modules (including MCP23017) when grouped more than two, become unstable and difficult to troubleshoot. Perhaps I have not learnt all the tricks in fiddling the I2C pull up resistors. Anyway, trying just one is OK for newbies.
Another thing is that I tested both TSX and TSB versions and found TSB more reliable. I also noticed that AdaFruit only sells TSB now and no loner TSX. This are the puzzles I never solved.
Update 2019apr20hkt1628
I checked out more than 20 very old USB to TTL adaptors which have been collecting dust for over 10 years. I bought some of them for WinXP and found they no longer working for Win7. I also bouoght some for Win7, and found them no good for Win10. Just now I tried all these old guys for my Rpi3B+ Raspian 2019Apr to see if I had any luck. Surprisingly I found the following:
Bad = 5 (not sure which driver)
Good HL340 = 5
Good PL2302 = 7
References
AdaFruit TXB0108 8-channel Bi-directional Logic Level Converter - $8.00
TXB0108 Datasheet - TI
TXS0104E Datasheet - TI
Amazon SC16IS750 I2C/SPI to UART Module
SparkFun SC16IS750 I2C/SPI-to-UART Module
SC16IS750 I2C/SPI to UART Datasheet - NXP
The 6 Best Arduino GPS Modules - Josh Darling 2019jan
Question
How many serial ports are on the Rpi3
Answer
I have been playing with serial communication this couple of days. I googled and the found the following tutorial useful.
Raspberry Pi Serial (UART) Tutorial - Roland Pelayo 2018jun22 17,305 Views
I extracted what the author says below:
Technically, the Raspberry Pi has two UARTs: PL011 UART and mini UART.
However, you only have one pair of TXD and RXD pins to work with.
The PL011 UART is the main UART for models without Bluetooth feature
and is tied directly to the Linux console output. This means you can
send Linux commands from your PC to the Raspberry Pi on this UART.
On the other hand, the mini UART becomes the Linux console UART for
models with Bluetooth like the Raspberry Pi 3 and Raspberry Pi Zero W.
For these models, the PL011 UART is tied directly to the Bluetooth
module.
Whichever UART is assigned to the Linux console is accessible through
/dev/serial0. Each UART can be accessed individually via /dev/ttyS0
for the mini UART and /dev/ttyAMA0 for the PL011 UART.
Generally, the PL011 UART is more reliable than the mini UART because
the latter has smaller FIFOs, lacks flow control and has its baud
rate reliant on the VPU clock speed.
My experiment results
I followed Roland Pelayo's instructions and have been doing experiments and found everything works as he suggests.
I used to use four TXS0104 logical level converters to demux one UART channel into 4. I select one one of the four channels by enabling TXS0104 converter I want. It works smoothly, except you can not use more than one UART channel at the same time.
I also tried the USB to TTL adapters for Rpi3B+ Raspbian version 2019Apr. I found both PL2302 and CH340 adapters can be detected without first installing drivers.
In other words, Raspbian version 2019apr already have Pl2303 and CH340 drivers preinstalled.
I also tried the CP2102 USB to TTL adapters, but many CP2102 modules are sadly not compatible to Win10 and ESP8266-12. I have not tried it on Rpi (see update below).
NXP SC16IS750 I2C/SPI to UART Module Not Recommended for Newbies
SparkFun once sold a NXP I2C/SPI to UART module. I thought it too good to be true to be able to have as many UART channels as I wanted. But then I found the datasheet has some "special features" which are perhaps OK for hackers to deal with, but too hard for newbies to handle. I tried hard for a couple of days before giving up. SparkFun has now discontinued this module for a reason.
The other modules AdaFruit are recommending are TXS/TXB0108 modules. I have been using TSX/TSB0104s for demultiplexing UART/I2C/SPI channels and found them OK, if not too greedy to entertain too many channels at the same time. Actually I found many I2C modules (including MCP23017) when grouped more than two, become unstable and difficult to troubleshoot. Perhaps I have not learnt all the tricks in fiddling the I2C pull up resistors. Anyway, trying just one is OK for newbies.
Another thing is that I tested both TSX and TSB versions and found TSB more reliable. I also noticed that AdaFruit only sells TSB now and no loner TSX. This are the puzzles I never solved.
Update 2019apr20hkt1628
I checked out more than 20 very old USB to TTL adaptors which have been collecting dust for over 10 years. I bought some of them for WinXP and found they no longer working for Win7. I also bouoght some for Win7, and found them no good for Win10. Just now I tried all these old guys for my Rpi3B+ Raspian 2019Apr to see if I had any luck. Surprisingly I found the following:
Bad = 5 (not sure which driver)
Good HL340 = 5
Good PL2302 = 7
References
AdaFruit TXB0108 8-channel Bi-directional Logic Level Converter - $8.00
TXB0108 Datasheet - TI
TXS0104E Datasheet - TI
Amazon SC16IS750 I2C/SPI to UART Module
SparkFun SC16IS750 I2C/SPI-to-UART Module
SC16IS750 I2C/SPI to UART Datasheet - NXP
The 6 Best Arduino GPS Modules - Josh Darling 2019jan
edited yesterday
answered Apr 19 at 4:13
tlfong01tlfong01
842312
842312
add a comment |
add a comment |
Thanks for contributing an answer to Raspberry Pi Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fraspberrypi.stackexchange.com%2fquestions%2f96697%2fhow-many-serial-ports-are-on-the-pi-3%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown