Disabling the BeagleBone Black HDMI Cape

Disabling the BeagleBone Black HDMI Cape

Disabling the BeagleBone Black HDMI Cape

Disabling the BeagleBone Black HDMI Cape

The HDMI port on the BeagleBone Black is implemented as a virtual cape. This virtual cape uses pins on the expansion headers, limiting the available pins. If you don’t need HDMI you gain 20 more GPIO pins by disabling the HDMI cape. Other reasons for disabling HDMI are to make UART 5 and the flow control for UART 3 and 4 available or to get more PWM pins. Follow the instructions below to disable the HDMI cape and make pins 27 to 46 on header P8 available.

Before you start, it’s always a good idea to update your BeagleBone Black with the latest Angstrom image.

Use SSH to connect to the BeagleBone Black. You can use the web based GateOne SSH client or use PuTTY and connect to beaglebone.local or

user name: root 
password: <enter>

Mount the FAT partition:

mount /dev/mmcblk0p1  /mnt/card

Edit the uEnv.txt on the mounted partition:

nano /mnt/card/uEnv.txt

To disable the HDMI Cape, change the contents of uEnv.txt to:

optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

Save the file:

Ctrl-X, Y

Unmount the partition:

umount /mnt/card

Reboot the board:

shutdown -r now

Wait about 10 seconds and reconnect to the BeagleBone Black through SSH. To see what capes are enabled:

cat /sys/devices/bone_capemgr.*/slots

SSH window for disabling HDMI cape on BeagleBone Black

Every line shows something like “P-O-L” or “P-O–“. The letter “L” means the Cape is enabled; no letter “L” means that it is disabled. You can see here that the HDMI Cape has been disabled, so pin 27 to 46 on header P8 are now available to use.
BeagleBone Black

Credits: based on Beagleboard.org forum posts by Günter Pütz and others.

