BeagleBone Black GPIO internal interrupts

Hello. I am not yet a beaglebone black user.

Up to now, I have been learning about electronics prototyping using Arduino and Teensy, which I have been using to make small DIY hardware MIDI Control Surfaces for the use with PC music creation software (DAW) such as Cubase etc.

I am interested in the beaglebone black boards as I note that they have 2 x 46 GPIO (does that make 92 or are these duplicate pins?)

My question relates to these GPIO pins.
I note that on the teensy boards, all the GPIO pins can be used as internal interrupts for connecting sensors such as rotary encoders, buttons, potentiometers, ribbon sensors etc. I believe the teensy 4.1 has 55 GPIO pins and that all of these pins can be used as internal interrupts.

I was wondering if the same was the case with beaglebone black. i.e. can all 92 GPIO pins be used with internal interrupts.

You may ask, why would I need so many ins with internal interrupts, and I can explain.
I am trying to find the best prototyping platform that I can use to create a mixing desk style MIDI control Surface, ideally that covers a good amount of controls for a good amount of channels (16 / 24 / 32 / 48).

So, I am searching for the best prototyping board to use.
I know that I can use multiplexers, shift registers and digital GPIO expansion chips, such as MCP23017 or MCP23S17. Of which I may use some of the above.

However, for simplicities sake, to make the programming easier to program and read, I would like
to be able to connect as many sensors direct or using just one MCP23017 etc.

Anyway. Any advice would be appreciated.

There’re 2x46 header pins. Some of them are related to power supply, others are analog input lines. 67 of them are digital lines, capable of GPIO or other features. You can use nine further pins on the JT header and in the SD card slot. Find more information at

On BB you can have, but wont need an interrupt for each line. Ie there’s hardware support for QEP rotary encoders → just read the current position from a register.

Hello DTJF
Thanks for your reply and answer. Well, I am surprised with regards to the different manner in which BB works with rotary encoders.

I am very new to hobbyist electronic protoypes, and have just got my head around internal interrupts, so the different way that the BB deal with rotary encoders is a surprise to me.

I was wondering, if there is 67 digital lines, does that mean I will be able to connect 67 rotary encoders. I wonder if these 67 digital lines can have some form of GPIO expansion attached, so that I can attach more rotary encoders (than just one per line), as well as button / sliding potentiometer input.

Would be grateful fo any advice her. Thanks again for your help.

Each digital line can work in up to eight modes. One of them is GPIO mode (#7). The other modes [0-6] depend on the CPU ball connected to that pin. Some balls can get configured as SPI interface, others support I2C interfaces (ie to connect MCP23017).

The info in my link above is related to the BB hardware modules for signal IO. Find further information on other features in the Expansion Connectors documentation, ie at

Thanks again for your help with regarding my second question.
I will have to take some extra time to analyse the info as it appears that
the beaglebone board is more complex than many other electronic prototyping
boards. Still may be worth doing. Thanks again