0

1024 Button Launchpad Idea
Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.

1024 Button Launchpad Idea

by DJDevon3 on Thu Aug 29, 2019 5:16 am

Checked out the Hella Untztrument and it made me think what is the biggest launchpad style MIDI instrument I could make. With a Leonardo or Uno there aren't enough digital pins to go much bigger than 64 natively. If you combine GreatScott's DIY launchpad hardware design and add a voltage regulator, 32 multiplexers, and a Grand Central w/52-pin digital IO... the total is over 1200 buttons. However, it won't be in a nice grid so 1024 will give you a 4x4 grid of 64 buttons. Basically 16 launchpads. Using a combination of techniques I learned from GreatScott and NotesAndVolts on YouTube plus the 52 digital IO's on a Grand Central this kind of thing is possible. How well it would work I have no clue. Due to the size of the multiplexed grid there would likely be more latency the farther away the button is on the grid.

I know it's ridiculous, I'll never build it, just wanted to share. I don't think people take the Grand Central seriously enough for how many IO's it has to offer and this is a good example of what is possible vs a regular Uno or Pi.
Attachments
LaunchPad_1024.jpg
LaunchPad_1024.jpg (392 KiB) Viewed 116 times

DJDevon3
 
Posts: 73
Joined: Wed Mar 06, 2019 11:02 am

Re: 1024 Button Launchpad Idea

by dastels on Wed Sep 04, 2019 11:57 am

You could build this with 32 4x4 NeoTrellis boards which are designed to be connected together to make larger panels. Conveniently, up to 32 can be connected together. Each has it's own controller and a single I2C connection talks to all of them. Granted this doesn't need a Grand Central.

Using a grand central, you could use its plethora of digital I/O pins to drive a large button matrix. You wouldn't need any multiplexers. a 16x32 matrix would need 48 lines and, as you said, the grand central has more than that. There would be no latency differences between buttons, although you would want to do some debouncing in the software.

I agree that it would be a great showcase for the grand central with it's raw processing power and generous I/O capabilities.

dastels
 
Posts: 230
Joined: Tue Oct 20, 2015 3:22 pm

Re: 1024 Button Launchpad Idea

by DJDevon3 on Fri Sep 13, 2019 5:48 pm

Neat, I didn't know you could chain that many neotrellis boards together. That would certainly make the project better and decrease latency across the board. Unless I'm missing something 32*16=512. That will only get you halfway there. So multiplexers or level shifts or some other type of design would be needed to get to 1024. If they offered an 8x8 neotrellis board and you could chain 32 of them then that would get you there straight away. Maybe someday they'll offer something like that. It's all overkill. This idea was just about creating a theoretical maximum by combining DIY techniques.

I don't think it would be a very practical instrument in that particular layout with that many keys. Likely best use scenario is interactive art installations like floor pianos of old. A pressure sensitive floor install or dance floor. There are many real world uses for an array this large but it's such a big project that it would enter into the realm of a commercial project.
Last edited by DJDevon3 on Fri Sep 13, 2019 6:07 pm, edited 1 time in total.

DJDevon3
 
Posts: 73
Joined: Wed Mar 06, 2019 11:02 am

Re: 1024 Button Launchpad Idea

by dastels on Fri Sep 13, 2019 6:02 pm

Well, you can put 32 connected 4x4 neotrellis boards on a single I2C bus, each with one of 32 addresses. If you had a second I2C bus, you could put another 32 on that.

dastels
 
Posts: 230
Joined: Tue Oct 20, 2015 3:22 pm

Re: 1024 Button Launchpad Idea

by DJDevon3 on Fri Sep 13, 2019 6:08 pm

Hmm interesting. Two Metro M4's in master/slave? I'm not going to pretend that I'm good with I2C or any protocol. That sounds like a more efficient way to do it but removes showcasing the Grand Central's I/O capability.

1024 buttons sharing 2x I2C buses is probably easier to program but seems that performance might take a hit vs using more pins of a Grand Central? I2C only requires 3 pins to my knowledge, or 6 in the case of a dual microcontroller setup? Unless there is a microcontroller that has multiple I2C busses with enough CPU to do the job. I wonder how it would react if you could possibly touch all 1024 buttons simultaneously. Polyphonic instruments might be an issue on an I2C matrix of that size. Thanks for the discussion and brain candy yum. :)

DJDevon3
 
Posts: 73
Joined: Wed Mar 06, 2019 11:02 am

Re: 1024 Button Launchpad Idea

by dastels on Fri Sep 13, 2019 8:10 pm

A SAMD 51 should be able to provide multiple I2C buses. The Grand Central for example provides 2. The second is on D24 (SCL) and D25 (SDA). The MCU on the Mtero M4 Express supports 6 hardware SERCOMs so you should be able to configure a couple pins to be a second I2C bus.

Going the neotrellis/I2C route, you offload all the touch/light management to the SAMD09 "seesaw" on each neotrellis.

Dave

dastels
 
Posts: 230
Joined: Tue Oct 20, 2015 3:22 pm

Please be positive and constructive with your questions and comments.