Norns Shield jumpy encoders

Hey guys, i recently got my hands on a lovely Norns Shield build and i really love it so far. One thing that bothers me a bit is the matching of the encoders. For example: It’s quite impossible in Awake to go from one step exactly one step further. Most of the time it jumps 2-3 steps further with one turn of the encoder. I have to be uber-precise to scroll one step further by turning the encoder so to say in between two rasterized steps to get there. I‘ve already searched the forum and stumbled across this thread:

Seems like this is an issue that COULD be fixed by finetuning the sensitivity parameters. But now i‘m wondering if this is something that is done system-based OR script-based. And how would i do that? I would appreciate any hint into the right direction!

hey marcus! hope all’s well :slight_smile:

if a software-based fix is possible for your hardware, this script will reveal it:

if you’re able to find values that work consistently, you could apply a system-wide adjustment in your encoders file: norns/encoders.lua at main · monome/norns · GitHub. just edit the 3 values for encoders.accel and encoders.sens at the top of your local copy of norns/lua/core/encoders.lua to match what feels good with that test script. you can use cyberduck to get into these guts: sftp | monome/docs. otherwise, the same adjustments can be made in each script. let me know if this process trips you up at all!

that said, if your encoders are acting unexpectedly, then its possible that software tweaking won’t help – so, give the test script a run and if you can’t find good values and you purchased this unit from monome, we can set up service via!


Hey Dan, hope you‘re doing fine, too!
That is a really helpful answer, thank you so much!! Will give it a try!


Do report back what delta values were reported. I’m having the exact same issues, as described in the thread linked above. My scripts work well with acceleration off and sensitivity at 2.


Had a run with your lovely test script: And YES, i can confim, the same values work best for me, too! So grateful for that! Now i can finally enjoy the Norns even more!


Thanks for reporting back. So I suppose we both have the wrong types of encoders on our Shield :face_with_monocle: where did you get your’s?

it is a custom build but 100% true to the official BOM parts listed here in the forum

Hey man, thanks again for the valuable input! I‘ve invested some time narrowing down the perfect values with the encoder test script and also edited the mentioned encoder scripts via sftp connection. Also did a clean reboot but when coming back to awake it seems like the changes were not recognized, the encoders still behave jumpy. But again, they work great when dialing in the appropriate values in the test script so i‘m wondering if i missed something in the last steps of the process. When i re-establish the sftp connection, changes are still present in the core encoder scripts so they should be working in any script, right?

ah right! there’s a script state which gets loaded as well: norns/encoders.lua at main · monome/norns · GitHub. give those values an edit as well, that should do it! sorry for the incomplete info before.


Hm, that’s what I was told about my Norns Shield too. Maybe it actually is behaving correctly and we just expect a different behavior, i.e. that each encoder detent should increase/decrease a value by 1 consistently? Looking at the acceleration code, it seems like maybe this “precise” stepping behavior is not really important and if a script would offer finer value ranges, the encoders would be more like infinite, smooth potentiometers :thinking:

Maybe someone with a stock Norns could check the script and report the delta values and eX changes with acceleration on/off and sensitivity values of 1 and 2.

Edit: I must admit, I have generally disliked encoders on music gear, as I rarely had great experiences with them in the past and they somehow make me feel “detached” from the device and the values I enter. So my encoder experience is actually really limited and thus my expectations could be totally wrong :sweat_smile: That being said, Norns is fun of course and this should not be read as a knock against it.


on a shield (previous gen partial-DIY kit supplied by monome directly), i can get delta 1/-1 and eX changes of +/- 1 on stock settings (sensitivity 1, accel false) as well as with all permutations.

in other words, this is happening reliably on my unit:

edit: @NightMachines + @rgb3 in case it helps, the encoders are extremely sensitive to heat – so much so that it was a consideration toward offering the no-soldering-necessary version of shield. so, though the parts might all match with the BOM, brand new encoders can become compromised through the simple act of assembly if you aren’t going in with a quick and confident hand.


Just stopping by to say thanks to @dan_derks and @NightMachines for guiding the way to ameliorating the jumpy encoders on my (non-Monome-built) DIY Shield - adjusting the values in encoders.lua to match the values shown up by nmEncoderTest has improved the scrolling (particularly through lengthy lists or wide value ranges) enormously. I was worried that the Shield was becoming unusable (I got it from eBay and have no DIY skills to speak of as yet), so feel quite relieved to have a way to make adjustments.


And an update: I recently bought some contact cleaner to sparkle up various encoders, including the Norns Shield ones mentioned above - and after a couple of good doses worked in well to the two problematic parts, that seems to have done the trick for now.

What a relief!

1 Like

What contact cleaner did you use?

I used WD40 three-in-one electrical contact cleaner (it may have different names in other regions - that’s what it’s called in France at least) and it’s holding up so far - the encoders feel firmer and more responsive after a few days of working the cleaner into them.


Ah ok. wasn’t aware that wd40 is ok for that kind of cleaning

Just to be clear, this is a specific WD40 contact cleaner, not the general-purpose lubricant.


20 characters of „ah ok. Understood „

1 Like