garubi
Well-known member
Hallo,
sorry for the long post, but I'd love to have your suggestion on my next project.
A premise
Last year I finished my MIDI drawbars Controller based on Teensy LC and since then I used it on a numbers of gigs without any problem
(for the whole project see here).
I also built a bunch of smaller midi controller in foot controller / pedalboard form factor for my musican friends.
Motivated from that "success" I'm now planning to convert/port to Teensy another DIY controller that I have built some years ago: a dual manual Hammond "clone".
(detailed project log here)
At the time I based it on a Livid Instruments "Brain" but it requires a PC to run and moreover it hasn't ever been very reliable.
The plan is to replace the "brain" wth a Teensy and use the whole "clone" as a MIDI controller for an external sound module hooked up via MIDI (namely the Crumar "Gemini" module) keeping much of the already wired and soldered electronics, a part from the Drawbars set that I'll describe later.
Let me describe the current controller implementation:
The control panel
The controller has a panel with 7 analog potentiometers, that I'll attach to 7 analog inputs.
There are 28 momentary buttons and 28 leds already wired as a matrix with diodes and resistors (2 4x8 matrix, see below).
View attachment existing-panel-schematic.pdf
The drawbars set
Then there is a set of 9 + 2 + 9 Drawbars, coming from an original Hammond organ. They aren't the "contemporary" ones that are just linear potentiometers disguised. No, they are made of busses of rigid wires where the sliding Drawbars make contacts (the usual Drawbars thing, I attach some pictures from the bottom of one of them).
The drawbars deserve a few more words
In the current implementation of my controller I soldered an array of resistors across the busses, making the sliders actually behave like potentiometers. Then just attached them to 20 analog inputs.
This is how the vast majority of DIY projects that readjust "original" organ Drawbars do.
But in my experience this solution isn't very reliable: often there are spurious value, little jumps, etc, I think because the long wire busses are shared between all of the "sliders" so any movement of one slider from one contact to another causes voltage fluctation, noises etc that propagate to all of them.
(yes, capacitors are in place, and the things with them are a little better, but anyway not as thight as I would)
Having said that, my **new** plan is to revert back the Drawbars set to the original state (by removing all the resistors array) then transform it in a "button matrix" (sorta of). It will be a matrix of 9x20...
It should make sense: the busses are like rows and the sliders can be the columns: when I push/pull a slider and it closes the contact with one of the bus it's the same if I were pushing a button. Isn't it?
View attachment drawbar-matrix-idea.pdf
There used to be a repository on GitHub from someone who done something similar but now isn't accessible anymore.
I think that this implementation would be a lot more reliable and precise than the previous one based on the resistors array.
The two keyboards
The controller has two identical 61 keys keyboards. They are 2 old MAUDIO keyboard with the case removed. They have MIDI out both via usb and via MIDI DIN port so I plan to connect them to the Teensy making two MIDI in ports for them (or maybe using USB host on Teensy?).
The outputs
The controller has to send the Midi stream both via MIDI DIN out and MIDI on usb. But this is the "easy part" ;-)
My questions
At the very end it will be just a very big MIDI controller.
I'm not worried about the performaces: MIDI is a relatively slow protocol and all the buttons and the drawbars changes their state not so often.
But it will be anyway 3 big matrices to poll and it's required that any change in the buttons state will be detected and transmitted in something around 5/7ms for a good user experience (unnoticeable latency).
I see a bunch of options for implement all of that:
1) Using only one Teensy with a huge number of digital input (which one?).
2) a single smaller Teensy and some multiplexer to handle the matrices
3) use a second board (Teensy LC or Arduino) to poll for the Drawbars Matrix, and connect it via serial/MIDI to a "main" Teensy that handle all the rest
What do you suggest? what are your ideas about the whole thing? Are there other issue that you see and that I overlooked?
Thanks for your time and your help
Stefano
sorry for the long post, but I'd love to have your suggestion on my next project.
A premise
Last year I finished my MIDI drawbars Controller based on Teensy LC and since then I used it on a numbers of gigs without any problem
(for the whole project see here).
I also built a bunch of smaller midi controller in foot controller / pedalboard form factor for my musican friends.
Motivated from that "success" I'm now planning to convert/port to Teensy another DIY controller that I have built some years ago: a dual manual Hammond "clone".
(detailed project log here)
At the time I based it on a Livid Instruments "Brain" but it requires a PC to run and moreover it hasn't ever been very reliable.
The plan is to replace the "brain" wth a Teensy and use the whole "clone" as a MIDI controller for an external sound module hooked up via MIDI (namely the Crumar "Gemini" module) keeping much of the already wired and soldered electronics, a part from the Drawbars set that I'll describe later.
Let me describe the current controller implementation:
The control panel
The controller has a panel with 7 analog potentiometers, that I'll attach to 7 analog inputs.
There are 28 momentary buttons and 28 leds already wired as a matrix with diodes and resistors (2 4x8 matrix, see below).
View attachment existing-panel-schematic.pdf
The drawbars set
Then there is a set of 9 + 2 + 9 Drawbars, coming from an original Hammond organ. They aren't the "contemporary" ones that are just linear potentiometers disguised. No, they are made of busses of rigid wires where the sliding Drawbars make contacts (the usual Drawbars thing, I attach some pictures from the bottom of one of them).
The drawbars deserve a few more words
In the current implementation of my controller I soldered an array of resistors across the busses, making the sliders actually behave like potentiometers. Then just attached them to 20 analog inputs.
This is how the vast majority of DIY projects that readjust "original" organ Drawbars do.
But in my experience this solution isn't very reliable: often there are spurious value, little jumps, etc, I think because the long wire busses are shared between all of the "sliders" so any movement of one slider from one contact to another causes voltage fluctation, noises etc that propagate to all of them.
(yes, capacitors are in place, and the things with them are a little better, but anyway not as thight as I would)
Having said that, my **new** plan is to revert back the Drawbars set to the original state (by removing all the resistors array) then transform it in a "button matrix" (sorta of). It will be a matrix of 9x20...
It should make sense: the busses are like rows and the sliders can be the columns: when I push/pull a slider and it closes the contact with one of the bus it's the same if I were pushing a button. Isn't it?
View attachment drawbar-matrix-idea.pdf
There used to be a repository on GitHub from someone who done something similar but now isn't accessible anymore.
I think that this implementation would be a lot more reliable and precise than the previous one based on the resistors array.
The two keyboards
The controller has two identical 61 keys keyboards. They are 2 old MAUDIO keyboard with the case removed. They have MIDI out both via usb and via MIDI DIN port so I plan to connect them to the Teensy making two MIDI in ports for them (or maybe using USB host on Teensy?).
The outputs
The controller has to send the Midi stream both via MIDI DIN out and MIDI on usb. But this is the "easy part" ;-)
My questions
At the very end it will be just a very big MIDI controller.
I'm not worried about the performaces: MIDI is a relatively slow protocol and all the buttons and the drawbars changes their state not so often.
But it will be anyway 3 big matrices to poll and it's required that any change in the buttons state will be detected and transmitted in something around 5/7ms for a good user experience (unnoticeable latency).
I see a bunch of options for implement all of that:
1) Using only one Teensy with a huge number of digital input (which one?).
2) a single smaller Teensy and some multiplexer to handle the matrices
3) use a second board (Teensy LC or Arduino) to poll for the Drawbars Matrix, and connect it via serial/MIDI to a "main" Teensy that handle all the rest
What do you suggest? what are your ideas about the whole thing? Are there other issue that you see and that I overlooked?
Thanks for your time and your help
Stefano
Last edited: