64 Rotary/Push encoders in 8x8 grid

Discuss music production with Ableton Live.
chapelier fou
Posts: 6352
Joined: Mon May 15, 2006 12:15 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by chapelier fou » Thu Nov 07, 2013 2:30 pm

TomViolenz wrote:
chapelier fou wrote:http://uCApps.de/
Thanks that's a good link, that another nice forum poster had already sent me per PM. But I still couldn't figure out on this site if I'd need to learn how to program in order to self build these great devices.
Nope. i'd say you'd want to make a MIDIIO128 project, you would need 1 core and 2 DIN and 1 AINSER64.
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

chapelier fou
Posts: 6352
Joined: Mon May 15, 2006 12:15 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by chapelier fou » Thu Nov 07, 2013 2:32 pm

+ the LED ring... Not the easiest to do...
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Thu Nov 07, 2013 2:34 pm

chapelier fou wrote:
TomViolenz wrote:
chapelier fou wrote:http://uCApps.de/
Thanks that's a good link, that another nice forum poster had already sent me per PM. But I still couldn't figure out on this site if I'd need to learn how to program in order to self build these great devices.
Nope. i'd say you'd want to make a MIDIIO128 project, you would need 1 core and 2 DIN and 1 AINSER64.
If it's not too much to ask, could you tell me what those things are and what each of their function is? Also what software would I use to get the device to talk to Live? This would give me a start in this project, that I will probably get myself into if I don't need to learn how to program.
Thank you :)

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Thu Nov 07, 2013 2:35 pm

chapelier fou wrote:+ the LED ring... Not the easiest to do...
What is especially hard about this?

hacktheplanet
Posts: 2846
Joined: Sat Sep 25, 2004 6:37 am
Location: Chicago, IL
Contact:

Re: 64 Rotary/Push encoders in 8x8 grid

Post by hacktheplanet » Thu Nov 07, 2013 4:30 pm

TomViolenz wrote:
chapelier fou wrote:+ the LED ring... Not the easiest to do...
What is especially hard about this?
Economy of scale, basically. I'm prototyping a controller which I am gonna start posting about when I make better progress, but it's relatively expensive buying parts in small quantities.

For the hobbyist, soldering so many components would be very complex and expensive. For a large company, they can order parts in the thousands and slap almost everything together with a machine.

The guts of most MIDI controllers have similar components: The controls -> various shift registers and port expanders -> a microcontroller -> USB/MIDI/POWER. Microcontrollers (the brain of the device) have limited pins and memory. Connecting 8-12 knobs/buttons/LEDs is pretty easy. The trick is figuring out how to connect 64 encoders and 1024 LEDs (16 LEDs for each encoder?!). It's definitely possible using various chips. The prototyping board I'm using is a Teensy++ 2.0. It's very easy to get started, and can be as simple or as complex as you want: http://www.pjrc.com

I have a few qualms about the BCR, but the engineering of it is very clever - they managed to pack in a shitload of LEDs and encoders into it using only a few chips AND keeping the cost crazy low.

Here's a really cool board with a bunch of LEDs that you can add an encoder to: https://www.sparkfun.com/products/10407 Obviously it wouldn't be very economical to buy a bunch of these things and just slap em together, but they are great to get an idea.
Image

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Thu Nov 07, 2013 4:38 pm

chapelier fou wrote:
TomViolenz wrote:
chapelier fou wrote:http://uCApps.de/
Thanks that's a good link, that another nice forum poster had already sent me per PM. But I still couldn't figure out on this site if I'd need to learn how to program in order to self build these great devices.
Nope. i'd say you'd want to make a MIDIIO128 project, you would need 1 core and 2 DIN and 1 AINSER64.
OK I found some great information on ucapps.de
http://www.ucapps.de/mbhp_ainser64.html
http://www.ucapps.de/midio128.html

Still don't understand exactly what each unit does, but that should come in time. I didn't find info on the 2 Din and 1 core parts (the names were not specific enough for good search results) And I guess the actual push/rotary encoders are still missing.
Could you average quickly at what cost for the whole package I'm looking at?!
Also what kind of soldering would I need to learn/buy equipment for?

