Turning off the UART functioning as a serial console

UPDATE – You can now disable serial via the GUI or command line raspi-config tool.  The below is no longer good for Raspbian Jessie and above, it doesn’t work
(This is based on Clayton Smiths nifty guide).

Backup the /boot/cmdline.txt file before you edit it just in case of screw-ups:

sudo cp /boot/cmdline.txt /boot/cmdline_backup.txt

Edit the file:

sudo nano /boot/cmdline.txt

Running “2014-09-09-wheezy-raspbian.img” the file contained the following:

dwc_otg.lpm_enable=0 console=ttyAMA0,115200 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Delete any parameters involving the serial port “ttyAMA0” or “serial0”, which in this example is:


Which gives:

dwc_otg.lpm_enable=0 console=tty1 root=/dev/mmcblk0p2 rootfstype=ext4 elevator=deadline rootwait

Press CTRL+X to exit and save .

You also need to edit this file <<This is no longer present with Raspbian Jessie:

sudo nano /etc/inittab

Search for the serial port usage by using CTRL+W and typing:


This should find the line of the file specifying the serial port (if there is one).  Use “#” at the start of the line to comment it out.  Then press CTRL+X to save and exit.

Enter “sudo reboot” to restart the pi and now the UART will be available for another process to use it, or the pins can simply be used as general IO.

We benefit hugely from resources on the web so we decided we should try and give back some of our knowledge and resources to the community by opening up many of our company’s internal notes and libraries through mini sites like this. We hope you find the site helpful.
Please feel free to comment if you can add help to this page or point out issues and solutions you have found, but please note that we do not provide support on this site. If you need help with a problem please use one of the many online forums.


  1. anirban ghatak

    3 years ago

    I tried as below but not working
    if (!empty($key))

    //Send string including variables
    system(” . escapeshellarg($key) . “” > /dev/ttyAMA0″);

  2. Tobi

    8 years ago

    Works! Thanks!
    But up to date its “console=serial0,115200” instead of “console=ttyAMA0,115200”

  3. Shameel Mohamed

    8 years ago

    I did all this but still I am getting error like

    /home/pi/uart/uartconf.cpp:6:11: error: expected initializer before ‘open’

    I used the function open for opening the uart filestream like this

    uart0_filestream = open(“/dev/ttyAMA0”, O_RDWR | O_NOCTTY | O_NDELAY);

    Does anyone have any suggestions?

  4. Cerem Cem Aslan

    9 years ago

    Please edit your HOWTO to point that “You SHOULD change 2 settings: one in /etc/inittab and one in /boot/cmdline.txt”. Because the “inittab” part can easily go unnoticed. Thanks by the way.

    1. Adam

      9 years ago

      Not sure I understand, both are there as separate steps?

    2. Cerem Cem Aslan

      9 years ago

      I didn’t notice the part about /etc/inittab changes in the first place, it’s not attention grabbing. That’s why I debugged for hours because if you pass the second step, the errors look like it is caused from elsewhere (it opens the port but there ore some random error messages like ‘input/output error’) OK, it’s my fault, I know, I should RTFM. Anyway, I suggest changing the layout of this howto in order to get a clearer look of the two separate steps. Everything is on the same indentation, no step counts, no abstract at the beginning.

    3. Adam

      9 years ago

      Ahh well yes, RTFM and if in doubt read it again! Will leave your comment here in case anyone has the same problem, but trying to make every page on here perfectly idiot proofed (pardon the expression :-) ) would be too big a task, plus we much prefer to keep these notes short and sweet where possible without any waffle!

    4. Cerem Cem Aslan

      9 years ago

      no excuses, I know, I know :)

  5. cem

    9 years ago

    I could not connect to my pi over ssh after doing this, why is this happenning ?

  6. anon

    9 years ago

    NEVER DO THIS!!! I HAD to reinstall the raspbian 3 times!!! Never do this sh*t.

  7. Thomas

    9 years ago

    I tried this before and I had to reinstall the OS, is there another way?

    1. Tixif

      9 years ago

      You’ve done it wrong, try again.


Your email address will not be published. Required fields are marked *