Ball Switch SW-520D Tilt Shock Sensor

AED 2.10



Roller Ball Tilt Switch SW-520D the Brass Case is encased in shrink tubing. The sensor has two conducting components on one end (poles). The mass rolls onto the poles and shorts them when the sensor is positioned so that the leads are downward, acting as a throw switch. Roller ball tilt switches can easily detect motion or orientation, albeit they are not as accurate or versatile as a full accelerometer. Accelerometers, on the other hand, produce a digital or analog voltage that needs further circuitry to be evaluated.

Package Includes:

  • 1 x Ball Switch SW-520d tilt shock Sensor


  • This kind of switch is safer than mercury switches and has the same characteristics as the wizard rock single pass but the assembly is more convenient
  • Made of environmentally friendly raw material
  • The trigger switch for low current circuit does not apply when the power switch
  • The sensor is easy to interface with microcontrollers.
  • Cheap and reliable
  • It has a great durability rate.


You can identify orientation or inclination with tilt sensors. They are lightweight, affordable, low-power, and simple to use. They won't deteriorate with good use. They are popular for toys, technology, and appliances because of their simplicity. For apparent reasons, they are also sometimes referred to as "tilt switches," or "rolling ball sensors." They are often created by placing a conductive free mass, such as a ball rolling inside a hollow of some kind (although not invariably cylindrical). Two conducting devices are at the cavity's one end (poles). The mass rolls onto the poles and shorts them when the sensor is positioned so that end is downward, acting as a switch throw.

Principle of Work:

Typically, a metal tube with a small ball that rolls inside it makes up a ball tilt sensor. Two conducting devices are at the cavity's one end (poles). The sensor is made to allow the ball to roll and make or break an electrical connection with just the right amount of tilt. The ball touches the poles and creates an electrical connection when the sensor is upright. The ball rolls off the poles when the sensor is tilted, breaking the connection.

Pinout of the Module:

you can work with the tilt sensor as a switch so you can connect its legs interchangeably 


  • Robotics makes extensive use of it.
  • It can also be applied to automobiles.
  • to determine the direction.
  • to be aware of the desire.


Assemble the Tilt Sensor using the Arduino UNO by connecting an LED to pin 12 with a 220ohm resistor and connecting the sensor to the pin 4. Now, copy and paste the code into your Arduino IDE. The code is then uploaded to Arduino. To see the glowing LED, tilt and move the sensor.


 No Library is needed for this module to function


The input sensor pin and output LED pin that are connected to the Arduino pins has been defined. Then, by declaring the variable LastTiltState, we have shown that the sensor's previous stage was high. Next, we must specify the variables debounceDelay and lastdebounce time.
We have specified the sensor pin as the Arduino's input in the void setup. Led is also an output. Additionally, we initialized the serial monitor there.
We have defined the function digitalRead() in the void loop to examine the sensor reading. The sensor will reset the debouncing time if it detects a value identical to the previous lastTiltState stated above, as long as the requirement is met.

additionally returns the millisecond's value. The condition has been created since then. The lastTiltState becomes the sensorValue if the condition is verified. The lastTiltState is also taken by the LED pin. To display the sensor value on the serial monitor, use the Serial. println command.

int ledPin = 12;
int sensorPin = 4;
int sensorValue;
int lastTiltState = HIGH; // the previous reading from the tilt sensor
// the following variables are long's because the time, measured in miliseconds,
// will quickly become a bigger number than can be stored in an int.
long lastDebounceTime = 0; // the last time the output pin was toggled
long debounceDelay = 50; // the debounce time; increase if the output flickers
void setup(){
 pinMode(sensorPin, INPUT);
 digitalWrite(sensorPin, HIGH);
 pinMode(ledPin, OUTPUT);
void loop(){
 sensorValue = digitalRead(sensorPin);
 // If the switch changed, due to noise or pressing:
 if (sensorValue == lastTiltState) {
 // reset the debouncing timer
 lastDebounceTime = millis();
 if ((millis() - lastDebounceTime) > debounceDelay) {
 // whatever the reading is at, it's been there for longer
 // than the debounce delay, so take it as the actual current state:
 lastTiltState = sensorValue;
 digitalWrite(ledPin, lastTiltState);

Technical Details:

  • ON at 30-90 degrees from a horizontal position
  • Max Current: 30mA
  • voltage: 5V
  • Insulation Resistance:>10M ohm



Switch-Based Tilt Sensors: These switch sensors determine if the system is slanted or not, as the name implies. Switch-based sensors are the most basic forms, having only two output states. The sensors can be divided into two more categories:
Switches with a metallic ball inside a cage are known as "ball in a cage structure switches" and they use a metal ball in place of mercury. The ball's design is extremely important since it must be resistant to stress and vibration. As a result, a solid, thick structure rather than a hollow one is employed.
Mercury Tilt Switch: When tilted, a mercury bead links the switch's terminals. These tilt switches are among the earliest varieties, and their response time is slow. Depending on how many contacts are utilized, mercury tilt switches come in SPST and SPDT varieties.
 Mercury, being a liquid metal can flow down and establish contact between the switch's leads. The blob of mercury is able to provide resistance to vibrations as mercury is a dense liquid metal. Using mercury is discouraged as it is a toxic metal and poses a potential hazard to the user when the glass casing breaks and metal spillage take place.