Free Shipping over ₹1199

30+ Challenges

Challenge 1: LED Blink Timer

  • Objective: Blink an LED every 2 seconds using ESP32.
  • Key Concepts: pinMode(), digitalWrite(), delay()
  • Hints: Use GPIO 2 and toggle its state with delay(2000).

Challenge 2: Rainbow Effect on WS2812 LED

  • Objective: Create a rainbow animation on a WS2812 RGB LED.
  • Key Concepts: HSV to RGB conversion, Adafruit_NeoPixel
  • Hints: Use ColorHSV() and change hue inside a loop.

Challenge 3: LED Breathing Effect

  • Objective: Create a smooth fade-in/fade-out LED effect.
  • Key Concepts: PWM, Easing functions (e.g., cosine)
  • Hints: Use ledcWrite() and gradually change brightness in a loop.

Challenge 4: Bluetooth LED Control

  • Objective: Control LED ON/OFF using a mobile app via Bluetooth.
  • Key Concepts: Serial Bluetooth, Data parsing
  • Hints: Use SerialBT.begin() and SerialBT.read().

Challenge 5: ESP32 Wi-Fi Network Scanner

  • Objective: Scan and list all nearby Wi-Fi networks.
  • Key Concepts: WiFi scanning, SSID, RSSI
  • Hints: Use WiFi.scanNetworks() and loop through results.

Challenge 6: Servo Motor Control from Web

  • Objective: Control servo motor angle via a webpage slider.
  • Key Concepts: PWM, WebServer, Input parsing
  • Hints: Send angle using /set?angle=90 format.

Challenge 7: Remote-Controlled Buzzer Alarm

  • Objective: Trigger buzzer from mobile via Bluetooth or Wi-Fi.
  • Key Concepts: Serial/Bluetooth input, Sound output
  • Hints: Wait for specific input character to activate buzzer.

Challenge 8: Real-Time Data Chart via WebSocket

  • Objective: Show real-time sensor graph on a browser.
  • Key Concepts: WebSocket, JavaScript charting
  • Hints: Use ESPAsyncWebServer and Chart.js.

Challenge 9: Firebase Data Logger

  • Objective: Send temperature/humidity data to Firebase in real-time.
  • Key Concepts: Firebase REST API, JSON formatting
  • Hints: Use HTTP POST requests with Firebase project credentials.

Challenge 10: Gesture-controlled LED

  • Objective: Use accelerometer to control LED states with tilt.
  • Key Concepts: I2C sensor, Angle calculation
  • Hints: Compare X, Y axes to detect tilt direction.

Challenge 11: Weather Station with DHT + BMP180

  • Objective: Display temperature, humidity & pressure on OLED.
  • Key Concepts: Sensor fusion, I2C bus sharing.
  • Hints: Use Wire.begin() and multiple sensor libraries.

Challenge 12: ESP-NOW Peer Communication

  • Objective: Make two ESP32 boards talk wirelessly without Wi-Fi.
  • Key Concepts: ESP-NOW protocol
  • Hints: Setup master/slave and test sending small messages.

Challenge 13: Smart Door Lock with Password

  • Objective: Create a keypad-based password system to unlock a relay or servo lock.
  • Key Concepts: Keypad input, password matching, conditional output
  • Hints: Use Keypad.h library and compare input string to predefined password.

Challenge 14: IoT Water Tank Monitor

  • Objective: Monitor water level using ultrasonic sensor and show data on a web dashboard.
  • Key Concepts: Ultrasonic distance, WebServer, Data visualization
  • Hints: Use NewPing or Ultrasonic.h and map level to percentages.

Challenge 15: Light-Activated Curtain (with Servo)

  • Objective: Use LDR to detect sunlight and rotate servo to open or close curtains.
  • Key Concepts: Analog sensing, Servo control
  • Hints: Define light threshold and trigger servo positions accordingly.

Challenge 16: IoT-based Plant Watering System

  • Objective: Automatically water a plant when soil moisture is low.
  • Key Concepts: Relay control, Analog input, Automation logic
  • Hints: Trigger pump via relay when analogRead() drops below threshold.

Challenge 17: Ultrasonic Distance Meter with OLED

  • Objective: Measure distance using an ultrasonic sensor and show it in cm on an OLED.
  • Key Concepts: PulseIn, Distance calculation, I2C display
  • Hints: distance = (duration / 2) / 29.1;

Challenge 18: IR Obstacle Detection with LED Alert

  • Objective: Detect obstacles using an IR sensor and turn on an LED when something is detected.
  • Key Concepts: Digital input reading, IR sensor logic (LOW = detection), controlling outputs with ESP32.
  • Hint: Connect IR OUT to GPIO, use digitalRead() to check for LOW signal, and trigger LED accordingly.

