'Where to find an up-to-date guide on configuring and using Beaglebone Black pins

I've been using a Beaglebone Black for a couple of years now and have always struggled to configure pins. There have been plenty of methods that have changed with kernel updates. As a result lots of information on the internet contradicts other posts and many of them are simply not working anymore.

I've seen pin manager, pin config, overlays, dtbo files loaded in slots, dtbo loaded in uboot and (it seems like) many others.

I can't get P9_41 to work as an output (it has two different "balls" going to it), and don't just want to get this working but would really like to understand what I'm doing (until it breaks again with a newer kernel?) Currently at kernel 4.14.71-ti-r80, but willing to update to newer if I can get everything working again.

Is there something like "a definitive guide on how to configure and control the pins on the current kernel version"?



Solution 1:[1]

config-pin p9.41 gpio

or

config-pin p9.41 gpio 1

1 = HIGH 0 = LOW

Also...you can use this script to figure out what pins are what:

https://github.com/mvduin/bbb-pin-utils

Follow the instructions to figure out what is HIGH, LOW, what is being used, and what is available.

Also, using uboot-overlays now, we just add the .dtbo file in /boot/uEnv.txt.

https://github.com/beagleboard/bb.org-overlays/tree/master/src/arm are the overlays one can use in the uboot-overlays section of the /boot/uEnv.txt file.

Also, about setting up .dts files for your own board config. on the BBB, there are many ideas circulating online. I suggest you go to the source to learn: devicetree.org.

Solution 2:[2]

Have similar problems. Based on iobb ( git clone https://github.com/shabaz123/iobb.git ) it's currently better then before. In general, most of the documentation I found is 5 years old or older. So it's very easy to struggle in case you follow to that. For some time I gave up, because from update to update it was a lot of work to get the system running again. Need the PRU units, that's the glue to Beaglebone. RPI + FPGA is my preferred solution for the next project, because I'm tired to spend a lot of time to make it work after updates.

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1
Solution 2 Pepito