# Rotary encoders on DIY midi controller and Traktor PRO

**URL:** <https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020>\
**Category:** Controller Mappings\
**Tags:** arduino, diy-controller, rotary-encoder, traktor\
**Created:** [October 8, 2012, 1:47pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020 "2012-10-08T13:47:06Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![paradajz](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@paradajz](https://forum.djtechtools.com/u/paradajz)\
**Post date:** [October 8, 2012, 1:47pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/1 "2012-10-08T13:47:06Z")

</div>

**Rotary encoders on DIY midi controller and Traktor PRO**

I am having difficulties with understanding how does Traktor interpret MIDI data coming from rotary encoders. I am building my own MIDI controller and my encoder works fine (atleast I think):

No pitchbend: 0x00 0x40  
Max pitchbend: 0x7F 0x7F  
Min pitchbend 0x00 0x00

So, I mapped that encoder to “seek position” function in Traktor PRO but it acts all jerky: I spin the disk fast and position marker goes all crazy, left to right. No, it’s not encoders fault - I analyzed data coming from encoders and there are no skips. The only reason I can think off is that I need to code different counting mechanism for that encoder. Screenshots:

Forward:

Reverse:

---

<div class="post-metadata">

**Author:** ![Stewe](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/stewe/32/14607_2.png) [@Stewe](https://forum.djtechtools.com/u/Stewe)\
**Post date:** [October 8, 2012, 1:57pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/2 "2012-10-08T13:57:14Z")

</div>

Did you set seek position in relative mode?

---

<div class="post-metadata">

**Author:** ![paradajz](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@paradajz](https://forum.djtechtools.com/u/paradajz)\
**Post date:** [October 8, 2012, 2:11pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/3 "2012-10-08T14:11:16Z")

</div>

> [@Stewe](#):
>
> Did you set seek position in relative mode?

Yes.

---

<div class="post-metadata">

**Author:** ![Stewe](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/stewe/32/14607_2.png) [@Stewe](https://forum.djtechtools.com/u/Stewe)\
**Post date:** [October 8, 2012, 2:15pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/4 "2012-10-08T14:15:50Z")

</div>

Well if you have set it as Encoder-relative and played with rotary sensitivity and still have no decent results then issue is with your Rotary Encoder. Tried any other controller with that same settings?

---

<div class="post-metadata">

**Author:** ![paradajz](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@paradajz](https://forum.djtechtools.com/u/paradajz)\
**Post date:** [October 8, 2012, 2:42pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/5 "2012-10-08T14:42:46Z")

</div>

Nah, I don’t think it’s that. Do you know what do encoder modes mean and what is the difference in them (3fh and 7fh)?

---

<div class="post-metadata">

**Author:** ![Stewe](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/stewe/32/14607_2.png) [@Stewe](https://forum.djtechtools.com/u/Stewe)\
**Post date:** [October 8, 2012, 3:27pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/6 "2012-10-08T15:27:17Z")

</div>

7Fh/01h mean that value 65-127 is decrement and 0-64 is increment. Value O is center.  
3Fh/41h mean value 0-63 are decrement and 65-127 are increment. Value 64 is center.

---

<div class="post-metadata">

**Author:** ![paradajz](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@paradajz](https://forum.djtechtools.com/u/paradajz)\
**Post date:** [October 8, 2012, 3:32pm UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/7 "2012-10-08T15:32:05Z")

</div>

Excellent, I’ll try that. Thanks.

---

<div class="post-metadata">

**Author:** ![paradajz](https://avatars.discourse-cdn.com/v4/letter/p/dec6dc/32.png) [@paradajz](https://forum.djtechtools.com/u/paradajz)\
**Post date:** [October 9, 2012, 7:54am UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/8 "2012-10-09T07:54:07Z")

</div>

> [@Stewe](#):
>
> 3Fh/41h mean value 0-63 are decrement and 65-127 are increment. Value 64 is center.

Tried that, works!

---

<div class="post-metadata">

**Author:** ![Stewe](https://sea1.discourse-cdn.com/flex001/user_avatar/forum.djtechtools.com/stewe/32/14607_2.png) [@Stewe](https://forum.djtechtools.com/u/Stewe)\
**Post date:** [October 9, 2012, 8:50am UTC](https://forum.djtechtools.com/t/rotary-encoders-on-diy-midi-controller-and-traktor-pro/48020/9 "2012-10-09T08:50:58Z")

</div>

Cool 👍
