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 think long.
A lot of thinking 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.
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.
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!
I bought the encoders on eBay. They are from the brand Bourns and have 128 cpr. With software I can achieve 256 steps I think, have to test that out.
What is the resolution of a VCI-100 btw ? And how much could the midi protocol handle ?
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 “click” of an encoder may actually run through four events. But I never tried that for real, so don’t hold me to it.
I came up with another idea I think might better suit me. Actually I stole the idea from the Reloop Jockey. The bottom edge of the wheels are square-toothed, cutting through two infra-red LED beams, as to provide the control change in the binary square wave. It only means the actual ‘encoder bit’ of the jog is not connected to the wheel shaft, which makes for a much sturdier platform, and the encoder itself is not subject to wear 'n tear. But that might get too extravagant for your project. Might even abandon the idea myself in the end, as it would end up a pretty complicated process to position the LEDs precisely as they need to be.
Not sure if all that makes sense. Anyway, just thought I’d chuck it in there.
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.
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?
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.
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.
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 think about making them touch sensitive. Pretty easy to make but I don’t think 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.
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?