Need pointers on parts for a DIY handheld electronic instrument, with 5x3 grid of keys

Hey lines folks, I was wondering if you could give me some tips on at least equipment parts, for making a handheld electronic instrument.

Context

Inspiration

In the video game Sky: Children of the Light, there are instruments that you can play by tapping a grid of 15 notes, arranged in 3 rows of 5.

Here is a website that simulates it nicely:

(It happens to be quite similar to the grid of notes in Ableton Note — except Ableton Note goes from ascending order starting from the bottom, while in Sky it goes from ascending order starting from the top.

Also in Ableton you can choose from a variety of scales, while in Sky there are only major scales.)

Idea

I always thought it’d be nice to have a physical version of this instrument, to carry around in my pocket and play wherever I like.

So basically it’d be nice to have a handheld version with the 15 buttons that play notes when pressed.

Design parameters

Basics:

  • buttons shouldn’t be clicky
  • buttons are about 15mm x 15mm, or comfortable size to fit fingers
  • should be able to program the notes that each button corresponds to

Nice extras:

  • knob like a clock to change the key of the scale
  • can plug earphones to listen in quiet

Help

I don’t know that much about hardware actually — I’ve had more experience with software and can program (in Python, Swift for work, and can pick up other languages). I think this would be a nice side project to start experimenting more and learning more on the hardware side!

To reduce the scope of my many questions, I guess I thought I might ask about just hardware here, to start. But any other tips and pointers would be much appreciated.

A former friend told me about Cherry keys to prototype with, and basically the circuits would be a simple switch for each button, that could be tested with even paper clips.

(I think it was this company but not sure if it was these keyboard switches: MX SWITCHES - CherryMX)

However admittedly I’m not really sure where to go from there, if I were to get them. I’m not sure what to get for a system that i can program and also what to make notes play.

When I saw pictures of grid by monome, I thought it might be a possibility for trying a version of the idea. But the buttons seem small, and I’m not sure if they’re that responsive (need to be able to tap each one fast, for fast songs)

With the context of this community having lots of cross-pollination between worlds, and music and tech — I’m wondering if people have any general hardware/equipment candidates worth looking into, that might suit this project?

1 Like

Almost a perfect prototyping platform, going by your specs, but unfortunately three keys short. (Files are available for the PCB so still potentially a good starting point).

2 Likes

You might want to check out gridofpoints for a version of something a bit like this this built with Norns/Grid. The x-axis on the grid gives you 16 notes derived from a configurable scale and root note. The y-axis gives you 8 timbres of each note. It’s not exactly what you’re aiming for, but it might be a useful reference point?

2 Likes

I’d try the pimoroni keybow as a prototype platform. Not 5x3, but would still work. There’s another variant here.

3 Likes

I love when the specifics get thrown away first in order to make recommendations…

If this wasn’t 5x3 it wouldn’t be what the OP ist trying to make, so I’m going to make suggestions that preserve the concept here…

5 x 3 is actually a nice range because it is close to 16.

The idea here would likely be to multiplex the buttons so as to not waste 15 digital pins of a small dev board from which you can convert that info to midi or create sounds from the device. However, if you were hoping to read multiple key presses simultaneously (polyphony) you might** need another method.

Those cherry keys are in the ball park. You mention not wanting them “clicky” so its up to your taste there…

An alternative would be molded silicone that is raised so that there is an air gap above a pcb with exposed pads. When you press down on the silicone a conductive surface on the underside (carbon paint like) bridges the connections and allows current to flow. This is probably the most common way to get a soft button, but is a convoluted process (labor of love?) for a one off. Not impossible just lots of crafts/chores. You might be able to cut some out of another instrument or find sheets that can be trimmed/combined etc… or make a mold yourself but… Try opening up some devices with silicone buttons to get a better look.

The gold star pattern is the hot lead and is surrounded by but not touching the circular, toothed ground pad. When that black circle (a funny resistor) gets pressed onto that it closes the circuit.

When a button is pressed, current flows and you’d have yourself a logically HIGH signal (depending on wiring). If you wire that up right you can create a sort of X, Y cartesian system… I would use an 8 bit PARALLEL TO SERIAL SHIFT REGISTER for this…

wire the 5 colums to inputs 0-4 respectively and the 3 rows to 5, 6 and 7.

Now when a key is pressed it corresponds directly to a binary number that can be ‘bit banged’ into one pin. For instance:

|—col------| row |
1 0 0 0 0 1 0 0 = top left key
0 0 0 0 1 1 0 0 = top right key
1 0 0 0 0 0 0 1 = bottom left key

With some clever binary arithmetic and programming in the mcu I think this might even be able to handle polyphony…

From there you have your interface… and some decisions might be about generating sound or just sending midi info.

2 Likes

And I love it when people make weirdly passive-aggressive swings for apparently little reason other than self aggrandisement. But hey, you do you :person_shrugging:

4 Likes

That’s some spin I think. Okay, “love” is maybe a bit thick on sarcasm, but I do find it interesting… The OP asked about making a physical, 5x3 grid of buttons and everybody just ignored that and suggested something else.

Probably interesting avenues for research but what’s the thread title? Is it on topic?

It’s all good y’all. We’re all in good company. Love love love!

4 Likes

Thanks a lot for all the recommendations / tips, everyone

Haha don’t worry it was still helpful. Those programmable macropads look so cool and definitely in the vein of what I was looking for, to start with.

I searched “macropad 15 keys” and it seems like there are a few general macropads that meet at least the 3x5 part

There’s this one with knobs too

I’ll see what I can come up with, thanks again y’all.

If I were tasked with building this I’d start with a prototype using an Elgato Streamdeck which is already 5x3, a Raspberry Pi Zero, and a USB OTG cable. That gets you most of the way there, just need to work on software and battery. That would likely be bulkier than a fully custom job, but afterwards you’d probably have a much better sense of what your ideal hardware ought to look like.

2 Likes