Challenge 19: IR Motion Alert System

  • Objective: Build a motion alert system using an IR sensor and a buzzer that triggers when movement is detected.
  • Key Concepts: IR sensor detection, digital output (buzzer), conditional control flow.
  • Hint: Connect the IR sensor’s OUT pin to a digital input pin on the ESP32. Use digitalRead() to check motion and trigger the buzzer using digitalWrite().

Challenge 20: IR Sensor-Based Counter with OLED Display

  • Objective: Count how many times someone passes in front of the IR sensor and show the count on an OLED display.
  • Key Concepts: IR sensor input, counter logic, I2C communication with OLED.
  • Hint: Increment a counter when motion is detected (digitalRead() from IR sensor) and update the display using the Adafruit SSD1306 library.

Challenge 21: Raindrop Sensor Alert System

  • Objective: Create a system that detects raindrops using a raindrop sensor and alerts the user with a buzzer and an LED.
  • Key Concepts: Analog signal reading, conditional logic, buzzer and LED output control.
  • Hint: Use analogRead() on the sensor pin and activate the buzzer/LED when moisture crosses a threshold value.

Challenge 22: Multi-Tone Buzzer Alarm System

  • Objective: Build a system that plays different tones on a buzzer based on sensor input (e.g., motion or touch).
  • Key Concepts: PWM control with ledcWriteTone(), conditional statements, tone sequencing.
  • Hint: Use different frequencies for each condition and control the buzzer using ledcWriteTone(channel, frequency) and ledcWriteTone(channel, 0) to turn it off.

Challenge 23: Melody Player with Push Button Control

  • Objective: Create a system where pressing a button plays a short melody on a passive buzzer.
  • Key Concepts: Arrays, tone frequencies, ledcWriteTone(), button debounce.
  • Hint: Store note frequencies and durations in arrays and use a loop to play them when the button is pressed.

Challenge 24: Buzzer-Based Password Entry System

  • Objective: Create a system where the user presses a button in a specific pattern (like Morse code) to unlock something, with the buzzer providing feedback.
  • Key Concepts: Button input detection, timing for short/long presses, buzzer tone feedback, state tracking.
  • Hint: Detect short vs. long button presses using millis() and give beep feedback using different tones.

Challenge 25: Scrolling Text on 8×8 LED Matrix Display

  • Objective: Display a custom message scrolling from right to left on an 8×8 LED matrix using the MAX7219 driver.
  • Key Concepts: LED matrix addressing, text rendering, timed scrolling animation.
  • Hint: Use the LedControl or MD_MAX72XX library and a timer/delay to shift characters one column at a time across the display.

Challenge 26: Momentary Button-Controlled LED Brightness

  • Objective: Use a push button to increase the brightness of an LED in steps with each press (e.g., 0%, 25%, 50%, 75%, 100%).
  • Key Concepts: PWM (analog output), digital input, state tracking.
  • Hint: Use analogWrite() (or ledcWrite() for ESP32) and a counter to cycle through brightness levels.

Challenge 27: Button-Triggered LED Fade Sequence

  • Objective: Press the momentary push button once to start a smooth fade-in and fade-out effect on an LED.
  • Key Concepts: Button edge detection, PWM fading using ledcWrite(), loop control for animations.
  • Hint: Detect the button press using digitalRead() and lastState, then use a for loop to increment and decrement brightness gradually.

Challenge 28: Toggle Multiple LEDs with Single Button

  • Objective: Use a single momentary push button to cycle through and light up three different LEDs in sequence: first LED, second LED, third LED, then all OFF.
  • Key Concepts: Button state change detection, using a counter to track LED states, digital output control.
  • Hint: Use a variable to count button presses and switch-case or if-else blocks to manage which LED turns on.

Challenge 29: ESP32 Ambient Light Reactive Display

  • Objective: Use an LDR (Light Dependent Resistor) to adjust the brightness of an LED or OLED display based on ambient light.
  • Key Concepts: Analog input reading, mapping values, PWM brightness control.
  • Hint: Use analogRead() from the LDR, map it using map() to 0–255, and control brightness with ledcWrite() or display.setContrast().

Challenge 30: ESP32 Temperature Alert System

  • Objective: Use a DHT11 or DHT22 sensor to monitor temperature and trigger a buzzer when a certain threshold is crossed.
  • Key Concepts: Reading temperature data, conditional logic, digital output control.
  • Hint: Use the DHT library to read temperature and use digitalWrite() to control the buzzer based on a threshold (e.g., >30°C).

    Leave a Reply

    Your email address will not be published. Required fields are marked *

    Need Help?