Building my own controllers has certainly been worth it in terms of experience I've gained but I've ended up paying twice as much money for something half as good as a commercial product (which I don't mind at all!)

I've tried to make my experience useful for others by writing a wrapper library for MIDI inputs (including encoders). Try the "MIDIenc" example at github/joshnishikawa/MIDIcontroller. The example makes use of the encoder and a pushbutton (if your encoder features one). It also has an option to change one MIDI value per detent by adding PER_DETENT after the CC number. I tried to make the sketch as simple as possible to encourage people to undertake these projects themselves. Your MIDI controller will really be most valuable as a learning experience.