START VOTING!
We have 13 prizes, so please vote for more than one winner!

IS THIS A WINNER?

A Framework For Making Affordable & Stylish Modular Controllers

A Framework For Making Affordable & Stylish Modular Controllers





 

****************************************************************************************************************************

I have designed a framework for making affordable and stylish modular controllers. You can use the content of this Instructable to make a wide range of controllers for a wide range of applications relevant to artists, DJs, VJs, gamers, producers, and the like. The DJ controllers I showcase in this document serve only as examples of (more conventional) interfaces you can create within the framework.

I focused on making this project affordable, stylish, and most important, builder friendly. The controllers can be re-programmed to send serial, MIDI, or HID messages. The modular design allows you to plug the controllers into one another, thus requiring only one USB port on your computer. Each module can have approximately 28 digital inputs/outputs, 23 analog inputs, and 4 rotary encoders. Those more savvy could add components such as touchscreens, sensors, pressure pads, etc., to the controllers using this framework. No special tools or equipment are required to build these controllers beyond a basic soldering iron and wire stripper. 

I truly feel this is the most effective and (conveniently) economical way to build DIY controllers at the moment. I hope this Instructable document will become the standard.

****************************************************************************************************************************

If you like this Instructable, vote for me so I can win a ShopBot and build more! I am a student of design & technology (Parsons), and an avid supported of DIY. 

More info here

These photos and more found on my photostream.

**Remember to read this entire Instructable before beginning any of the constituent steps**



 
Remove these adsRemove these ads by Signing Up
 

Step 1Components

Components
«
  • 6208884868_1a4533282e_b.jpg
  • 6208564299_906dbd728a_b.jpg
  • 6208885322_51ea708ffe_b.jpg
  • Component-2080.jpg
  • Component-2074.jpg
  • Component-2081.jpg
  • Component-2078.jpg
  • Component-4320.jpg
  • 6239296602_2466e03330_b.jpg
  • 6238776663_d10a6a8c41_b.jpg
  • controller-4315.jpg
  • 20111203-IMG_0835.jpg
  • Component-2086.jpg
  • Component-2085.jpg
  • crimp.jpg
  • last photo ←
»

I have spent endless hours searching for the best and most reasonably priced components from around the world. I ordered many different components to test out and compare, most of them were rubbish and were not used in project. Here is the list of the best stuff I found. 

Microprocessor Pushbuttons (Many of these pushbuttons are available in different sizes and colors from the retailers. With pushbuttons, you get what you pay for. Stay away from pushbuttons with large heights.)

Faders (If these are out of stock, they may also be available at digikey.com or newark.com. If you are a scratch DJ you probably demand a 'frictionless' fader. DJ Deals sells them for cheap, and they are simple enough to use with the DIY controllers.)

Slide knob
  • Many options available at Newark. 
Potentiometers  Potentiometer Knobs (Knurled knobs can only be attached to knurled shafts. Knobs with set screws will require a hex key to couple with the potentiometer. 6.4mm knobs coupled with 6mm shafts fit slightly non-concentric - this can be fixed with some scotch tape. 6.35mm potentiometers do exist although I was unable to find an economical option.) 

Encoders (Search 'PEC11-' on Newark to get a long list of nice and affordable encoders. I used PEC11-4115F-S0018 and PEC11-4215F-S0024 in my build. I tested many encoders and found the Bourns ones to be best. They have both D, and knurled shaft options available)

PCB Wires & Connectors Multiplexer Header Pins Standoffs
  • Many 6-32 options @ All Electronics (USA)
LEDs Hardware
All hardware (nuts and bolts) can be found at McMaster (USA)

Other
Soldering iron, wire cutters/strippers.

There are many other components you may want to include in your interface such as LCDs, touchscreens, trackballs, pressure pads, proximity sensors, etc. SparkFun and Adafruit are the best resources for these kinds of components. Although the controllers I showcased in this Instructable are somewhat conventional, I encourage you to get crazy. DIY gives you the power to do anything you can imagine - just wait till you see the next controller I am going to build!

Read the datasheets carefully before buying components.

Discount/surplus stores like Futurlec & All Electronics have some components which are totally bogus so be extra careful before buying from these stores. 

