PICMIX - DIY midi DJ controller

Home :: Reviews of DJ equipment :: PICMIX - DIY midi DJ controllerReply
PICMIX - DIY midi DJ controller
Posted on: 26.10.2011 by Dannielle Glassey
After years of mixing with vinyl and a DVS system for a while it is time to take a next step. A midi DJ controller. I looked at almost every possible controller there is on the market but I didn't really found what I was looking for. Too cramped or too much bells and whistles and so on. I mix mnml, deep and tech house and never use effects.
I wanted a controller that has only the buttons and faders I want and what is there has to work great and accurate. As I don't like a sync button the pitch fader has to have a 10 bit resolution at least.

The Vestax VCI-100 comes almost closest to what I wanted with the 1.4 firmware but since I do have electronic knowledge I decided to build it myself. I'm very familiar with PIC microcontrollers so I did't have to believe long.

A lot of believeing and prototyping was done first to see if it was do-able to do it myself. Everything went great so I started gathering parts to measure.
After that I've drawn a front panel and sent it to Schaeffer. The result is just stunning:



You see it has a very basic and simple layout. Everything is panel mounted, I want it to feel solid. I'm used to quality feel, this has to be it too.

The mainboard runs of a PIC16f887, I do program it with a C compiler. Jog wheels will be driven on an optical encoder. Playback buttons are arcade buttons.

The panel is almost completely mounted but I don't have a pic of that yet.

So, more details and updates will follow. Next will be wiring everything up and test every component.
Dannielle Glassey
30.10.2011
Well the PCB is yes. The front plate is around 80. Buttons, encoders, faders and so on did cost me around 60-80 euros I believe. All together I could've bought a second hand VCI-100 but hey, I can buy spareparts easily and I control the firmware :-)

Still need to build a case in wood, hope to do that this week.
Era Roka
30.10.2011
Holy sh*t that's soooooo cheap!
NICEEE!!
Dannielle Glassey
30.10.2011
I did several projects with PICs before that's the reason why. I chose this PIC cause this is a very allround PIC, very cost effective, lots of I/O so no need for a key matrix unless you want more buttons. An INT port, HW serial port, internal OSC and so on. I could use a PIC18 at higher speeds but I believe the PIC16 is fast enough.

The interrupt on change pins that are available are used for the rotary encoders. This way they are very responsive and reliable. I tried reading them on regular pins but that gave me not wanted results. The other buttons are read in a loop, the program runs fast enough not to miss a keypress.

The cost of the PCB is not much.
-16f887 at 4 euro
-headers at 2 euro
-cables are old ones I reused
-analog multiplexers are 0.5 euro a piece, 2 are used
-inverting schmitt triggers cost 0.3 euro a piece, I used 3
-7805 and the rest of the parts set you back around 2 euro

All together you build this for less than 15 euro including a PCB.

To honest I was going to use an arduino first, just to explore the platform but I didn't like the way it was programmed compared with the CCS compiler I'm used to. Though, I'm sure you can do it as easily on an Arduino.
Arcelia Siebeneck
30.10.2011
can i ask why you used that particular PIC? is it because you know how to program it more easily than say an Atmel based chip? How much does the PIC pcb cost in total?
Chasidy Heckenbach
30.10.2011
Originally Posted by Skirmitt
I don't send out absolute messages. The way I do is the encoder way in Traktor. A note on message with value 127 for forward and 1 for backward. Works like a charm.
I did believe about making them touch sensitive. Pretty easy to make but I don't believe it would be a big advantage for my purposes.
cool, sounds good. tho i guess u want to send out a 126 for forwards if sending out a 1 for backwards - probably makes no difference in practice tho. sending out 64 and 63 is more normal and only extending away from that if you need to increase the relative message effect for one 'tick' etc.

if u only want to use the jogs for pitch bend and cue'ing when not playing then u don't need them to be touch sensitive i guess - but having them touch sensitive opens up a truck load of other possibilities, esp with effects. u said u don't use them but u might do once u really get into the whole digital dj'ing thing and crazy midi mappings. i also come from a vinyl dj background - mixing on 1200's until pretty recently - not dvs tho.
Dannielle Glassey
30.10.2011
I don't send out absolute messages. The way I do is the encoder way in Traktor. A note on message with value 127 for forward and 1 for backward. Works like a charm.
I did believe about making them touch sensitive. Pretty easy to make but I don't believe it would be a big advantage for my purposes.
Chasidy Heckenbach
28.10.2011
Originally Posted by Skirmitt
I bought the encoders on eBay. They are from the brand Bourns and have 128 cpr. With software I can achieve 256 steps I believe, have to test that out.
What is the resolution of a VCI-100 btw ? And how much could the midi protocol handle ?
impressive looking build if you're sending out relative midi messages for each movement, "ticks" if you like, then you're not limited to anything in midi really. and i don't see how absolute messages would make sense for a jog anyway. just send out something >= 64 for each tick when you move it forwards and something <= 63 when you move it back. should be easy to map in traktor then and fine tune what kind of sensitivity you need.

