The KY-020 Tilt Switch Sensor module is a switch that reacts to movement. It closes the circuit when it’s tilted to the side as long as it is moved with enough force and degree of inclination to activate the ball switch inside.
Compatible with Arduino, Raspberry Pi, ESP32 and other microcontrollers. For more sensitive tilt detection use the KY-017 mercury tilt switch.


KY-020 Specifications
This module consists of a 10kΩ resistor, a metallic ball switch with bidirectional conduction that will open/close the circuit when tilted, and 3 male header pins. This module does not measure tilt angle.
Operating Voltage | 3.3V ~ 5V |
Output Type | Digital |
Connection Diagram
Connect the module’s Power line (middle) and ground (-) to +5 and GND respectively.
Connect signal (S) to pin 2 on the Arduino.
KY-020 | Arduino |
---|---|
S | 2 |
middle | +5V |
– | GND |

KY-020 Arduino Code
The following sketch will turn on the LED on pin 13 of the Arduino when the module inclination degree changes. Tilt the module to turn the LED on/off.
int tiltPin = 2; // pin number for tilt switch signal
int ledPin = 13; // pin number of LED
int tiltState = 0; // variable for reading the tilt switch status
void setup() {
pinMode(ledPin, OUTPUT); // set the LED pin as output
pinMode(tiltPin, INPUT); // set the tilt switch pin as input
}
void loop(){
// get the tilt switch state
tiltState = digitalRead(tiltPin);
// check if tilt switch is tilted.
if (tiltState == HIGH) {
digitalWrite(ledPin, HIGH);
}
else {
digitalWrite(ledPin, LOW);
}
}