I was thinking: if I wouldn't go with endless encoders (they are Midi assigned specifically so pick up is not necessary), I don't really need LED rings.
BUT: I wanted to use the push functionality of the encoders to program for them clyphx xTriggers to slowly turn down the value the same rotary encoder was controlling on press. With this in mind, I would need endless encoders (so they can pick up at the new -inf value again after the xTrigger was triggered). Hm, so it seems LED rings would be necessary after all...

What I found really interesting for the MIDIIO128 was this:
support for DHCP - connect the module to a wireless router without additional configuration

Does that mean my controller could be wireless 8O
But how would I power this? Can I just as well install a battery pack in addition to normal power over USB?
Thanks for all hints guys :-)

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Thu Nov 07, 2013 4:45 pm

hacktheplanet wrote:
TomViolenz wrote:
chapelier fou wrote:+ the LED ring... Not the easiest to do...
What is especially hard about this?
Economy of scale, basically. I'm prototyping a controller which I am gonna start posting about when I make better progress, but it's relatively expensive buying parts in small quantities.

For the hobbyist, soldering so many components would be very complex and expensive. For a large company, they can order parts in the thousands and slap almost everything together with a machine.

The guts of most MIDI controllers have similar components: The controls -> various shift registers and port expanders -> a microcontroller -> USB/MIDI/POWER. Microcontrollers (the brain of the device) have limited pins and memory. Connecting 8-12 knobs/buttons/LEDs is pretty easy. The trick is figuring out how to connect 64 encoders and 1024 LEDs (16 LEDs for each encoder?!). It's definitely possible using various chips. The prototyping board I'm using is a Teensy++ 2.0. It's very easy to get started, and can be as simple or as complex as you want: http://www.pjrc.com

I have a few qualms about the BCR, but the engineering of it is very clever - they managed to pack in a shitload of LEDs and encoders into it using only a few chips AND keeping the cost crazy low.

Here's a really cool board with a bunch of LEDs that you can add an encoder to: https://www.sparkfun.com/products/10407 Obviously it wouldn't be very economical to buy a bunch of these things and just slap em together, but they are great to get an idea.
The rings from your last link look great but 2 questions: 1: Could they be used in the MIDIIO128 project mentioned above (and not require programing) 2: Are they serious 15.95 EACH!!! (I could see myself buying if they were 15.95 for the lot of 16, but EACH?! Not gonna happen!)

chapelier fou
Posts: 6352
Joined: Mon May 15, 2006 12:15 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by chapelier fou » Thu Nov 07, 2013 5:05 pm

A few things about the midibox stuff :
The Core is, well, the brain.
You'd need 64 Analog inputs for the pots : that's what the AINSER64 is about : connect pots.
Since you want a push function on your buttons, you'd want 64 Digital Ins, that's 2 DIN cards.
It's pretty cheap and you can order everything here (except from the LPCXpresso board which is about 30$) : http://www.midibox-shop.com/buy.html
I should add that i have no idea if you can use endless encoders on a midibox...
Also, know that led rings, some components and especially the enclosure can be much more expensive than you'd imagine.
MacBook Pro 13" Retina i7 2.8 GHz OS 10.13, L10.0.1, M4L.
MacStudio M1Max 32Go OS 12.3.1

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Thu Nov 07, 2013 5:38 pm

chapelier fou wrote:A few things about the midibox stuff :
The Core is, well, the brain.
You'd need 64 Analog inputs for the pots : that's what the AINSER64 is about : connect pots.
Since you want a push function on your buttons, you'd want 64 Digital Ins, that's 2 DIN cards.
It's pretty cheap and you can order everything here (except from the LPCXpresso board which is about 30$) : http://www.midibox-shop.com/buy.html
I should add that i have no idea if you can use endless encoders on a midibox...
Also, know that led rings, some components and especially the enclosure can be much more expensive than you'd imagine.
For the casing I'll find a way (to probably spend way too much money...;-))
But the LED rings seem to be a problem...and possibly no endless... Hm?
I guess I could live with turning back the encoder to -inf after I used the push button via xTrigger to turn down the parameter to -inf (this is meant as a smooth emergency function, because feed back can get nasty fast!)
It's not perfect, but would apparently make things a lot easier...
Any tips on the soldering method I need so I can google it.