Note that all these components are panel mount (with exception to the LEDs). There is an important distinction between surface mount and panel mount components. Surface mount components fasten directly to the printed circuit board (PCB) while panel mount components fasten to the top panel and connect to the PCB via wire and solder connections. It is usually not possible to use surface mount components unless you fabricate custom PCBs and have expert soldering skills. Using panel mount components makes this project accessible to anyone. 

So how much do these controllers cost? I don't kow how much your controller is gonna cost but mine were cheap, really cheap!



« Previous StepDownload PDFView All StepsNext Step »
98 comments
1-40 of 98next »
Feb 22, 2012. 10:06 AMFreebirdRising says:
I have a pretty lucky advantage in that my father works for a company that designs industrial grade mixing consols for radio and television. He sent me a bag of parts free!

I have a question though... The encoders he sent me are these: http://www.bitechnologies.com/pdfs/en11.pdf

Are they too high quality (too many pins/detents) for the Teensy++ and this framework?
Feb 20, 2012. 10:07 PMt3kk3t says:
Finally got my pieces and built my first skeleton PCB setup. Can't think of one thing to add to this write up so far. Soldering was extremely easy with that flex pen, and I've never soldered before. Debug was a success, now the fun part of deciding on a layout.


Feb 7, 2012. 5:09 PMdjdirtyfunk says:
very nice I'm trying to build the controller as well but the code it not seeming to work for the multiplexer, i have it wired the same way as yours so i can have 16 inputs and it seems to give my midi software when I'm testing it a varying midi cc number it switches every second instead of staying at 01.cc.1 it goes to 01.cc.12 and such any suggestions and do you have to have the debug feature on and ic2 feature on thanks for the help if you can
Feb 7, 2012. 7:30 PMdjdirtyfunk says:
yeah i could but i don't think it will do it is the same code as what you had used copied and pasted but the pots with the multiplexer will not work for some reason it just varies between midi values when trying to map in traktor or ableton even when i am not touching the pots connected to the multiplexer the wiring is exactly the same as the one showed with the multiplexer and it has everything but the ic2 and leds I'm just trying to add 16 potentiometers with 20 arcade buttons nothing else not leds no ice or encoders but the problem i am having is i wired the wiring the same as seen and uploaded your mixers code and the pots knobs don't map to midi its the same circuit
Feb 7, 2012. 10:19 PMdjdirtyfunk says:
here is what comes up when i set the debug serial monitor in your code to 1 then i uploaded it and tried it again and still having some problems Pushbutton7: clk off
Pushbutton8: clk off
Pushbutton9: clk off
Pushbutton20: clk off
Pushbutton21: clk off
Pushbutton22: clk off
Pushbutton23: clk off
Pushbutton24: clk off
Pushbutton25: clk off
Pushbutton26: clk off
Analog0: 36
Analog1: 36
Analog2: 35
Analog3: 35
Analog0: 34
Analog1: 34
Analog2: 33
Analog3: 32
Analog0: 31
Analog1: 31
Analog2: 30
Analog3: 29
Analog0: 29
Analog1: 29
Analog2: 28
Analog3: 27
Analog0: 26
Analog1: 26
Analog2: 25
Analog3: 25
Analog0: 24
Analog1: 24
Analog2: 23
Analog3: 23
Analog0: 22
Analog1: 22
Analog2: 21
Analog3: 21
Analog0: 20
Analog1: 20
Analog2: 19
Analog3: 19
Analog0: 18
Analog1: 18
Analog2: 18
Analog3: 17
Analog0: 17
Analog1: 17
Analog2: 16
Analog3: 16
Analog0: 15
Analog1: 15
Analog2: 15
Analog3: 14
Analog0: 14
Analog1: 14
Analog2: 13
Analog3: 13
Analog0: 12
Analog1: 12
Analog2: 12
Analog3: 12
Analog0: 11
Analog1: 11
Analog2: 11
Analog3: 10
Analog0: 10
Analog1: 10
Analog2: 10
Analog3: 9
Analog0: 9
Analog1: 9
Analog2: 9
Analog3: 8
Analog0: 8
Analog1: 8
Analog2: 8
Analog3: 8
Analog0: 7
Analog1: 8
Analog3: 7
Analog0: 7
Analog1: 7
Analog2: 6
Analog3: 6
Analog0: 6
Analog1: 6
Analog3: 6
Analog0: 5
Analog1: 6
Analog2: 5
Analog1: 5
Analog2: 5
Analog3: 4
Analog0: 4
Analog3: 4
Analog1: 4
Analog2: 4
Analog0: 3
Analog2: 3
Analog3: 3
Analog1: 3
Analog0: 3
Analog3: 2
Analog1: 2
Analog2: 2
Analog0: 2
Analog3: 2
Analog1: 2
Analog0: 1
Analog2: 1
Analog3: 1
Analog1: 1
Analog0: 1
Analog2: 0
Analog3: 0
Analog0: 0
Analog1: 0
Analog2: 0
Analog3: 0
Analog1: 0
Analog0: 1
Analog1: 2
Analog2: 6
Analog3: 25
Analog0: 25
Analog1: 25
Analog2: 19
Analog3: 24
Analog0: 24
Analog1: 24
Analog2: 21
Analog0: 23
Analog1: 23
Analog3: 23
Analog0: 23
Analog1: 23
Analog3: 22
Analog0: 21
Analog1: 21
Analog2: 20
Analog3: 20
Analog0: 20
Analog1: 20
Analog2: 19
Analog3: 19
Analog0: 18
Analog1: 18
Analog2: 18
Analog3: 17
Analog0: 17
Analog1: 17
Analog2: 16
Analog3: 16
Analog0: 15
Analog1: 15
Analog2: 15
Analog3: 14
Analog0: 14
Analog1: 14
Analog2: 13
Analog3: 13
Analog0: 12
Analog1: 12
Analog2: 12
Analog3: 12
Analog0: 11
Analog1: 11
Analog2: 11
Analog3: 11
Analog0: 11
Analog1: 10
Analog2: 10
Analog3: 10
Analog0: 9
Analog1: 10
Analog2: 9
Analog3: 9
Analog0: 9
Analog1: 9
Analog2: 8
Analog3: 8
Analog0: 8
Analog1: 8
Analog2: 8
Analog3: 7
Analog0: 7
Analog2: 7
Analog3: 7
Analog1: 6
Analog2: 6
Analog3: 6
Analog0: 6
Analog2: 6
Analog0: 5
Analog1: 5
Analog2: 5
Analog3: 5
Analog2: 4
Analog3: 4
Analog0: 4
Analog1: 4
Analog1: 4
Analog2: 3
Analog3: 3
Analog0: 3
Analog0: 3
Analog1: 3
Analog2: 3
Analog3: 3
Analog0: 2
Analog1: 2
Analog2: 2
Analog3: 2
Analog0: 1
Analog1: 1
Analog2: 1
Analog3: 1
Analog0: 0
Analog1: 1
Analog3: 0
Analog1: 0
Analog2: 0
Analog0: 0
Analog3: 0
Analog2: 0
Analog1: 0
i dunno if it is the wiring or something else but thanks for the help
Feb 8, 2012. 10:20 AMdjdirtyfunk says:
i also found another case of exactly what is happening to me here http://www.djtechtools.com/forum/showthread.php?t=27279&page=5
the midi is spiting out constant data and you can see it is very random and not normal which makes it unsuitable for a dj controller since the value of the midi data is changing even when no pot of n.o. mom push is connected thanks again
Feb 9, 2012. 10:26 AMdjdirtyfunk says:
yeah i do have all 16 and pushbuttons i tried to use other code but also did not work neither the pushbuttons or pots are connected I'm trying to see if i can use the bounce code given on teen sys website to fix the pushbuttons and pots i have the pots set up like such middle pin to the 1 first pin in the multiplexer the same with the rest then one to ground and 1 to power, the pushbuttons are setup on digital pin 1 and so on till digital pn 20 then i have the other wire to ground. i am currently testing all the codes to see if it will work but now it won't even spit midi data out I'm hopeing the teensy is not blown and the code is the same exact one as your or the example of bounce to see it i can get the push buttons working atteast the analog pots are not working with the multiplexer or on the analog slots on the teensy maybe the wiring is wrong but i don't believe so the pots are wired to the best of my knowledge correctly
Feb 14, 2012. 1:58 PMdjdirtyfunk says:
thanks for all the help again it was in the end a ground connection problem and once it was solved it worked thanks again
Feb 10, 2012. 6:47 AMdjdirtyfunk says:
thanks ill let you know how it goes ill try to learn the programing language and reprogram it i do have a question though, those metal knobs with the hole in the do you have to screw them to the potentiometer cause they don't fit is there another pot they fit on
Feb 11, 2012. 5:39 AMfbujold says:
Hey
I have seen controllers with a headphone connection. How do i get an analog signal back from the PC through a serial link?
Thx
Feb 13, 2012. 2:05 PMtyoung46 says:
amazing work ... similar question, if you got a basic pc sound card could you integrate that into arduino?
Feb 13, 2012. 3:44 PMfbujold says:
Call me lazy but try on ebay i found one for 0.86 $ US (+3.65 shipping...) which i can easily fit in the controller...