Comments (37)

  1. Tim
    August 23, 2013

    Following these instructions leaves me with a BBB on which I cannot connect to either the EWS or SSH.

  2. Tim
    August 23, 2013

    ..nevermind. you can ignore my previous comment. After a couple reboots it worked perfectly. No more HDMI! Thanks.

  3. Roland Groeneveld
    August 29, 2013

    Good to hear you got it to work!

  4. Isaac Jessup
    October 15, 2013

    Had a similar issue as Tim. Perhaps I was just impatient. My board hung when I tried to reboot it from SSH. Ended up just unplugging it and plugging it back in and it booted just fine with the HDMI cape disabled.

    Thank you very much for this quick tutorial!

    54 GPIOs when you disable the HDMI… that’s just freaking awesome! Less than $1 per GPIO, including the micro HDMI cable and shipping. :p

    I’ve written up a spreadsheet that should help others figure out which pins are usable:
    Google Drive: BBB

  5. chai
    October 24, 2013

    how to enable back the HDMI cape

  6. Roland Groeneveld
    October 24, 2013

    To re-enable the HDMI cape, you simply remove this from uEnv.txt: capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN

  7. chai
    October 25, 2013

    thank u…..
    but it is not getting re-enabled….

  8. chai
    October 25, 2013

    It is showing loaded symbol L but im not getting HDMI output…

  9. Roland Groeneveld
    October 25, 2013

    Chai: you can always re-image the BBB to set it to factory default. See http://circuitco.com/support/index.php?title=Updating_The_Software for instructions.

  10. chai
    October 25, 2013

    means if i write a new angstrom image then i will be able to get back the HDMI output right?

  11. Roland Groeneveld
    October 25, 2013

    Chai: Re-installing the angstrom image will get your BBB back to factory defaults. Unless there is some other problem with your BBB, the HDMI cable or HDMI display, this should work. By the way, we strongly suggest to use a 5V 2A DC power supply to make sure you have enough power to the BBB.

  12. chai
    October 25, 2013

    ya sure……… 🙂
    thank you so much for your support………. 🙂

  13. Colin LeMahieu
    November 4, 2013

    Would you share your device tree overlay file which changes these pins to GPIO pinmux mode?

  14. chai
    December 2, 2013

    HI Roland,
    I have “optargs=quiet drm.debug=7” in uEnv.txt should i remove it or it should be there in order to write “optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN” ???

  15. Roland Groeneveld
    December 2, 2013

    Chai: Yes, you remove “optargs=quiet drm.debug=7” from uEnv.txt and replace it with “optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN”.

  16. Roland Groeneveld
    December 2, 2013

    Colin: these instructions actually disable the DTO for the virtual HDMI cape, making the standard GPIO pins available. So there is no DTO for enabling the GPIO; you simply disable the HDMI cape.

  17. chai
    December 5, 2013

    Hi Roland,
    Thank you once again for your reply……. 🙂

  18. Doug
    January 9, 2014

    Thanks for the article. When I do this I get a 6th slot:.

    root@beaglebone:~# cat /sys/devices/bone_capemgr.*/slots
    0: 54:PF—
    1: 55:PF—
    2: 56:PF—
    3: 57:PF—
    4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
    5: ff:P-O– Bone-Black-HDMI,00A0,Texas Instrument,BB-BONELT-HDMI
    6: ff:P-O– Bone-Black-HDMIN,00A0,Texas Instrument,BB-BONELT-HDMIN

    Does it really matter since they are both disabled?

  19. Roland Groeneveld
    January 10, 2014

    Hi Doug,

    In your case slot 4 shows the flash storage (likely something changed on the newer image). It simply shifted the virtual HDMI capes to slot 5 and 6. So you’re correct, since they are both disabled, the GPIO pins should now be available on your BBB.

  20. Nathan Smith
    February 11, 2014

    It should be noted that these pins are SYSBOOT pins and driving them high initially(ex. active low buses) can/will modify the boot sequence causing the BBB not to boot. Just make sure that none of the pins 26>46 are connected in a way allowing them to be driven during boot.

  21. Nathan Smith
    May 9, 2014

    Doing this leaves me with the following….
    *note that HDMI doesn’t show up and HDMIN is still enabled***

    root@arm:~# cat $SLOTS
    0: 54:PF—
    1: 55:PF—
    2: 56:PF—
    3: 57:PF—
    4: ff:P-O-L Bone-LT-eMMC-2G,00A0,Texas Instrument,BB-BONE-EMMC-2G
    7: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-SPIDEV1
    9: ff:P-O-L Override Board Name,00A0,Override Manuf,BB-BONELT-HDMIN

    any suggestions?

  22. Roland Groeneveld
    May 13, 2014

    Hi Nathan – Not sure what’s going on. If you followed the instructions exactly it should just work… You may have to re-flash your BeagleBone Black to start with a clean image.

  23. Ken
    June 23, 2014

    I have installed ubuntu trusty with latest kernel and it appears the cape manager is no longer there?
    since .. cat /sys/devices/bone_capemgr.*/slots returns .. No such file or directory?
    Can you confirm how I can disable the HDMI features with new kernel?

  24. wan
    October 12, 2014

    Hello, My BBB using Angstrom 3.8.13 kernel, I did not bone_capemgr* file in / sys / devices / under., this may be what causes it?

  25. October 17, 2014


    You probably already figured this out, but the cape manager has not been made available beyond kernel rev 3.8. If you are using RCN’s kernel source, he plainly states that one must use the 3.8 branch if cape management is required.

  26. sathya
    November 28, 2014

    Hai Roland,
    I followed the above steps to disable HDMI but it is still loading,am seeing P-O-L in HDMI slots. I need to configure SPI pins as GPIO. When i try apply overlay for GPIO there is HDMI pin conflicts and failed verification. Any solution?

    Thanks in advance.

  27. Richard
    December 1, 2014

    Sathya: Can you provide more information on which Linux distribution and version you are using?

    You can also check the official BeagleBone Black FAQ
    http://elinux.org/Beagleboard:BeagleBone_Black_FAQ (half way down the page for HDMI and SPI pins)


  28. February 7, 2015

    I think this would solve my issues as posted here


    Unfortunately it doesn’t seem to work with the board I have which uses Debian.

    I get an error which says “mount: mount point /mnt/card does not exist” after typing “mount /dev/mmcblk0p1 /mnt/card”, maybe I don’t know what I’m doing. Any help would be appreciated, meanwhile I’ll keep on searching now that I know that I need to disable HDMI.

  29. Tony
    February 16, 2015

    I am looking to reduce the power of my board and read elsewhere that the HDMI chip uses about 21mA and the Ethernet uses about 11mA even in deep sleep mode.

    Does anyone know if disabling the HDMI ( and Ethernet if you can do the same) also reduces their current draw?

    Thanks in advance

  30. Paul Rolfe
    March 1, 2015

    Hi John

    Debian. I am running one with Debian.

    The file you need to change is on a mount that is already configured

    look in the directory /boot/uboot

  31. Bruce
    December 29, 2015

    I have an application which requires analog inputs. I use the p-9 header pins 33-40 and 42 and it has worked fin. After disabling the HDMI cape, those pins no longer appear available. Do they get remapped? Are they Disabled?


  32. Lydia
    June 29, 2016

    i do not have anything in my uEnv.txt file that says optargs=____, just ${optargs}. I tried erasing that ${optargs} section and putting in the “optargs=quiet capemgr.disable_partno=BB-BONELT-HDMI,BB-BONELT-HDMIN” but that didn’t do anything. I tried just adding what you wrote at the end of the lines that exist and by itself. I’m not sure what I’m doing wrong.

  33. […] avoid this problem, I picked one of the few non-conflicting PRU pins. Disabling HDMI is described here and […]

  34. Narendranath Babu
    February 7, 2017

    I am not having the card directory in mnt.. Where to go and disable

  35. Gilang Tawaqal
    November 22, 2017

    HI, i want to disable HDMI too, but using debian can it?

  36. marius
    February 22, 2018

    Hiw to I do this on kernel 4.9.XX
    The approach does not work.

  37. Nagarjuna Reddy
    April 20, 2018

    sir i was enabled all gpio pins purpose i did flash the os in SD card and inserted to the BeagleBoneBlack not flash the OS in (eMMc). Than after i tested /sys/class/gpio there it’s showing 43 GPIO pins are enabled . in P8 all HDMI pins are not showing how can i make it free , as for used for the GPIO. please guide to me

    Thank you sir

Leave a Comment

Your email address will not be published.