Magic Light Cup Module is a board which has a led and a mercury tilt switch. Using PWM to drive the LEDs on the module you can achieve the effect of light being magically transferred from one module to the other when tilting them. In short, its 2 components combined, a mercury tilt switch and a led. On tilting the module mercury inside small tube connect the switching point and make switch ON while tilting it to other side move the mercury and it disconnects the circuit and switch get OFF. The module operates on 5V DC supply.

So the magic in the name of this module is because when you tilt the switch, the led will turn on and off. And Of course, it is also possible to connect it to the NodeMCU.

Pin Connection with Arduino:
  1. G: GND
  2. +: 5v DC
  3. S: Arduino pin 8
  4. L: Arduino pin 9

Pin Connection with Node MCU:
  1. Connect G to a GND port of your NodeMCU
  2. Connect + to a 3.3v port of your NodeMCU
  3. Connect S to a digital port on your NodeMCU (in my example port D3)
  4. Connect L to a digital port on your NodeMCU (in my example port D5)

Arduino Example Code:-

In this Arduino sketch, well use two Switching modules to create the magic light cup effect. The mercury switches in each module provide a digital signal that is used to regulate the brightness of the LEDs using PWM. Tilting the modules will decrease the brightness on one module while increasing it on the other one, creating the illusion of light magically passing from one module to the other.

int ledPinA = 9;int switchPinA = 8;int switchStateA = 0;int ledPinB = 6;int switchPinB = 7;int switchStateB = 0;int brightness   = 0;void setup() {  pinMode(ledPinA, OUTPUT);   pinMode(ledPinB, OUTPUT);    pinMode(switchPinA, INPUT);   pinMode(switchPinB, INPUT);}void loop() {  switchStateA = digitalRead(switchPinA);  if (switchStateA == HIGH && brightness != 255)  {    brightness ++;  }   switchStateB = digitalRead(switchPinB);  if (switchStateB == HIGH && brightness != 0)  {    brightness --;  }   analogWrite(ledPinA, brightness);  //  A slow fade out  analogWrite(ledPinB, 255 - brightness);  // B slow bright up  delay(20);}


Operating Voltage Range

3.3V 5V

Length (mm)


Width (mm)


Height (mm)


Weight (gm)


Package Includes:

1 x Magic Cup Light Module

Write a review
Please login or register to review

* Product Images are shown for illustrative purposes only and may differ from actual product.

KY-027 Magic Cup Tilt Switch Module Compatible with Arduino and Nodemcu

  • Product Code: EC-4760
  • Availability: 28
  • Rs.47.00
  • (Excluding 18% GST)