A tilt sensor (also called a ball switch or mercury switch) is a digital switch that changes its output based on orientation. When tilted beyond a certain angle, the internal mechanism (metal ball or mercury drop) makes or breaks contact, changing the signal.
📌 Key Features:
Simple ON/OFF output
Detects if the object is upright or tilted
Digital signal (HIGH or LOW)
No orientation angle info — only tilt or no tilt
📦 Types of Tilt Sensors:
Type
Inside it
Behavior
Metal ball type
Rolling metal ball
Conducts when level
Mercury type
Liquid metal drop
Conducts when tilted
MEMS Tilt Module
Accelerometer-based
Gives angle info
We’ll focus on the basic ball type, which is easiest to use with ESP32.
🧰 Components Needed:
ESP32 board
Tilt sensor module (KY-017, SW-520D, or similar)
Jumper wires
LED (optional for output)
🧪 How It Works:
Inside the sensor is a small metal ball.
When upright → ball connects two metal contacts → Circuit closed → Output LOW
When tilted → ball breaks contact → Circuit open → Output HIGH (or floating)
Some modules have built-in pull-up resistors and LED to indicate state.
🔌 Wiring Tilt Sensor to ESP32
Tilt Sensor Pin
ESP32 Pin
VCC
3.3V or 5V
GND
GND
OUT
GPIO 14 (or any digital pin)
🧠 What This Code Does:
Reads digital value from the sensor.
If LOW: the sensor is upright.
If HIGH: the sensor is tilted.
LED shows the state.
💡 Real-world Applications
Use Case
Description
🛠️ Anti-Tamper Alarm
Alert when a box/device is moved
🔒 Laptop Security
Lock or alert if tilted or stolen
🎮 Game Controller
Basic motion control in DIY games
🛑 Vehicle Crash Alert
Detect if a device tips over
📦 Package Monitoring
Detect tilting during delivery/shipping
🛠️ Sensor Not Working? Troubleshooting:
Problem
Fix
No response
Check VCC, GND, and OUT connection
Inverted readings
Try changing logic (HIGH/LOW check)
Floating output
Add external pull-up/down resistor
No LED on module
Try tilting more or check supply voltage
HOW TO OPERATE// #include <LiquidCrystal_I2C.h>#defineMOI 15// LiquidCrystal_I2C lcd(0x27,20,4); // set the LCD address to 0x27 for a 16 chars and 2 line displayvoidsetup(){pinMode(MOI,INPUT);Serial.begin(9600);Serial.println("MOISTURE START");// lcd.init();// lcd.backlight();// lcd.setCursor(3,0);// lcd.print("moisture data");// lcd.setCursor(3, 1);}voidloop(){int data=analogRead(MOI);Serial.println(data);// lcd.print(data);delay(1000);// lcd.clear();}
ESP32 and DHT11 with BLYNKESP32 and DHT11 with BLYNK: A Step-by-Step GuideHardware Setup:ESP32 Board: Obtain an ESP32 development board (e.g.,... Read More
The ESP32 HW-138 4 Touch Control System is a modern capacitive touch-based control solution that replaces traditional mechanical switches. Using... Read More
IntroductionThe DS3231 is a highly accurate real-time clock (RTC) module that provides precise timekeeping capabilities. When coupled with the ESP32... Read More
🔧 What is a NeoPixel?NeoPixel is Adafruit’s name for individually addressable RGB LEDs using the WS2812 or WS2812B chip. Each LED contains:Red, Green, Blue LEDA... Read More
Ultrasonic sensors are widely used in IoT and automation projects for measuring distance and liquid levels. However, standard sensors like... Read More
Are you searching for robotics components in Kanpur for projects, training, or experiments?IoT Web Planet is your one-stop destination for... Read More
2025🤖 ESP32 Joystick Controlled Robot Using ESP-NOW Protocol & L298N Motor DriverWireless bot control with speed adjustment via joystick tilt📝... Read More
🧠 What is a PIR Sensor?PIR = Passive Infrared SensorA PIR sensor detects motion by measuring changes in infrared radiation.Every warm object (like... Read More
18-01-2024Node MCU ESP8266 Board are so popular? Mainly because of the following features.Its true Arduino KillerLow-costWiFiLow PowerHigh GPIO PINCompatiblityMultiple Language... Read More
Leave a Reply
You must be logged in to post a comment.