another cool thing to do would be to send out a midi message with a non-zero value as soon as it starts moving forwards and a zero one when it stops - to be mapped to pitch bend in 'hold' mode in traktor (and a matching one for moving it backwards). sending out additional message when you touch and a zero'd one when u release would be very handy too.
Dannielle Glassey
28.10.2011
Yes idd, they are leftovers and had no purpose. The quality is very good. I have a strong signal with almost no need to debounce. Though, I have a HW debounce circuit just to be sure.
The arcade buttons are another story, there is lots of bouncing there, I had to add another 1uF cap to clean the signal. Now they are fine.

The basic debounce circuit is a 4.7K pull up and 100nF cap over the switch. That goes in an inverting schmitt trigger to have a good edge.

The board:



You see the main controller, a basic 7805 circuit, 3 schmitt triggers and the analog multiplexers. I everything works fine I'll make a PCB of it.
Hazel Oeschger
28.10.2011
Prolly means the buttons he found were going to the poobin if he hadn't taken 'm.
Arcelia Siebeneck
28.10.2011
Found them to be thrown away? I don't understand, sorry...

Thanks for the link though - i believe using small sanwa arcade buttons might be cheaper though! You can get some really small ones
Dannielle Glassey
28.10.2011
Thanks

These are the buttons I used: http://www.itwswitches.co.uk/itw_swi.../?productid=28
They are panel mounted. Found them to be thrown away, the are very good quality and have good feedback. RS asks almost 10 euro for one button :eek:
Arcelia Siebeneck
28.10.2011
Nice! Been awhile since we've seen a new build log

Quick question; where did you get the small buttons from? (not the arcade buttons) They look really nice - are they panel mounted? How much did they cost?
Dannielle Glassey
27.10.2011
You have smart ideas.
I can not get out more than 10 bit resolution, that is a limitation of the PIC. Though that is a lot better than the standard 7 bit. I send out 14 bit for the pitch fader and 7 bit for the rest. On 8% 10 bit gives me 0.02 accuracy wich is good enough for me.

The bourns encoder I have is optical and has no dents at all, it is made with a solid shaft and has bearings wich give a bit of smooth resistance.
Torie Hollobaugh
27.10.2011
I'm not sure. But as far I know NI added 14bit MIDI support to Traktor back in version Pro1.1 (assuming you'll be using Traktor).

Also, it is possible to remove the detents on the Bourns encoders, which will give you a smoother wheel, but might also give you better resolution - often they are physically limited, because one
Dannielle Glassey
27.10.2011
I bought the encoders on eBay. They are from the brand Bourns and have 128 cpr. With software I can achieve 256 steps I believe, have to test that out.
What is the resolution of a VCI-100 btw ? And how much could the midi protocol handle ?
Torie Hollobaugh
27.10.2011
Hey Skirmitt, if you don't mind me asking so, where did you get the encoders for the jogs, and what's their specs? RS won't sell me the ones I want unless I buy a pack of 10.

BTW, I like what you did with the faceplate - nice clean sober layout and all screws countersunk. Pro!
Dannielle Glassey
27.10.2011
Snapped a pic before wiring. Next update will take a while cause wiring will take a while.

Dannielle Glassey
27.10.2011
Thanks for the positive reactions. There will be no crossfader on this. I'm not used to use it and don't need it :-)

Before I did al my mixing on a Rodec and I like the clean & basic look of it. I even measured the buttons and faders up so they would have the same spacing.
Era Roka
27.10.2011
aaaaaaha finaly! another DIY project!!!
Geep on going!
Gilma Marchini
26.10.2011

That's hawt looking.
Danial Sawn
26.10.2011
Looking good. No crossfader though?
nayit ruiz jaramillo
26.10.2011
Keep it coming. Looks good up to now.

<< 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