Open Source Custom Controller - Start Here!

Home :: Reviews of DJ equipment :: Open Source Custom Controller - Start Here!Reply
Open Source Custom Controller - Start Here!
Posted on: 07.04.2008 by robert chanda
Originally Posted by midifidler
@Fatlimey
That was me so if you ever want any advice hit me up. I would be interested in seeing what you have got so far..
What have I got so far? A bunch of small-scale experiments on a breadboard. I need to try several subsystems working at the same time but I haven't got there yet. Here's the key parts of an open-source MIDI controller "recipe" that I'm envisioning - build the subsystems onto small PCBs, plug together into the Arduino and the rest is software (the easy bit for me):

  1. The 4051 analog multiplexer uses only 3 digital lines and one analog to read 8 inputs. Add three more digital lines to read up to 64 analog controllers. (See also the MC14067) http://www.arduino.cc/playground/Learning/4051
  2. The 4021 can be used to shift in as many binary-state keys as you need. You latch the device to record all the key states simultaneously and shift the result back to the Auduino for processing. http://www.arduino.cc/en/Tutorial/ShiftIn
  3. The 74HC595 allows you to shift out states for as many lights as you could possibly imagine - just shuffle the bits down the line and latch the result to update all lights simultaneously without having to keep refreshing them. http://www.arduino.cc/en/Tutorial/ShiftOut (also Maxim 7219 LED drivers)
  4. The QT113 (now discontinued, use the next-up in the product line) gives us capacitive touch switches, allowing a metal DJ platter mounted on top of a rotary encoder to act as a touch switch. http://itp.nyu.edu/physcomp/Tutorials/QT113
  5. A rotary encoder for DJ platter (need a better name for that device) can be handled by a 74HC193 4-bit up-down counter plus an LS7183 quadrature decoder. This means fast movements will never be lost as we have hardware counting the edge changes between polls from the Arduino. Not sure if this design isn't overkill but I like the concept. A rot-encoder with 32 states per cycle will generate 128 edges on a complete cycle, and you should be able to make a CD sized platter make probably two-and-a-half cycles in a second if you're backspinning it fast. How fast will the polling from the Auduino be? That depends on how well we can decouple the MIDI output thread from the polling thread in software, so it's a bit of an unknown. If we're very lucky we might not need any of this extra hardware and just hook the rot-enc outputs direct to the Arduino. Experiments needed!
  6. MIDI out is really easy using an Arduino. Just remember to get a Side-mounted 5-pin DIN on a breakout board to plug into your breadboard, not the shitty panel-mount plug they use here: http://itp.nyu.edu/physcomp/Labs/MIDIOutput http://www.climaxproducts.com/store/images/T/actd5s.jpg
  7. I've been bugging everyone I can to find a supply of solid feeling keys to use. Professional devices use custom cast rubber keytops that make contact with areas on the PCB using conductive rubber pads. I love the feel but just don't have the $$$ to have these made up. So I found these keys that internally use the rubber contacts yet are PCB mountable like a normal switch. Shame about the keytops being boring crap but it's a start. All recommendations for musician friendly tactile keys welcome.
    http://www.rjselectronics.com/cms/ht...view_photo.php
    Also some highly recommended illuminated keys:
    http://www.rapidonline.com/productin...77016#techspec
  8. It seems all music hardware mfrs get their knobs from the same company - Re'An. So if you ever need a replacement knob, they invariably come from here: http://www.mouser.com/rean/
  9. I'm still having trouble visualizing the physical construction of the device - I understand that using spacers I can mount a PCB to the frontpanel so that the knobs mounted on a PCB and up flush with the surface. Is this a standard construction method? Often I see lights attached to the frontpanel with hotglue and knobs friction mounted into frontpanel holes and wired to the PCB directly, while other designs use header connectors to marshall ribbon wires into neat bundles that plug into the PCB (I love this idea). What other physical construction methods are good for homemade controllers?