Do you know at what resolution I could use the encoders? Is 128 steps the limit or can I have higher resolution? (Would be great for my use!)
Also is there a software package to look at for this, or is it all already as ROMs on the board?
And why do I only need 64 digital ins if I have 64 encoders + 64 times the Push button on the encoder?

hacktheplanet
Posts: 2846
Joined: Sat Sep 25, 2004 6:37 am
Location: Chicago, IL
Contact:

Re: 64 Rotary/Push encoders in 8x8 grid

Post by hacktheplanet » Thu Nov 07, 2013 9:40 pm

TomViolenz wrote:The rings from your last link look great but 2 questions: 1: Could they be used in the MIDIIO128 project mentioned above (and not require programing) 2: Are they serious 15.95 EACH!!! (I could see myself buying if they were 15.95 for the lot of 16, but EACH?! Not gonna happen!)
Heh, yup. They are expensive... Meant more for hobby work than making a final product. You could potentially build your own PCB and do this all yourself, but it will take research and some learning. Stuff like those LED rings are great to prototype with.

That LED ring speaks SPI (Serial Periphal Interface Bus), which is a pretty standard thing for electronics. If whatever software that controls the MIDIIO128 speaks SPI (or you can hack it in), it will work.

SPI is basically like:
1. Set all chips on the SPI bus to a certain voltage level to disable them while we write data
2. Select the SPI chip(s) we want to send/receive data
2. Send/receive the data (Could be anything, depending on what the chip does)
3. Set all chips on the SPI bus to their normal voltage level to turn them back on
4. Then the chips will do something.

This process happens extremely fast, of course, depending on the speed of the device and if it has any other work to do.
TomViolenz wrote:
chapelier fou wrote:A few things about the midibox stuff :
The Core is, well, the brain.
You'd need 64 Analog inputs for the pots : that's what the AINSER64 is about : connect pots.
Since you want a push function on your buttons, you'd want 64 Digital Ins, that's 2 DIN cards.
It's pretty cheap and you can order everything here (except from the LPCXpresso board which is about 30$) : http://www.midibox-shop.com/buy.html
I should add that i have no idea if you can use endless encoders on a midibox...
Also, know that led rings, some components and especially the enclosure can be much more expensive than you'd imagine.
For the casing I'll find a way (to probably spend way too much money...;-))
But the LED rings seem to be a problem...and possibly no endless... Hm?
I guess I could live with turning back the encoder to -inf after I used the push button via xTrigger to turn down the parameter to -inf (this is meant as a smooth emergency function, because feed back can get nasty fast!)
It's not perfect, but would apparently make things a lot easier...
Any tips on the soldering method I need so I can google it.

Do you know at what resolution I could use the encoders? Is 128 steps the limit or can I have higher resolution? (Would be great for my use!)
Also is there a software package to look at for this, or is it all already as ROMs on the board?
And why do I only need 64 digital ins if I have 64 encoders + 64 times the Push button on the encoder?
Casing is a real bitch. There are companies like Bud Industries and Hamond Manufacturing that do make decent aluminum cases, but you'll be hard pressed to find something that is cheap and nice. I'm trying to find someone with a metal shop who can do custom ones for me, but so far I haven't found anyone who can do what I need at the right price.... Yet.

I'm not familiar with whatever software ucapps uses, but I assume you would be able to be able to set the resolution to whatever you need. Encoders come typically in 12ppr or 24ppr (12 or 24 pulses per revolution). Hi-res MIDI is 14 bits, 16383 possible values. 16383/24 = 682... So if you wanted, you could use the highest possible resolution MIDI and a 24ppm encoder and it would still take you 682 turns to get from 0-max! (this can all be adjusted using math in the software you write, of course).

To read an encoder, you do something like:
1. Check the status of the first pin of the encoder
2. Check the status of the second pin of the encoder
3. If the new values are different than the values we recorded during the previous cycle...
Adjust a value
4. Set the old pin status equal to the pin status we just read so we can compare it again

Most encoders require 2 pins + 1 common. An encoder with a button might have 5 pins: 2 pins + 1 for the switch + 2 for ground/voltage. So for data pins for a single pushbutton encoder, you will need 3 pins for each encoder. If you connect them to a port expander or shift register, you will only need 4 pins for the serial signals, then you daisy chain as many port expanders or shift registers as you need.

