Sleepy Pi 2 with Programming header

Configuring The GPIO Serial Port On Raspbian Jessie and Stretch Including Pi 3

This used to be relatively straightforward, but with move from Raspbian Wheezy to Raspbian Jessie, (and then Raspbian Stretch) things changed. Add to this, the new Raspberry Pi 3 family with new hardware and the whole thing became a bit of a Dog’s Breakfast and issues with the Bluetooth to boot.

It suddenly got very confusing.

Following lots of wasted time, I’ve noted down what I think I know so far in this post. With luck you can have your cake and eat it: use the serial port on a Raspberry Pi 3 and use the Bluetooth AND have the same code work on other Raspberry Pi’s (non RPi3).

NOTE: You will need the latest firmware May 2016 or later for this to work (works with March 2018 firmware). Should this change again, I’ll update this post.


Before I dive into the configuration, it’s worth taking a moment for a little history and orientation about the serial port on the Raspberry Pi.

If you’re a bit old school like me, you’d be expecting to find something called COM1 or similar on a header. In Raspberry Pi / Linux land this COM1 equivalent is found on pins 14 and 15 of the GPIO header and is called /dev/ttyAMA0 (obvious, right?).

Also in Raspberry Pi land, you can use the serial port as a terminal to log in, which is useful if you don’t have a network connection to hand. You can connect to another computer via their serial ports and run a terminal emulator on the other computer and you’ll get a login prompt.

By default the Raspberry Pi uses the serial port for this “console” login and via a software service called “getty”.

Using the serial port with other hardware

So that’s the ‘normal” configuration of the serial port, but serial ports are very useful things. What if we want to use the serial port to get data from a GPS card or program an arduino? In this case we need to disable the console login so that we alone get control of the port. Easy right? Yes and no. There is a big elephant in the room and he’s called Raspberry Pi 3.

Before we can describe using the serial port, we have to talk about Raspberry Pi 3, which throws a great big spanner in the works as far as serial ports are concerned.

Raspberry Pi 3

Raspberry Pi 3’s are great little beasts, and add Bluetooth, yay! However, in order to use the Bluetooth correctly the /dev/ttyAMA0 has been “stolen” from the GPIO header and an inferior second one has been substituted in it’s place. No-one will ever know! Unfortunately /dev/ttyAMA0 was a hardware serial port (uart) and high performance (hence it was nabbed for the Bluetooth) and the second port is partly software and a bit flaky. Many people’s applications got broken.

The second serial port you will see referred to as the “mini uart” and lives at /dev/ttyS0. It also calculates it’s bit timing’s from the CPU cores frequency and if the CPU is under heavy load it can corrupt the serial communications. Not good.

In order to work around this, many people “fix” the CPU core frequency so that the serial port is stable. This comes at a slight loss in performance (though normally not noticeable). I’ll describe how you do this in the next section.

By the way, it’s not all bad for the change of serial port on the Raspberry Pi 3. The Arduino IDE expects the serial communications to be on /dev/ttyS0 so you have no work to do to map the serial ports across. Yay!

To summarise the ports on a Raspberry Pi 3 and be crystal clear:

/dev/ttyAMA0 -> Bluetooth
/dev/ttyS0 -> GPIO serial port.

If you stick with these as is, your Bluetooth will work as nature intended AND you can use a serial port over the GPIO (there is a way of swapping the serial ports around if you don’t want to use the Bluetooth and I’ll cover that at the end of this post).


There is yet another wrinkle in that in the latest Jessie releases (as of May 2016) the GPIO serial port is disabled by default. In order to enable it, edit config.txt:

and add the line (at the bottom):

As of May 2016 this will also lock the cpu core frequency for you so there’s nothing else you need to do (If you aren’t convinced and you really like to belt and braces it the command is: core_freq=250 which you add to the same file aswell).

Reboot for the changes to take effect.

This should get you good serial communications for most uses.

Serial Aliases

On the Raspberry Pi 3 the second serial port is called /dev/ttyS0 and is by default mapped to the GPIO pins 14 and 15. So immediately, if you have code that references /dev/ttyAMA0 you’re going to have problems and things aren’t going to work.

You could go through your code and replace ttyAMA0 with ttyS0 and that should work. However, if you find yourself use the same SD card on a Raspberry Pi other than a rpi3 your code won’t work again.

In order to try and get around this the Foundation have introduced a serial port alias (as of May 2016 – 2016-05-10). Thus you have serial ports: serial0 and serial1 (rpi3). The Raspberry Pi kernel sorts out where these point to depending on which Raspberry Pi you are on. Thus on a Raspberry Pi 3 serial0 will point to GPIO pins 14 and 15 and use the “mini-uart” aka /dev/ttyS0. On other Raspberry Pi’s  it will point to the hardware UART and /dev/ttyAMA0.

To find out where it is pointing you can use the command:

Default Raspberry PI 3 serial port aliases

Default Raspberry PI 3 serial port aliases

Default Raspberry PI 2 serial port aliases

Default Raspberry PI 2 serial port aliases

So where possible refer to the serial port via it’s alias of “serial0” and your code should work on both Raspberry Pi 3 and other Raspberry Pi’s.

Disabling the Console

If you are using the serial port for anything other than the console you need to disable it. This will be slightly different depending on whether you are running a Raspberry Pi 3 or not.

For non Raspberry Pi 3 machines, remember it’s /dev/ttyAMA0 that is linked to the getty (console) service. So you need to perform this command from a terminal window:

The “disable” will stop it loading in the future.

For Raspberry Pi 3’s the command is similar but referencing /dev/ttyS0:

You also need to remove the console from the cmdline.txt. If you edit this with:

you will see something like:

remove the line: console=serial0,115200 and save and reboot for changes to take effect.

Swapping the Serial Ports on Raspberry Pi 3

What if you don’t want to use the Bluetooth and you want that high performance /dev/ttyAMA0 back on the GPIO? Well you can do this and the way you do this is via a device overlay called “pi3-miniuart-bt” i.e. use the mini-uart (/dev/ttyS0) for Bluetooth (you may get some loss of performance on your Bluetooth though).

You can also just disable the Bluetooth all together by using another overlay “pi3-disable-bt”. In both cases if you can find out more of what they do here: /boot/overlays/README

To use add the following line to the /boot/config.txt

and add:

Save and reboot for changes to take effect.

You can check that it has worked by:

and you’ll see something like this:

Swapped Raspberry PI 3 serial port aliases

Swapped Raspberry PI 3 serial port aliases

