[sdiy] Keyboards good for scrap / repurposing?
rsdio at audiobanshee.com
rsdio at audiobanshee.com
Mon Feb 19 01:29:36 CET 2018
Since you are writing your own firmware, you might be interested in one simple way to reduce the number of GPIO pins needed. Since the Columns in a matrix of switches are only ever active one at a time, you can use a CMOS 3-to-8 decoder chip. That requires only 3 GPIO pins, but generates 8 Column strobes. The 4-to-16 variations of the chips come in both active high and active low variations (I seem to recall that the 3-to-8 do not). You can just hard-wire the Enable pin so that one Column is always active (unless that screws up some part of your circuit that is shared), and then your firmware can increment a binary variable that is directly written to the GPIO port as 3 or 4 bits, as appropriate.
If the decode chip doesn’t have enough power to drive the matrix, you can typically use transistor buffers to boost the current. But check the keybed circuits before you design, just in case it already has power and buffering.
Speaking of shared circuitry, if you have any other buttons on your DIY synth panel, you can actually mix those in with the keyboard. As long as your firmware knows to keep some switches out of the MIDI Note tracker and instead interpret them as user interface, then it all works fine. You’ll see this shared circuit in many keyboards. Just make sure you have matching diodes to protect against ghosting.
p.s. the only keybeds I’ve ever seen with more than simple matrix circuits are the Ensoniq PolyAT keyboards. But, even in that case, the fancy circuits are on a daughterboard that attaches to the bottom of the main keyboard PCB, and the main PCB is still very simple electronics. I wouldn’t actually recommend re-purposing an Ensoniq keyboard, but it wouldn’t be much more difficult.
On Feb 18, 2018, at 5:12 AM, sleepy_dog at gmx.de wrote:
> Hey, thanks for the details!
> Yes, I'd use my own firmware.
> rsdio at audiobanshee.com wrote:
>> Most keybeds have a local PCB with the raw electronics for a scanning matrix. That means it will be wired for Rows and Columns, each of a specific bit width, and diodes to prevent ghosting. I assume you’ll want support for Velocity, which simply means twice as many switches (although there are some clever ways to share either Row or Column between the two switches for each key). I’ve never seen a keybed with sound generating electronics on the same board, so you most likely won’t have to rip out anything that you won’t use.
>> My question is whether your projects will have a CPU, and whether you’ll be programming the firmware. If yes to both, then it should be fairly easy to allocate the appropriate GPIO pins to the Rows and Columns from the keybed and then pick a scan rate and allocate some bits to key state so you know when to generate Note On or Note Off messages, with Timers or something to measure the switch timing for Velocity.
>> The only other challenge might be finding a connector that matches the connector from the keys. I’m assuming that you’ll make a custom PCB for your project that will include everything but the circuits on the keybed. If that’s true then just plan for a matching connector on your board.
>> If you’re not using a CPU or writing your own firmware, then maybe something like the MIDIbox or some other MIDI kit could be hacked to connect to the keyboard.
>> Brian Willoughby
>> Sound Consulting
>> p.s. There are the old, non-Velocity designs with J-wire mechanisms. Those could possibly be adapted, but they might be disappointing compared to the more modern standard switch-based keyboards.
>> On Feb 17, 2018, at 7:28 AM, sleepy_dog at gmx.de wrote:
>>> Are there some known models of keyboards (MIDI or with sound engine, no matter) which would make sense to look for in "broken" condition to get them cheap, to use the keys for DIY synths? I.e., they should lend themselves well to ripping out the keybed/keys without damaging the needed parts. I guess you'd always have to build new switches PCBs, as such keyboards would have everything (I dont' need) on one PCB, right? (I never opened such a thing)
>>> I am interested in both, quality, and "usable enough to have some fun" types for different purposes ;-) And it's not restricted to short keybords generally, just right now in particular I'm after a cheap 37..43 key one.
>>> - Steve
More information about the Synth-diy