Your cart is empty.
Your cart is empty.Customer
Reviewed in Canada on February 12, 2025
I'm using them with WLED and they work flawlessly. I'm using the rotary encoder and four line display usermod that I customized and it's amazing now. Brightness adjustment with the knob, double click to change presets and long press to power off and on. Cut the side with the holes off to fit it in my car.
VB
Reviewed in the United States on January 19, 2025
The knobs don't fit the shaft of the encoder, and the pcb is missing a necessary resistor to make the switch work for some reason.
Scott U.
Reviewed in the United States on September 25, 2024
Worked for my project, no complaints.
Marc
Reviewed in Canada on July 18, 2024
emballé sans protection (dans un sac uniquement) alors j’ai reçu les items avec les broches croches.. les encodeurs rotatifs semblaient vieux car les contacts donnaient des incréments/décréments erratiques (comparé avec ma référence qui fonctionne très bien).. items finalement retournés..
Kathleen H.
Reviewed in the United States on May 20, 2024
I had a big problem with switch bounce when connecting clk, data, and switch to my Arduino Uno R4 Wifi, using the KY040 code from MediaFire. That program kept firing off a reset (switch depress) even when I was only rotating the dial. I also noticed that the switch was missing the 10KOhm pull-up resistor for the switch line, so I popped one off another switch and soldered that in. Bounce gone completely, and I can count up or down to my heart's content without a reset. Very nice, other than needing to buy a bunch of 10K 0805 chip resistors. Note that the program was supposed to provide pull-ups from the board, but that apparently did not happen properly. I note that two of the pins were analog optional pins, so perhaps that caused an issue. In any case, the switches appear to work well once modified.
Martyn Staalsen
Reviewed in the United States on October 10, 2024
All 5 were packaged with star/hex style knobs, but the shafts are all d-slot. You can force the knobs on, but they won't be centered right.Also, mine were all missing the pull up resistor for the switch (click) input. It's possible to fix this in software for Arduino type applications by configuring gpio with internal pull-up. Still, was a pain to figure this out
Seth Merritt
Reviewed in the United States on April 6, 2024
Very nice quality, machined aluminum caps and pleasing mechanical haptic feedback. (Makes nice clicky-clicks when you turn it, satisfying button press when you push on it.) Easy to solder, easy to find documentation.
Customer
Reviewed in the United States on September 10, 2022
I read the reviews here with various procedures for reading them, debouncing them, etc. I had little success. Until I looked for a quadrature encoder library. There are several for Arduino. The specific one I used was Encoder by Paul Soffregen. The dt and clk pins were connected to two interrupt supported pins on the Arduino. The interface is trivial. Create an instance of the Encoder object. Invoke the read method to read the current position. The default value is zero and you will get positive and negative values from there. If you get decreasing values from counter clockwise turns, switch the dt & clk pins. You can set the current value with the write method. Works like a charm and is very stable. I gave it 4 stars because there is basically no documentation and you are left to figure all this out.
Davis Hammon
Reviewed in the United States on June 25, 2021
They work great, ... as long as the noise is filtered out. I needed to run the signal on wire over 45 feet. This destroyed any ability to simply read DT -- it was just bouncing all over. I tried putting in a 0.1uF cap and tried pull up resistors. Neither was able to filter out the noise. So I wrote some code that seems to be working great. This should run on Arduino and similar devices. Keep in mind that this approach does NOT use interrupts, so it is possible that turns could possibly be missed if your MCU gets busy on other things (though unlikely, unless you're running very long processes).uint16_t debounceDuration = 100;uint8_t clkVal = 0;uint8_t dtVal = 0;uint8_t dtValPrev = 0;uint32_t dtValLows = 0;uint32_t dtValHighs = 0;uint32_t millisR = 0;bool activePeriod = false;bool dir = false;uint8_t clkPin = A0;uint8_t. dkPin = A1;uint32_t currentMillis = 0;void setup() { pinMode(clkPin, INPUT_PULLUP); pinMode(dkPin, INPUT_PULLUP);}void loop() { currentMillis = millis(); clkVal = pinReadFast(clkPin); if (clkVal == LOW && !activePeriod && currentMillis - millisR > debounceDuration) { // happens one time once CLK goes low. millisR = currentMillis; activePeriod = true; dtValLows = 0; dtValHighs = 0; } if (activePeriod) { dtValPrev = dtVal; dtVal = pinReadFast(dkPin); if (currentMillis - millisR if (dtVal == HIGH) dtValHighs++; else dtValLows++; } } if (currentMillis - millisR > debounceDuration && activePeriod) { // finished active period. fired once dir = (dtValHighs > dtValLows); activePeriod = false; Serial.print("dir: "); Serial.println(dir); }}
Recommended Products