$(KGrHqN,!n8E8VDqiT6kBPNzJ(bKZQ~~60_12[1].JPG
Feb 15, 2012. 10:25 AMfbujold says:
I understand the project is not ardruino and beeingnew to this project and or approach, so i will try not to be annoying, but, if teensy++ is a USB based CHIP/micro controller is'nt USB readily available in the "DJ" controller for a usb sound cardm for my headphones?
Feb 15, 2012. 12:20 PMtyoung46 says:
i think that would be the best solution to be able to integrate headphones with this instructable so that it is compatible with traktor ... i dont see why you need to connect the soundcard to the teensy in any way for it to be functional with traktor
Feb 10, 2012. 7:23 AMSuperspaceghost says:
Hi, it mentions a diagram in the abovce step but I cant see it, kust the code in the above pde file?
Feb 10, 2012. 10:07 AMSuperspaceghost says:
Great thanks, just like to say what a great project. Really looking forward to trying it. It will be my first venture into electronics.

SSG
Feb 9, 2012. 10:49 PMjeffjeffwong says:
Alex, did you get the slide pots with the knobs? I have a hard time finding the right knobs for my slide pots.
Feb 6, 2012. 9:45 PMskmagiik says:
Got everything planned out and ready to buy but having trouble with ponoko design requirements and figuring out what it needs to be if I send the design folder with the links to all parts im using and the layout already done in illustrator could someone make them up for me? I'm willing to pay up to 10$ for each board designed for me. Email: skmagiik@gmail.com if interested in my offer thanks.
Feb 2, 2012. 9:20 PMFreebirdRising says:
Thanks so much for posting this! I'm really excited to get working on this. I know next to nothing about electronics, but I've been researching parts and bits and bobs a few hours every day since I discovered this! :D

I have a (very beginner?) question though... I know you use an analogue multiplexor in your design, but what about LED, switch and Encoder multiplexors? Is it possible to use these with the Teensy as well?

My ideal design is slightly multi-purpose, so having 8 encoders will be a big help for me - it would be great if I didn't have to buy a 2nd Teensy++ module just for that.

With all these encoders it might be nice to have LED indicators too... You can see where this is going...!

So yeah - will Teensy++ work with multiplexors for these things and do you have any recommendations on particular ones?

Thanks again!
Feb 4, 2012. 6:20 AMFreebirdRising says:
Hey, thanks for the fast response.

I know where you're coming from regarding buttons. The thing is - buttons is what I need! :) Where your controller is mostly pot's, mine will be mostly buttons, as I already have an external mixer.

I'd like to make my dj experience as expressive as possible - while I'm not going to so far as to build a full on DJ controller - I'm really looking to eliminate my need to touch the keyboard of my laptop as much as possible. Being a poor college student, myself, I'm hoping to narrow the cost as much as possible...

I've read a little about the ATmega line of chips... Do you think something like the ATmega128 would be a good solution?
Jan 25, 2012. 1:59 PMH4T says:
Great Instructable! For the last few weeks, I've been retrofitting an old children's toy to be a MIDI controller, and I used the EXACT same process you outline here (Teensy++, usbMIDI, etc)! Good and bad feeling, lol. Now I have to decide if I want to write up a nearly identical Instructable / article, or re-do it to make use of your work here :P

I particularly enjoyed your use of I2C and the beautiful enclosure design tips, I hope you consider capitalizing on the interest you've got so far by making a kit out of this (let the customer select number of pots, switches, buttons and so on to "build their own" controller based on a common set of parts)!
Jan 31, 2012. 1:34 PMXTL says:
Consider Ponoko. http://www.ponoko.com/
1-40 of 98next »

Pro

Get More Out of Instructables

Already have an Account?

close

All Steps Viewing
View all steps of an Instructable on the same page when you're a Pro Member.

Upgrade to Pro today!
54
Followers
2
Author:Fuzzy-Wobble
I am a human from planet earth. I use my brain to make things.