DIY MIDI Controller with illuminated encoders
DIY MIDI Controller with illuminated encoders
About a year ago, I found illuminated endless encoders which I wanted to try out in a custom MIDI controller project.
Those encoders just remained unused until I teamed up with ST8 to work out the hardware and the software required to make this work.
In no time ST8 had this up and running and we had ourselves a cool little controller.
In the last years, something changed in the DIY world that made this project significantly easier. Open Source hardware platforms like the Arduino can now be Class Complaint MIDI controllers. Which simply means it plugs and plays without drivers. No messing around with translation software and no crazy workarounds.
We had a bit of trouble getting the Arduino (Uno) to do this and it was way too big anyway. We found a nice alternative called Teensy.
This thing loads Arduino software but its much more compact and we got it to work as a regular MIDI controller pretty quick.
http://www.pjrc.com/store/teensy_pins.html
So we ended up with this:
It has 8 Encoders with a Blue and a Green LED. The encoders are also buttons. It is USB powered and class compliant.
There is an additional button to switch between 2 modes.
In Mode 1, the Pushbutton on the Encoders switches between banks. Each bank has 8 different CC's for the encoders. That gives a total of 64 CC's on a single MIDI Channel.
In Mode 2, the Pushbuttons on the Encoders are toggle buttons. These Toggle buttons also send out different CC's. The CC numbers depend on which bank you're currently in. The encoders still control the Encoder values of the chosen bank. But in this mode you can not switch banks.
To know which bank or mode you're in, we made use of the LED's in the encoders. In Mode 2, the LED's show the state of the Toggle buttons. But if you twist an encoder, it'll show the state and color for that parameter briefly.
The controller is bi-directional, so it means that the LED's can be updated from software like Live.
It also means that you could use MIDI Translation software to turn this controller into an interface for some step sequencer or to compliment other controllers.
Its made on an open source platform, so there is also the option of writing or modifying the firmware.
We also have some PWM chips in place which allows you to control the intensity of both the green and the blue LED.
Here is some grainy footage from my first test with these encoders: http://www.youtube.com/watch?v=Hb2FpfM8HGw
We hope to get some clearer videos up once we've assembled our new design.
One thing our firmware doesn't do is giving you the full range of 16 MIDI Channels to work with. We're not storing more than 128 values at the moment. But to be fair, the BCR doesn't do this either. Try updating a CC that is on a preset that is not the current BCR preset. If you then switch the BCR preset, you'll notice the tweaked value hasn't updated. So the preset system on the BCR is pretty much useless. It could possibly be done with a custom firmware, but who wants to control 1024 CC's anyway?
We figured other people might be interested in a project like this, so we'll be making a step-by-step guide available soon.
But we wondered if people would be interested in kits to get them started. We would provide most of the parts. You would just need to order the Teensy, 8 LED encoders which are available in various colors and with detents options. And you would need to make your own case. Though we might be able to provide some CAD files you can use with your local CNC mill shop.
What you see pictured above is ST8's prototype which is simply attached to 2 acrylic boards connected with some spacers.
The case I designed for my unit looks like this:
It still needs to be assembled, because the case is currently in Belgium and the electronics in or on their way to France.
We considered making fully assembled controllers, but its about 85€ in parts. 130€ if you factor in a case like the one I made in Merbau wood.
It would take a lot of resources we don't have to make fully assembled units and this was always meant to be just a custom controller for us.
But since it would be so easy for other people to make this, we can't help but share.
We made a new design for the PCB's so that they connect together. So the whole guts will only be about 1.5cm high, including the base of the encoders.
If there is enough interest, we might make a couple of extra PCB's. We figure that we can make a kit for about 25€. Leaving just the encoders which are crazy expensive at like 5$ a piece and the Teensy for 19$. Or 15€ for just the PCB boards.
If you are interested in either the kits or the boards, let us know in this post or contact us at "b @ covops.org".
We'll have the instructions, files and pictures of the updated version of our controller online soon. Along with information on where and how you can get all the required parts.
Cheers,
- Bjorn and Stu
Those encoders just remained unused until I teamed up with ST8 to work out the hardware and the software required to make this work.
In no time ST8 had this up and running and we had ourselves a cool little controller.
In the last years, something changed in the DIY world that made this project significantly easier. Open Source hardware platforms like the Arduino can now be Class Complaint MIDI controllers. Which simply means it plugs and plays without drivers. No messing around with translation software and no crazy workarounds.
We had a bit of trouble getting the Arduino (Uno) to do this and it was way too big anyway. We found a nice alternative called Teensy.
This thing loads Arduino software but its much more compact and we got it to work as a regular MIDI controller pretty quick.
http://www.pjrc.com/store/teensy_pins.html
So we ended up with this:
It has 8 Encoders with a Blue and a Green LED. The encoders are also buttons. It is USB powered and class compliant.
There is an additional button to switch between 2 modes.
In Mode 1, the Pushbutton on the Encoders switches between banks. Each bank has 8 different CC's for the encoders. That gives a total of 64 CC's on a single MIDI Channel.
In Mode 2, the Pushbuttons on the Encoders are toggle buttons. These Toggle buttons also send out different CC's. The CC numbers depend on which bank you're currently in. The encoders still control the Encoder values of the chosen bank. But in this mode you can not switch banks.
To know which bank or mode you're in, we made use of the LED's in the encoders. In Mode 2, the LED's show the state of the Toggle buttons. But if you twist an encoder, it'll show the state and color for that parameter briefly.
The controller is bi-directional, so it means that the LED's can be updated from software like Live.
It also means that you could use MIDI Translation software to turn this controller into an interface for some step sequencer or to compliment other controllers.
Its made on an open source platform, so there is also the option of writing or modifying the firmware.
We also have some PWM chips in place which allows you to control the intensity of both the green and the blue LED.
Here is some grainy footage from my first test with these encoders: http://www.youtube.com/watch?v=Hb2FpfM8HGw
We hope to get some clearer videos up once we've assembled our new design.
One thing our firmware doesn't do is giving you the full range of 16 MIDI Channels to work with. We're not storing more than 128 values at the moment. But to be fair, the BCR doesn't do this either. Try updating a CC that is on a preset that is not the current BCR preset. If you then switch the BCR preset, you'll notice the tweaked value hasn't updated. So the preset system on the BCR is pretty much useless. It could possibly be done with a custom firmware, but who wants to control 1024 CC's anyway?
We figured other people might be interested in a project like this, so we'll be making a step-by-step guide available soon.
But we wondered if people would be interested in kits to get them started. We would provide most of the parts. You would just need to order the Teensy, 8 LED encoders which are available in various colors and with detents options. And you would need to make your own case. Though we might be able to provide some CAD files you can use with your local CNC mill shop.
What you see pictured above is ST8's prototype which is simply attached to 2 acrylic boards connected with some spacers.
The case I designed for my unit looks like this:
It still needs to be assembled, because the case is currently in Belgium and the electronics in or on their way to France.
We considered making fully assembled controllers, but its about 85€ in parts. 130€ if you factor in a case like the one I made in Merbau wood.
It would take a lot of resources we don't have to make fully assembled units and this was always meant to be just a custom controller for us.
But since it would be so easy for other people to make this, we can't help but share.
We made a new design for the PCB's so that they connect together. So the whole guts will only be about 1.5cm high, including the base of the encoders.
If there is enough interest, we might make a couple of extra PCB's. We figure that we can make a kit for about 25€. Leaving just the encoders which are crazy expensive at like 5$ a piece and the Teensy for 19$. Or 15€ for just the PCB boards.
If you are interested in either the kits or the boards, let us know in this post or contact us at "b @ covops.org".
We'll have the instructions, files and pictures of the updated version of our controller online soon. Along with information on where and how you can get all the required parts.
Cheers,
- Bjorn and Stu
Re: DIY MIDI Controller with illuminated encoders
So these encoders functions as both knobs (can be turned) as well as buttons (pushed) ?
Really cool build. I've been looking into making a controller myself for quite some time now. The thing that throws me off is the housing, I can't seem to find a cheap and easy way to have it constructed, that looks professional and polished as well. Great job on yours though, looks awesome.
Really cool build. I've been looking into making a controller myself for quite some time now. The thing that throws me off is the housing, I can't seem to find a cheap and easy way to have it constructed, that looks professional and polished as well. Great job on yours though, looks awesome.
Re: DIY MIDI Controller with illuminated encoders
Yes, a controller like the BCR2000 has similar functionality for the top encoders.matthews wrote:So these encoders functions as both knobs (can be turned) as well as buttons (pushed) ?
Thanks. A lot of hours spent in CAD and 3D software. Not to mention learning how to use that software.matthews wrote:Really cool build. I've been looking into making a controller myself for quite some time now. The thing that throws me off is the housing, I can't seem to find a cheap and easy way to have it constructed, that looks professional and polished as well. Great job on yours though, looks awesome.
Days of looking for the right people to produce the panel and case. Finding the right wood, plate material and lots of measuring and cursing because some people just can't get on board with the wonderful metric system.
My case including the plate cost about 50€ to make. And there are still some extra costs coming to finish the USB port and button. Although the Teensy has a Mini USB port, its inside the case so it would be a pain if it got disconnected.
But that is easily fixed with something like this:
Re: DIY MIDI Controller with illuminated encoders
Just a quick update, we are now shipping these. See here for more info: http://post.monome.org/comments.php?Dis ... 657&page=2
Re: DIY MIDI Controller with illuminated encoders
Very cool, looks great!
I would love one of these with 4 rows of the 8 encoders. Size something like Nano Kontrol, +4 fades. Long side vertical. Run 2 of those together with APC 40, and get full 8 channel midi mixer for Live, in a size small enough for hand lugage on flights, like the Nanos. Keep waiting for this, but nothing so far. So maybe build one then, or would you consider selling ready to go units? I pay good cash. Already got a custom build Ztar, and you know those aint cheep.
Since I got the APC, my first 8 tracks in Live are my main groups. And APCs faders, mute, solo buttons etc are kept at all time to APCs 8 strips. Ive found this to be the best workflow when creating new projects, or when mixing down old. Keep all the mess after the 8 first, and just route them to one of the 8 first. I also use 8 sends. Try to stay with a standard number all the way through, keeps everything easy to find. I never use the scene triggers. Impossible, because I use to many clips and tracks. Would be great if the APC clip triggers could display audio VU levels. But your design might be much better. Love the led button idea!
I would love one of these with 4 rows of the 8 encoders. Size something like Nano Kontrol, +4 fades. Long side vertical. Run 2 of those together with APC 40, and get full 8 channel midi mixer for Live, in a size small enough for hand lugage on flights, like the Nanos. Keep waiting for this, but nothing so far. So maybe build one then, or would you consider selling ready to go units? I pay good cash. Already got a custom build Ztar, and you know those aint cheep.
Since I got the APC, my first 8 tracks in Live are my main groups. And APCs faders, mute, solo buttons etc are kept at all time to APCs 8 strips. Ive found this to be the best workflow when creating new projects, or when mixing down old. Keep all the mess after the 8 first, and just route them to one of the 8 first. I also use 8 sends. Try to stay with a standard number all the way through, keeps everything easy to find. I never use the scene triggers. Impossible, because I use to many clips and tracks. Would be great if the APC clip triggers could display audio VU levels. But your design might be much better. Love the led button idea!
Re: DIY MIDI Controller with illuminated encoders
Hey K,
We're definitely looking into bigger versions. We're still working out the limit of what we can control and how many LED's we need to power. In your case it would be 64 LED's. Might be cutting it close with USB power.
And you'd use 2 of them? It might be worth noting these encoders go 2-4€ a piece. It'll dwarf the costs of all the other parts. Including a fancy wooden case.
At any rate, this is our first project. There is more in the pipeline which you will soon hear about.
Stay tuned!
- Bjorn
We're definitely looking into bigger versions. We're still working out the limit of what we can control and how many LED's we need to power. In your case it would be 64 LED's. Might be cutting it close with USB power.
And you'd use 2 of them? It might be worth noting these encoders go 2-4€ a piece. It'll dwarf the costs of all the other parts. Including a fancy wooden case.
At any rate, this is our first project. There is more in the pipeline which you will soon hear about.
Stay tuned!
- Bjorn
Re: DIY MIDI Controller with illuminated encoders
I have been toying with the idea of building a MIDI controller into my guitar's pickguard so I could have some controls right at hand for performing.
Do you think a similar process to what you've done here would make something like that possible?
Do you think a similar process to what you've done here would make something like that possible?
Re: DIY MIDI Controller with illuminated encoders
The Teensy platform that we're using for this project should help to turn nearly anything into a class complaint MIDI Controller. And its way smaller than an Arduino and runs the same code, so thats a plus too.agent314 wrote:I have been toying with the idea of building a MIDI controller into my guitar's pickguard so I could have some controls right at hand for performing.
Do you think a similar process to what you've done here would make something like that possible?
I suppose technically, you could build this kit straight into a pickguard. But I reckon you would want something with more controls.
Re: DIY MIDI Controller with illuminated encoders
Exelent! Looks like it can get rather slim. If you just want the 8 macros, even the Nano Kontrol is a bit large. How slim can you get it?hoffman2k wrote:http://q3f.org/develop/eight_kit/
This is what the kit currently looks like when assembled:
Re: DIY MIDI Controller with illuminated encoders
Some thoughts: what about backlit led screens, like Maschine, or Novation controllers? 1 light for a row of 4 knobs, would it be as easy to assamble?hoffman2k wrote:Hey K,
We're definitely looking into bigger versions. We're still working out the limit of what we can control and how many LED's we need to power. In your case it would be 64 LED's. Might be cutting it close with USB power.
And you'd use 2 of them? It might be worth noting these encoders go 2-4€ a piece. It'll dwarf the costs of all the other parts. Including a fancy wooden case.
At any rate, this is our first project. There is more in the pipeline which you will soon hear about.
Stay tuned!
- Bjorn
-Kim
Re: DIY MIDI Controller with illuminated encoders
We're working on new designs, but for the moment this is about as slim as it gets.ze2be wrote:Exelent! Looks like it can get rather slim. If you just want the 8 macros, even the Nano Kontrol is a bit large. How slim can you get it?hoffman2k wrote:http://q3f.org/develop/eight_kit/
This is what the kit currently looks like when assembled:
However, there is a board for the encoders and a board for the logic.
The original design was connected with an IDE type cable. While this new design plugs together, you still have the option to use cable.
So at its slimmest, it would be 1.6mm (PCB) + 7mm (Encoder base) with a cable sticking out at the bottom.
And you'd still need to find space for the logic board which has the USB connection.
My case for this design with the stacked boards is about 38mm high. It would be nice to have it even lower, but its already quite compact. To make them smaller we'll need some specialized tools, which is not for now yet.
Re: DIY MIDI Controller with illuminated encoders
We're investigating all kinds of parts. There are tons of choices, each with technical aspects we need to explore. The difficulty in assembling full controllers with screens and the likes lies in how to protect the fragile parts.ze2be wrote:Some thoughts: what about backlit led screens, like Maschine, or Novation controllers? 1 light for a row of 4 knobs, would it be as easy to assamble?hoffman2k wrote:Hey K,
We're definitely looking into bigger versions. We're still working out the limit of what we can control and how many LED's we need to power. In your case it would be 64 LED's. Might be cutting it close with USB power.
And you'd use 2 of them? It might be worth noting these encoders go 2-4€ a piece. It'll dwarf the costs of all the other parts. Including a fancy wooden case.
At any rate, this is our first project. There is more in the pipeline which you will soon hear about.
Stay tuned!
- Bjorn
-Kim
These things need to survive travels in backpacks. So there's a fair bit of engineering involved.
We can't put a timetable on how quickly you'll see further developments, but we hope to share some more cool stuff in the weeks to follow.
We're also open to requests for custom controllers. We discussed your idea for using 32 LED encoders and it might technically be possible. But it would be one hell of a project.
It would be nice to have something USB powered with like half the height and a smaller footprint than the BCR2000. But it would be even better if it didn't have the restrictions that the BCR has. Like only being able to keep track of CC's on a preset that is currently loaded. That is a memory issue which we still have to look into too.
I think I've got a good view on what you need. Before we talk about a custom controller, I advise you wait until we have revealed our next project.
I'm sick of working out workarounds for the limitations that various controllers have.
With this LED encoder kit its easy. Don't like how it works? Insert your own custom firmware...
Everything else we develop will have the same flexibility when it comes to the software part.
Re: DIY MIDI Controller with illuminated encoders
Thats just awesome Bjorn. Cant wait to get more news! Regarding a possible 32 knob system, could the leds be switched off on the device? A sort of USB power mode..hoffman2k wrote:We're investigating all kinds of parts. There are tons of choices, each with technical aspects we need to explore. The difficulty in assembling full controllers with screens and the likes lies in how to protect the fragile parts.
These things need to survive travels in backpacks. So there's a fair bit of engineering involved.
We can't put a timetable on how quickly you'll see further developments, but we hope to share some more cool stuff in the weeks to follow.
We're also open to requests for custom controllers. We discussed your idea for using 32 LED encoders and it might technically be possible. But it would be one hell of a project.
It would be nice to have something USB powered with like half the height and a smaller footprint than the BCR2000. But it would be even better if it didn't have the restrictions that the BCR has. Like only being able to keep track of CC's on a preset that is currently loaded. That is a memory issue which we still have to look into too.
I think I've got a good view on what you need. Before we talk about a custom controller, I advise you wait until we have revealed our next project.
I'm sick of working out workarounds for the limitations that various controllers have.
With this LED encoder kit its easy. Don't like how it works? Insert your own custom firmware...
Everything else we develop will have the same flexibility when it comes to the software part.
Re: DIY MIDI Controller with illuminated encoders
I think 64 LED's can still be powered by USB.
32 regular encoders definitely isn't a problem.
We'll know for sure in a while. Still plenty of experiments to complete first.
32 regular encoders definitely isn't a problem.
We'll know for sure in a while. Still plenty of experiments to complete first.