KeyeStudio KS0109 EASY Plug Analog Rotation Sensor ModuleThe KeyeStudio KS0109 EASY Plug Analog Rotation Sensor is a potentiometer module for manual control and calibration. Turning the knob changes the output…
The KeyeStudio KS0109 EASY Plug Analog Rotation Sensor is a potentiometer module for manual control and calibration. Turning the knob changes the output voltage, making it easy to read with an Arduino analog input.
This module is ideal for brightness control, servo angle adjustment, volume-style input, threshold setting, and lessons about voltage dividers. The RJ11 EASY Plug connector simplifies wiring on compatible boards, while the analog behavior is easy to understand in code.
Choose this module when you need an absolute knob position. If you need endless rotation and step counting, use an encoder such as the Waveshare Rotation Sensor instead.
| Parameter | Value |
|---|---|
| Manufacturer | KeyeStudio |
| Model | KS0109 |
| Sensor type | Potentiometer / analog rotation sensor |
| Interface | EASY Plug RJ11 analog interface |
| Supply voltage | 3.3 V to 5 V |
| Output | Analog voltage |
| Typical ADC range | 0 to 1023 on 10-bit Arduino ADC |
| Rotation behavior | Limited rotation angle, absolute position |
| Recommended use | Manual value control and calibration |
| Development support | Arduino analog input examples |
Read the analog rotation sensor on an Arduino analog pin and print a stable serial value for debugging.
const int SENSOR_PIN = A0;void setup() { Serial.begin(115200);}void loop() { long total = 0; for (int i = 0; i < 8; i++) { total += analogRead(SENSOR_PIN); delay(2); } int raw = total / 8; Serial.print("knob="); Serial.println(raw); delay(100);}
Map the sensor reading to PWM output so the module can directly control LED brightness in an interactive prototype.
const int SENSOR_PIN = A0;const int LED_PIN = 9;void setup() { pinMode(LED_PIN, OUTPUT);}void loop() { int raw = analogRead(SENSOR_PIN); int pwm = map(raw, 0, 1023, 0, 255); analogWrite(LED_PIN, pwm); delay(20);}
Convert the analog signal into a practical on/off event for alarms, mode switching, or simple automation.
const int SENSOR_PIN = A0;const int OUTPUT_PIN = 8;const int THRESHOLD = 550;void setup() { pinMode(OUTPUT_PIN, OUTPUT);}void loop() { int raw = analogRead(SENSOR_PIN); digitalWrite(OUTPUT_PIN, raw > THRESHOLD ? HIGH : LOW); delay(50);}
Q: Is this a rotary encoder?
A: No. It is a potentiometer with analog output and limited rotation.
Q: Can it rotate endlessly?
A: No. Use a rotary encoder for continuous rotation.
Q: Does it need an external resistor?
A: No. The potentiometer forms the divider internally.
Q: Can it work with ESP32?
A: Yes, if the signal voltage is within the ESP32 ADC range.
Q: What can it control?
A: Brightness, servo angle, speed setting, thresholds, and menu values.
Q: Why does the reading not reach exactly 0 or 1023?
A: ADC reference, wiring, and mechanical tolerance can limit the observed range.
Q: Can it control a motor directly?
A: No. Use the controller to read it and command a motor driver.
Q: Is it good for calibration controls?
A: Yes. It is a simple and visible way to tune a parameter.
We offer fast and reliable shipping worldwide. All orders are carefully packaged and shipped within 1–3 business days after payment confirmation.
Standard shipping, expedited shipping and express delivery options are available at checkout. Delivery time depends on your destination country and local logistics.
Only logged in customers who have purchased this product may leave a review.
Add Related products to weekly line up
Special Ofers For Subscribers