Here's a quick explanation on how encoders work: http://www.pjrc.com/teensy/td_libs_Encoder.html
Image

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Thu Nov 07, 2013 9:51 pm

hacktheplanet wrote: in the software you write, of course).
Well there lies the problem though, I can't write any software! Some scripting would be about the extent of my knowledge. I'm rather a musician than a programmer.

BTW: Regarding the expensive LED rings, there might be a solution a kind forum member send per PM that you might also find interesting: http://www.midibox.org/dokuwiki/doku.ph ... E8x2CS_PCB

hacktheplanet
Posts: 2846
Joined: Sat Sep 25, 2004 6:37 am
Location: Chicago, IL
Contact:

Re: 64 Rotary/Push encoders in 8x8 grid

Post by hacktheplanet » Thu Nov 07, 2013 9:57 pm

TomViolenz wrote:
hacktheplanet wrote: in the software you write, of course).
Well there lies the problem though, I can't write any software! Some scripting would be about the extent of my knowledge. I'm rather a musician than a programmer.

BTW: Regarding the expensive LED rings, there might be a solution a kind forum member send per PM that you might also find interesting: http://www.midibox.org/dokuwiki/doku.ph ... E8x2CS_PCB
Coding... Might as well start learning now. Ucapps seems to have a TON of information and a great community. Also, for more microcontroller programming stuff, look up the Arduino forums, or for more generalized programming stuff try Stack Exchange.

That board is awesome and looks like it would work perfectly. :D
Image

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Thu Nov 07, 2013 10:43 pm

hacktheplanet wrote:
TomViolenz wrote:
hacktheplanet wrote: in the software you write, of course).
Well there lies the problem though, I can't write any software! Some scripting would be about the extent of my knowledge. I'm rather a musician than a programmer.

BTW: Regarding the expensive LED rings, there might be a solution a kind forum member send per PM that you might also find interesting: http://www.midibox.org/dokuwiki/doku.ph ... E8x2CS_PCB
Coding... Might as well start learning now. Ucapps seems to have a TON of information and a great community. Also, for more microcontroller programming stuff, look up the Arduino forums, or for more generalized programming stuff try Stack Exchange.

That board is awesome and looks like it would work perfectly. :D
The nice PM poster said I don't necessarily need to learn how to program ;-) (I have a day job AND my actual hobby is music, so I really don't want to have to learn how to program just to get my nice matrix mixer :P )
But your input is very much appreciated :-)

(Now going back to find a encoder with push and WITHOUT detente! A term that I didn't even know an hour ago, lol)

oblique strategies
Posts: 3606
Joined: Thu Nov 02, 2006 9:57 pm
Location: Another Green World

Re: 64 Rotary/Push encoders in 8x8 grid

Post by oblique strategies » Fri Nov 08, 2013 7:02 am

Another thing to consider when choosing encoders is how smoothly they they turn. :wink:

The encoders on my Doepfer Pocket Dials are smoother (& quieter) than the encoders on my Faderfox LD2.

The encoders on the Pocket Dials are not push buttons, but the encoders on the LD2 are also buttons, maybe this effect their smoothness?

TomViolenz
Posts: 6854
Joined: Mon Dec 13, 2010 6:19 pm

Re: 64 Rotary/Push encoders in 8x8 grid

Post by TomViolenz » Fri Nov 08, 2013 8:50 am

oblique strategies wrote:Another thing to consider when choosing encoders is how smoothly they they turn. :wink:

The encoders on my Doepfer Pocket Dials are smoother (& quieter) than the encoders on my Faderfox LD2.

The encoders on the Pocket Dials are not push buttons, but the encoders on the LD2 are also buttons, maybe this effect their smoothness?
I just found out about the term detente. This is the ratchet kind of stepping of most encoders. I'll want some without. It turned out encoders without detente but with push are not all that common, but I found one supplier that sells mechanical or optical encoders with this choice,
I'm not sure yet if they would work, but look here:
Optical: http://www.cui.com/product/components/e ... c14-series
Mechanical: http://www.cui.com/product/components/e ... z16-series
I'll have to find out first if they would fit the board I mentioned to Hacktheplanet.
Problem is this is an industry supplier, so they only give you qoutes for the prices after you inquire, and I don't know if they would sell to private people in the quantity I want (64)?!

Post Reply