104 Responses to Configuring The GPIO Serial Port On Raspbian Jessie and Stretch Including Pi 3

  1. Philip July 9, 2019 at 10:24 pm #

    Please could you expand your article to talk about the serial ports and bluetooth on the Pi Zero W ?

  2. krishnamurty June 13, 2019 at 7:18 am #

    Can kindly somebody explain me, how to use the Serial port in interrupt mode, for Raspberry pi using python. Please tell in a simple example program, so that i can utilize the concept in my project.

  3. shivpatil May 28, 2019 at 6:42 am #

    Can we use Both UART /dev/ttyS0 & /dev/ttyS1 simultaneously.

  4. Dave May 22, 2019 at 5:42 pm #


    Thank you. I’ve been banging my head against the wall for two days trying to figure out why my Pi Zero W wasn’t getting data via UART. I knew data was coming off my GPS and knew was it was getting to the GPIO pins. But I had no data. This article provided the missing information and the key to getting it to work.

    Thanks for sharing and taking the time to document.


  5. Alan March 5, 2019 at 5:51 pm #

    Jon a really good article that saved a lot of work after I changed my hardware from rpi2 to 3. Thank you I’m now back up and running.

    • Jon Watkins March 11, 2019 at 9:35 pm #

      Thanks, means a lot ;-D

    • Donald April 18, 2019 at 5:18 pm #

      The article has lots of great information which i used on previous pi to get GPIO all working.

      It is missing the details for using a USB adapter.

      What do i need to change to use a USB-serial adapter and have GPIO active —
      with or without Bluetooth– on a Pi 3B+ ?

    • d gilbert May 6, 2019 at 10:03 am #

      Speaking of systemd and serial ports, there is also the damn stupid serial port getty setup that cycles between 115200, 38400, 9600 baud. That is guaranteed to waste a few minutes of your time when you come to log in on a serial port. That is a !@#$ing stupid idea. Once you understand baud rate on serial, you set it correctly, then the RPi does its stupid baud rate dance. The offending code is in /lib/systemd/system/serial-getty@.service . Apart from hacking that file, what is the proper way to tell systemd: halt and desist?

  6. Shaw Tan February 18, 2019 at 2:10 pm #

    Man, Linux community is really Narcissism. Windows 3.0 already dominated the business, Windows 3.1 was even more success. I downloaded the first Linux from slackware/ on a Windows PC. I check out the popular Linux.distro every a few years since then, now running a Debian Stretch on a Rockchip board, the Lixus is still not a usable system for most of people even you consider yourself have good tech savvy.

  7. Jim Whitfield September 12, 2018 at 1:26 am #

    Thank you Thank you! Nice, clear explanation of a confusing mess of names, aliases and hardware releases.

    I also appreciate how itemir’s script at

    took me over the finish line. It also removed
    symlink /etc/systemd/system/

  8. Iñaki July 28, 2018 at 2:17 pm #

    Thank you very much Jon.
    All you have explained here is very clear and helpfull.

  9. Renier Delport June 3, 2018 at 11:11 am #

    Very helpful. Thank you!

  10. Ash June 1, 2018 at 5:14 pm #

    Is that possible to use internal bluetooth and hardware serial port for a GSM module simltaneously?

  11. wildwingman May 23, 2018 at 10:38 pm #

    If you were old school like you said you were you would know that linux has been around a long time before windows. I have been using linux since 1995

    • Jon Watkins May 24, 2018 at 11:56 am #

      Did I mention? I’m not a fan of Windoze…

    • Alex August 4, 2018 at 2:50 pm #

      “linux has been around a long time before windows”.

      Windows was first released in 1985, a long time before Linux existed.

    • Fred Pacilli August 4, 2018 at 9:50 pm #

      I’m not too sure about Linux being around longer than Windows Windows 3.0 showed up around 1990. I remember…. I was there. Before that starting around 1985 Windows came in on various versions that weren’t all that hot. Basically a shell over DOS. Linux kernel didn’t show up until 1991.

      • Jon Watkins August 5, 2018 at 3:06 pm #

        Yes, Linux was technically after Windows, but UNIX had been around a while before that. But let’s face it Windows wasn’t usable until Windows 95….

        • RAYMOND FELCH December 2, 2018 at 9:30 pm #

          You’re correct.. UNIX came out during my employment with AT&T (old Western Electric) back in 1979. I was one of the fortunate employees to be allowed to attend the training classes held in Bell Lab at the time.

          There was no Windows (or DOS for that matter) until much later. UNIX was booted on old Digital Equipment PDP mainframes with a whopping 4K of non-volatile RAM (magentic cores to retain their states) . We’ve come a long way in such a relatively short length of time. 🙂

  12. Mars May 15, 2018 at 3:51 pm #

    When you say that this serial port is also used for “console login”, what do you mean? Its used if we ssh into the pi? Or the login for the desktop gui?

  13. Robin Claesson April 17, 2018 at 2:10 pm #

    How do I change back?

    enable_uart=0 ?
    disable_uart=1 ?

  14. Vasanth March 20, 2018 at 1:41 pm #

    Nice explanation, Very useful article !!

  15. JRG March 1, 2018 at 9:44 pm #

    Do you have to do any of these changes when trying to connect to a Pi Zero’s serial/uart port?

  16. yash solanki February 20, 2018 at 9:45 pm #

    Hi, i followed all steps with PI 3 and i got serial0 -> ttyAMA0 and serial1 -> ttyS0.
    but still i am getting NO show while trying to read the data from GPS with (cgps -s).
    please help.

  17. Pathan Salman February 20, 2018 at 2:12 pm #

    hello sir i have Raspberry pi b+ device as well as GSM sim900A modem..
    I have to config both divice .. using GPIO pins..
    tell me how to config..
    could u give me Paython code for display receiving sms from mobile on raspberry pi..

  18. Hbk February 16, 2018 at 4:58 pm #

    Sir is there any way to connect a sensor with serial data to raspberry pi directly? anyone please help!!!!!!

  19. John B February 1, 2018 at 7:36 pm #

    Very helpful after struggling with the explanation in one of the books on the RPi, clearly it was not updated to cover Jessie.

    Thank you

  20. Jorge Martins January 2, 2018 at 10:52 am #

    I want to use both Bluetooth and GPIO serial ports. It is possible to use both?

  21. Christos December 9, 2017 at 3:32 pm #

    I love it when somebody takes the time to explain in detail a subject.
    Thank you very much sir!

    • Jon Watkins December 9, 2017 at 5:42 pm #

      Thank-you, my pleasure!

  22. Fabrice November 15, 2017 at 6:31 pm #

    I used your post for the Raspberry Pi zero W. It’s valid. 🙂

    Thank you very much.

  23. Mufad November 6, 2017 at 5:19 pm #


    Will this process work for Raspbian Stretch?

  24. Robby November 4, 2017 at 5:08 pm #

    Thank God! And I’m saying this as an atheist.

    You sir, are a hero.

  25. Helder October 30, 2017 at 1:53 pm #

    Excellent post 🙂

  26. Bastiaan October 17, 2017 at 7:51 pm #

    Thank you so much for this great post. Contents and certainly the humor returned my hobby to me.

  27. eper October 3, 2017 at 1:29 pm #

    I followed the instructions (i have serial1 mapped to ttyS0), and i get this exception upon trying to initiate the serial connection

    “SerialException: Could not configure port: (5, ‘Input/output error’)”

    Has anyone else encountered this and found a solution? Thanks!

  28. mva August 23, 2017 at 2:15 am #

    Many thanks to you.
    I learn a lot with you

  29. Miles August 11, 2017 at 7:46 am #

    Like so many others I spent hours trying to get my Zero and 3 to talk to a serial device, you saved my sanity and even more hours of head banging. Thank you, thank you.

    • Jon Watkins August 11, 2017 at 4:24 pm #

      Thanks you!

  30. Stephen Mann August 8, 2017 at 5:04 pm #

    Thankyou Thankyou thankyou.

    After spending days trying to get my Pi to talk to an ESP8266 over the GPIO serial port, your post made using the GPIO serial port so amazingly clear.

    • Jon Watkins August 8, 2017 at 10:14 pm #


  31. Jhonny92 April 22, 2017 at 3:37 pm #

    Does this procedure work also with a Rapberry Pi 3 with Kali Linux? I am going to realize a project with it and I need the GPS signal to track its position.

    Thanks 🙂

  32. Bill April 13, 2017 at 4:25 pm #

    Great post, you should know this also applies to the zero W!

    • Jon Watkins April 14, 2017 at 4:22 pm #

      Thanks for letting us know!

  33. Madhur March 30, 2017 at 1:50 pm #

    I’m using raspi 3 and we are trying to send data from an rfid reader( EM18) over the ttl to USB converter.

    We are using the following code:

    import serial #import serial module

    def read_rfid ():
    ser = serial.Serial (“/dev/ttyAMA0”) #Open named port
    ser.baudrate = 9600 #Set baud rate to 9600
    data = #Read 12 characters from serial port to data
    ser.close () #Close port
    return data #Return data

    id = read_rfid () #Function call
    print id

    The code does not throw any errors but we dont get any output when the code runs.
    We have tried using ttyS0 and ttyUSB0 as well.

    Please please help.

    • Madhur March 30, 2017 at 1:52 pm #

      And we are using Raspberry pi 3.

  34. sravanthi March 10, 2017 at 5:30 am #

    i want to connect with the raspberry pi bluetooth n send data from the android to be read in a python to access the bluetooth module?

  35. chogyi March 3, 2017 at 8:01 am #

    Please help me,,,, i can send data to my robot from pi3. But i can’t receive return data from robot. Plz help me…..

    • Jon Watkins March 3, 2017 at 1:42 pm #

      First thing to check is the wiring, have you got the RX pin connected / to the right pin?

      • chogyi March 6, 2017 at 2:53 am #

        i have already check. It is all right. thz for answer. pls say me next advise.

    • Daniel March 12, 2017 at 3:04 pm #

      My serial port ttyS0 on pi 3 (/dev/serial0) was not working due to permission error when I try to control with python. Investigation show of the ttyS0 was not on the group dialout.

      Adding this command has fixed the problem:

      sudo systemctl mask serial-getty@ttyS0.service

  36. Rayn March 2, 2017 at 2:13 am #

    If on a Windows box, be sure the Prolific USB-to-Serial device is set to 115200, along with your PUTTY session. I had the garbled text issue on both a Rasp Pi 3 and a Rasp Pi 2. Once I changed my device speed in device manager, I was getting clear text over my serial session.

    Thank you for the additional details! 🙂

    • Jon Watkins March 3, 2017 at 1:41 pm #

      Thanks for that extra little nugget!

  37. Rafael February 26, 2017 at 9:59 pm #

    It works. Thank you so much! I’ve been stuck with this for days.

  38. Luc Eeckelaert February 14, 2017 at 11:42 am #

    Great post, thank you!

  39. Ilker January 25, 2017 at 6:10 am #

    Thanks, this was a very helpful explanation. Since it was quite a bit of hassle to do this manually each time, I scriptized it. On Raspberry Pi3, the script simply disables Bluetooth. It is available on GitHub:

    Comments welcome.

    • Jon Watkins January 25, 2017 at 8:31 am #

      Wow, thanks for sharing that!

  40. Yann January 16, 2017 at 3:41 pm #

    For some reason, the serial ports swapping doesn’t work on my RPI3.
    I must have done Something wrong but I can’t figure out what.
    When I type ls -l /dev, ttyS0 and ttyAMA remain unchanged.
    RPi gurus please advise.

  41. Espen E January 16, 2017 at 12:39 pm #


    i was searching the hold wide web yseterday, and found “jolly” explenations to get this working.
    I managed to do Fu*% up my pi today so needed to reinstall jessy.

    And when I was going to activate the GPIO pins again I found this post.
    Why did i not find this yesterday.

    everything explained, I love you!!!!

    • Jon Watkins January 16, 2017 at 9:24 pm #

      …And I love you too!

  42. Patrick Zorba January 13, 2017 at 5:13 am #

    Thank you so much Jon. I wish I read your article long time ago! Also thanks for explaining the PI3 issues clearly.

  43. pierre January 12, 2017 at 8:32 am #

    thank you soooooo mucj

  44. Ron January 10, 2017 at 8:57 am #

    this topic is discussed here.

    Cheers Ron

  45. Vicente F. December 31, 2016 at 6:27 pm #

    Guy, you deserve a big statue somewhere in the galaxy.

    Gracias, gracias, gracias.

    • Jon Watkins January 3, 2017 at 9:53 pm #

      Thank you!

    • DJ_exx January 9, 2017 at 10:05 am #

      I have a problem with serial port /dev/ttyAMA0 on Jessie (Raspberry Pi 2B)
      During boot time it sends one byte (0xFF) to serial port which confuses the connected device (DS2480B 1-wire bus-master chip).

      Console is disabled in raspi-config, uart is enabled in /boot/config.txt, gpio pins 14,15 in ALT0 mode.

      On Wheezie everything worked OK.

      Few years ago there was similar issue in Linux kernel and also similar problem with “Uncompressing Linux kernel” message sent to all serial ports.

      • Gonzalo February 26, 2017 at 3:50 pm #

        do you find solution for 0xFF issue? please share your solution =)

  46. Alex December 14, 2016 at 9:26 am #

    Thank you for posting this. I was going round in circles before reading this.
    This is the only article on the web that I could find that explains the changes in the PI3 is a simple and concise manner.

  47. Bryan December 1, 2016 at 3:19 am #

    Has anyone attempted this yet on the Pi Zero? I’m finding that neither /dev/ttyAMA0 nor /dev/ttyS0 exist. I was able to follow the instructions successfully on both the Pi 2 and 3.

  48. ombra32 November 19, 2016 at 11:13 am #

    Many thanks!
    Very good, simple and clear article!!

  49. Ti November 9, 2016 at 1:31 am #

    Beautiful. Thank You.

  50. Sean November 6, 2016 at 12:13 pm #

    Great Post, thank you for this,

  51. Seth November 1, 2016 at 8:50 am #

    Thanks for this. I had some other problems as well. I also had to issue:
    sudo systemctl disable hciuart
    to prevent (I am told) the bt modem from trying to keep the port. Also beware that if you use raspi-config to turn off the console AFTER you have edited /boot/config.txt that it seems to also reset enable_uart=0. Too me a while to find that problem 😉

    Thanks again

  52. Seth Neiman November 1, 2016 at 1:53 am #

    A follow on question. Have moved ttyAMA0 back to gpio14/15, and moved bt to miniuart, and have disabled console on serial as above. It all seems to wrk – except for one very peculiar thing. I am using this as a coprocessor for vision tasks an a flying quad. There is a serial link to the quad’s flight controller that talks to ttyAMA0. The communications works perfectly on pi 0 – just need more computation. When moved to pi 3 – it works occasionally – BUT attaching flight controller TX to gpio15 frequently causes the pi to close all ssh sessions! there is plenty of power (tried separate power supplies, etc), the cable has been replaced and tested on pi 0.

    So the question is what the heck could be happening on the uart rx pin that would cause the pi 3 to kick out active ssh connections? I am starting to guess that I just have a bad pi 3 – but thought I would ask first.

    Thanks for any and all input

  53. Wayne November 1, 2016 at 1:32 am #

    IS there a way to ID one of the native (Serial0 / Serial1) as “COMn”? I am wanting to run an application (AdvancedHMI) using mono on an R Pi 3, and the application’s ModbusRTU comm driver is configured to address COM1, 2 or 3………………………..

  54. harold October 22, 2016 at 5:21 pm #

    Amazing clear ! Struggle a full day and you post solved the tty issue in minutes.
    Thank you. Thank you. Thank you…

  55. Josiah Hamilton October 15, 2016 at 9:31 pm #

    thank you thank you thank you!

  56. Maikel October 11, 2016 at 9:01 am #

    Thank you, helped me out a lot !

  57. Shane September 28, 2016 at 3:55 pm #

    excellent – this was exactly what i needed and it worked a treat, thanks for putting this on the web!

    • Jon Watkins September 29, 2016 at 9:57 pm #


  58. jp herrenknecht September 24, 2016 at 9:52 am #

    Thanks a lot,

    After 3 days of strugling with my rpi3, i found your article and it saved me with a microstack gps.
    Your article is very clear and I finally understand the source of my problems.

    • Jon Watkins September 24, 2016 at 10:07 am #

      Thanks! Very much appreciated. 🙂

  59. gavan September 24, 2016 at 2:17 am #

    This is a fantastic post, thanks so much for this, totally solved my problem

    • Jon Watkins September 24, 2016 at 10:07 am #

      Thanks for that 🙂

  60. Erdogan Kurtur September 11, 2016 at 1:41 pm #


    Great article, saved me a lot of trouble. Just noting on RPi3B v1.2 (jessie 8.0, 4.4.13-v7+), I had to disable serial getty using

    sudo systemctl disable serial-getty@ttyS0.service

    after that (and some cmdline editing), serial was free for me to use. I’ve connected my Pi to MicroView arduino using direct rx-tx cable connection.

    Thank you very much for this piece of gold

    • Jon Watkins September 11, 2016 at 7:24 pm #


      Thanks for the tip!

  61. Gj September 8, 2016 at 5:02 pm #

    which pin shall I use for the second serial port? Thanks

    • Jon Watkins September 11, 2016 at 7:28 pm #

      The serial port appears on the GPIO on GPIO 14 and GPIO 15. These are physically pins 8 (TXD) and 10 (RXD). These are the same pins on all RPi’s. On the RPi 3 it’s referred to as a second serial port.

      • Bret January 18, 2017 at 5:48 am #

        Ok i was wondering that too Jon. So if I’m using pin 10 (RX) and have disabled the BT then it should be using the fast UART?

        ls -l /dev
        …Shows me

        I am getting output from my accelerometer over the RX pin which is good i just wanted to make sure this is the fastest RX available on the PI3

  62. mars September 1, 2016 at 12:01 am #

    Do you have a write up for the pi2? Im trying to write at commands to an hm10 module connected to the gpio pins.

  63. Jayson J Thomas August 29, 2016 at 8:46 am #

    Thanks so much for this write-up 🙂

  64. Brian July 17, 2016 at 10:18 pm #

    I use the getty command ‘/sbin/getty -L ttyUSBupper 9600 vt100’ , and success prompt to upper USB , but why I put in

    /etc/inittab :

    T1:23:respawn:/sbin/getty -L ttyUSBupper 9600 vt100

    It just can not work while the Raspberry pi3 boot up ?


  65. JHBR July 14, 2016 at 11:09 am #

    Thank you for collecting all this updated information in an informative post!

    A lot if misleading information out there regarding how to use the UART that depends on which raspberry pi you’re sporting and if you’re using Jessie or an older version of rasbian.

    • JHBR July 22, 2016 at 10:32 am #

      Running my code on a RPi 3, I had troubles with receiving data on the UART unless I added the line to lock the CPU core frequency (core_freq=250): Adding the line to enable the UART (enable_uart=1) was not enough.

  66. Kass July 7, 2016 at 6:43 pm #

    excellent article, after 2 hours strugling to make it works i found this article and it worked fine!

  67. Peter June 30, 2016 at 9:06 pm #

    Thank you for collecting all this information here and making it straightforward and easy to follow.

  68. Rock Lu June 28, 2016 at 10:53 am #

    Excellent post! make me clear ever than befor!

  69. x92127 June 19, 2016 at 2:20 pm #

    Excellent write-up, thank you! This is exactly what I was looking for after 10 hours of banging my head against the wall.


  1. raspberry pi as a serial console terminal – .pQd's log - June 29, 2019

    […] compiled steps above from different sites, only afterwards i saw that this page describes it in nearly the same […]

  2. Raspberry Pi & OpenCV – UART Communication (Part 2) – Richard Arthurs - August 22, 2017

    […] First, follow the instructions here: […]

  3. Motion Sensor PoC: BNO055 and Raspberry Pi subtleties – Hauke’s Projects - March 21, 2017

    […] For a very good and complete description of the serial interface and its configuration on Raspberry Pi 3 read this article. […]

  4. OpenStack part 9: Using a Raspberry Pi as out-of-band server management – Panic1 - February 19, 2017

    […] Information has been found here: Link. […]

  5. Enable serial port on raspbian jessie | Ryan Martin, PhD - November 2, 2016

    […] More help: here here […]

  6. Téléinfo EDF avec un Raspberry Pi - MagdiBlog - August 3, 2016

    […] Pour plus d’information sur ces changements : […]

Leave a Reply

Site design & build by FUB Software