So that's my current state. All help, advice and comments gratefully received.
robert chanda
07.04.2008
Originally Posted by midifidler
@Fatlimey
That was me so if you ever want any advice hit me up. I would be interested in seeing what you have got so far..
What have I got so far? A bunch of small-scale experiments on a breadboard. I need to try several subsystems working at the same time but I haven't got there yet. Here's the key parts of an open-source MIDI controller "recipe" that I'm envisioning - build the subsystems onto small PCBs, plug together into the Arduino and the rest is software (the easy bit for me):

  1. The 4051 analog multiplexer uses only 3 digital lines and one analog to read 8 inputs. Add three more digital lines to read up to 64 analog controllers. (See also the MC14067) http://www.arduino.cc/playground/Learning/4051
  2. The 4021 can be used to shift in as many binary-state keys as you need. You latch the device to record all the key states simultaneously and shift the result back to the Auduino for processing. http://www.arduino.cc/en/Tutorial/ShiftIn
  3. The 74HC595 allows you to shift out states for as many lights as you could possibly imagine - just shuffle the bits down the line and latch the result to update all lights simultaneously without having to keep refreshing them. http://www.arduino.cc/en/Tutorial/ShiftOut (also Maxim 7219 LED drivers)
  4. The QT113 (now discontinued, use the next-up in the product line) gives us capacitive touch switches, allowing a metal DJ platter mounted on top of a rotary encoder to act as a touch switch. http://itp.nyu.edu/physcomp/Tutorials/QT113
  5. A rotary encoder for DJ platter (need a better name for that device) can be handled by a 74HC193 4-bit up-down counter plus an LS7183 quadrature decoder. This means fast movements will never be lost as we have hardware counting the edge changes between polls from the Arduino. Not sure if this design isn't overkill but I like the concept. A rot-encoder with 32 states per cycle will generate 128 edges on a complete cycle, and you should be able to make a CD sized platter make probably two-and-a-half cycles in a second if you're backspinning it fast. How fast will the polling from the Auduino be? That depends on how well we can decouple the MIDI output thread from the polling thread in software, so it's a bit of an unknown. If we're very lucky we might not need any of this extra hardware and just hook the rot-enc outputs direct to the Arduino. Experiments needed!
  6. MIDI out is really easy using an Arduino. Just remember to get a Side-mounted 5-pin DIN on a breakout board to plug into your breadboard, not the shitty panel-mount plug they use here: http://itp.nyu.edu/physcomp/Labs/MIDIOutput http://www.climaxproducts.com/store/images/T/actd5s.jpg
  7. I've been bugging everyone I can to find a supply of solid feeling keys to use. Professional devices use custom cast rubber keytops that make contact with areas on the PCB using conductive rubber pads. I love the feel but just don't have the $$$ to have these made up. So I found these keys that internally use the rubber contacts yet are PCB mountable like a normal switch. Shame about the keytops being boring crap but it's a start. All recommendations for musician friendly tactile keys welcome.
    http://www.rjselectronics.com/cms/ht...view_photo.php
    Also some highly recommended illuminated keys:
    http://www.rapidonline.com/productin...77016#techspec
  8. It seems all music hardware mfrs get their knobs from the same company - Re'An. So if you ever need a replacement knob, they invariably come from here: http://www.mouser.com/rean/
  9. I'm still having trouble visualizing the physical construction of the device - I understand that using spacers I can mount a PCB to the frontpanel so that the knobs mounted on a PCB and up flush with the surface. Is this a standard construction method? Often I see lights attached to the frontpanel with hotglue and knobs friction mounted into frontpanel holes and wired to the PCB directly, while other designs use header connectors to marshall ribbon wires into neat bundles that plug into the PCB (I love this idea). What other physical construction methods are good for homemade controllers?


So that's my current state. All help, advice and comments gratefully received.
Xavier Emanuels
28.04.2008
The hardest part i see if mounting whats needed in the case so it can take a bashing without disconnecting every 5 min, or every time you open the device and also finding room for whats needed in as a small a case as possible.

It would be cool to see manufactures putting together quality modular units so we could clip together the bits and pieces into the ideal work for each of us. That way you could have as many jogs , faders, cross faders, buttons and whatever the hell we wanted without making it ourselves.

Similar like some of the rack mounted gear thats out there, where analogue hardware pieces can be put together to form the one work surface. If someone started producing quality units like that, i certainly would not be looking back on VCI ever again.
Xavier Emanuels
22.04.2008
Nice work Fatlimey, good post!

Those ribbon controls really interest me, id love to work out how to build these into my existing setup.
robert chanda
21.04.2008
Another reference: Sparkfun have a new line of linear and circular membrane potentiometers at not unreasonable prices. Now Moldover won't have to strap a Kurzweil stick to his keyboard.

http://www.sparkfun.com/commerce/pro...oducts_id=8679
http://www.sparkfun.com/commerce/pro...oducts_id=8678
Dj Daxsen
07.04.2008
Interesting stuff. This Arduino looks good.

OMG that touchShield looks AWESOME! even if it is small. OLED has such nice contrast and colour!
that could be VERY useful!~!
robert chanda
07.04.2008
Hot news! Arduino just got a touch screen as an add-on shield.

http://antipastohw.blogspot.com/2008...uchshield.html

Homebrew DJ controllers are gonna get interesting real fast. Now I understand - why follow the route the HW manufacturers are following when we can break out and lead the way for DJ controllers. Also, homemade resistive ribbon controllers:

http://okno.be/phys_comp_tutorial/ribbon4/ribbon4.htm

<< Back to Reviews of DJ equipment Reply

Copyright 2012-2023
DJRANKINGS.ORG n.g.o.
Chuo-ku, Osaka, Japan

Created by Ajaxel CMS

Terms & Privacy