IoTSpark - Learn IoT through real projects with Raspberry Pi, ESP32 and electronics

POPULAR

ESP32 IoT – Connecting Everything

6 chip variants, WiFi · BLE · Thread · Zigbee — compare and pick the right board for your project

Explore ESP32
62+
Projects
1k+
Members
3+
Groups

ESP32 Series

An affordable, powerful WiFi+BT microcontroller — the foundation for every IoT project

ESP32-CAM: Time-Lapse Camera for Plant Growth MonitoringIntermediate

ESP32-CAM: Time-Lapse Camera for Plant Growth Monitoring

ESP32-CAM periodically snaps photos (every 10 minutes by default) and saves them to an SD card as a sequence — frame_00001.jpg, frame_00002.jpg, and so on — ready to be stitched into a time-lapse video of plant growth, with a frame counter that survives resets.

ESP32-CAMtime-lapseSD-card
I
IoTSpark Maker
ESP32-CAM + PIR: Send Photo Alerts via Telegram on MotionAdvanced

ESP32-CAM + PIR: Send Photo Alerts via Telegram on Motion

An HC-SR501 PIR sensor triggers the ESP32-CAM to take a photo and send it instantly through the Telegram Bot API (binary sendPhoto, no intermediate upload) whenever motion is detected, with a cooldown to prevent spam.

ESP32-CAMPIRHC-SR501
I
IoTSpark Maker
ESP32 OTA over LAN (ArduinoOTA)Intermediate

ESP32 OTA over LAN (ArduinoOTA)

Flash ESP32 firmware over WiFi on the same LAN using the built-in ArduinoOTA library — no USB cable, no cloud server, no Internet required.

ESP32OTAArduinoOTA
I
IoTSpark Maker
ESP32 MQTT: Syncing Multiple Devices over a Public BrokerIntermediate

ESP32 MQTT: Syncing Multiple Devices over a Public Broker

Two ESP32 boards running the same firmware stay in sync (ON/OFF) via a retained MQTT topic on a public broker — press the button on either board and the LED on both updates.

ESP32MQTTMulti-device
I
IoTSpark Maker
ESP32 MQTT: QoS & Last Will Testament for Safe Disconnect HandlingIntermediate

ESP32 MQTT: QoS & Last Will Testament for Safe Disconnect Handling

Learn MQTT's three QoS levels (0/1/2) and the Last Will Testament mechanism through a real ESP32 demo: an LED shows connection status, and a button simulates a sudden disconnect so you can watch the broker automatically publish "offline".

ESP32MQTTQoS
I
IoTSpark Maker
ESP32 + Stepper 28BYJ-48 + ULN2003: Precise Stepper Motor ControlIntermediate

ESP32 + Stepper 28BYJ-48 + ULN2003: Precise Stepper Motor Control

Control a 28BYJ-48 stepper motor through a ULN2003 driver using an 8-step half-step sequence, rotating precisely by angle or step count — a foundation for turntables and automatic valve control.

esp32stepper28byj-48
I
IoTSpark Maker
ESP32 + DC Motor L298N: Controlling Speed and DirectionBeginner

ESP32 + DC Motor L298N: Controlling Speed and Direction

Control a DC motor's speed (PWM) and direction using an L298N driver on ESP32 — a foundation for robot cars, conveyor belts, and controllable fans.

esp32l298ndc-motor
I
IoTSpark Maker
ESP32 + E-Paper Display: A Power-Saving Screen for IoT DevicesIntermediate

ESP32 + E-Paper Display: A Power-Saving Screen for IoT Devices

Connect an ESP32 DevKit to a 2.13" SSD1680 SPI e-paper (e-ink) display and show periodically updated data using the GxEPD2 library, taking advantage of the display's ability to hold an image indefinitely with no continuous power — ideal for battery-powered IoT devices.

ESP32E-PaperE-Ink
I
IoTSpark Maker
ESP32 + ILI9341/ST7789 TFT Display: Real-Time Sensor GraphingIntermediate

ESP32 + ILI9341/ST7789 TFT Display: Real-Time Sensor Graphing

Connect an ESP32 DevKit to a color SPI TFT display to draw a real-time line graph updating from sensor data, using the Adafruit_GFX library.

ESP32TFTILI9341
I
IoTSpark Maker
ESP32 + OLED SSD1306 (I2C): Basic Sensor Data DisplayBeginner

ESP32 + OLED SSD1306 (I2C): Basic Sensor Data Display

Learn to connect a 0.96" I2C SSD1306 OLED display to an ESP32 DevKit and show real-time sensor data (temperature, humidity) using the Adafruit_SSD1306 library.

ESP32OLEDSSD1306
I
IoTSpark Maker

Raspberry Pi Series

From blinking an LED to a NAS server and AI camera — a full-featured embedded computer

Raspberry Pi + Button/LED: Intro to GPIO, Interrupts, and DebouncingBeginner

Raspberry Pi + Button/LED: Intro to GPIO, Interrupts, and Debouncing

An introduction to GPIO input/output on Raspberry Pi using a push button and an LED: basic digital read/write, handling interrupts (event detection), and software debouncing.

Raspberry PiGPIOButton
I
IoTSpark Maker
Raspberry Pi + Relay: Controlling Electrical Devices via GPIOBeginner

Raspberry Pi + Relay: Controlling Electrical Devices via GPIO

Use a 5V single-channel relay to switch electrical devices (lights, fans) on/off via Raspberry Pi's GPIO, with a safety watchdog that auto-shuts-off if left on too long.

Raspberry PiGPIORelay
I
IoTSpark Maker
Raspberry Pi + PIR: Basic Motion AlarmBeginner

Raspberry Pi + PIR: Basic Motion Alarm

Build a basic motion alarm on Raspberry Pi using an HC-SR501 PIR sensor, triggering an LED and buzzer when a person or object moves through its detection zone.

Raspberry PiGPIOPIR
I
IoTSpark Maker
Raspberry Pi Camera: Basic License Plate Recognition (ALPR)Intermediate

Raspberry Pi Camera: Basic License Plate Recognition (ALPR)

Uses a Raspberry Pi 4 + Camera Module v3 and OpenCV (Canny edge detection + contours) to locate a license plate using a geometric heuristic method — an intro step into computer vision, not a production-grade deep-learning ALPR system.

Raspberry PiALPRLicense Plate
I
IoTSpark Maker
Raspberry Pi Camera: Automatic QR Code/Barcode ScanningIntermediate

Raspberry Pi Camera: Automatic QR Code/Barcode Scanning

Uses a Raspberry Pi 4 + Camera Module v3 with the pyzbar library and OpenCV to automatically scan QR codes and common barcode formats (EAN-13, Code128, etc.) in real time, logging each scan with a timestamp.

Raspberry PiQR CodeBarcode
I
IoTSpark Maker
Raspberry Pi + OpenCV: People Counter (Object Detection & In/Out Counting)Intermediate

Raspberry Pi + OpenCV: People Counter (Object Detection & In/Out Counting)

Uses a Raspberry Pi 4 and Camera Module v3 with OpenCV's HOG people detector to count people crossing a virtual line, distinguishing in/out direction from each centroid's movement.

Raspberry PiOpenCVComputer Vision
I
IoTSpark Maker
Raspberry Pi + HC-SR04: Measuring Distance via GPIOBeginner

Raspberry Pi + HC-SR04: Measuring Distance via GPIO

Reads distance from 2–400cm using an HC-SR04 ultrasonic sensor over Raspberry Pi's GPIO, with a voltage divider protecting the 5V ECHO pin, using the RPi.GPIO library.

Raspberry PiGPIOHC-SR04
I
IoTSpark Maker
Raspberry Pi + Google Assistant SDK: Basic Voice AssistantIntermediate

Raspberry Pi + Google Assistant SDK: Basic Voice Assistant

Build a basic voice assistant on a Raspberry Pi 4 with the Google Assistant SDK (gRPC), asking and answering questions via a mic and I2S speaker, activated by a push button.

Raspberry PiGoogle Assistant SDKPython
I
IoTSpark Maker
Raspberry Pi + Text-to-Speech: Speaking Sensor Readings AloudIntermediate

Raspberry Pi + Text-to-Speech: Speaking Sensor Readings Aloud

Read temperature/humidity from a DHT22 sensor and speak it aloud through an I2S speaker on a Raspberry Pi 4, using pyttsx3/espeak-ng for fully offline speech synthesis.

Raspberry PiText-to-SpeechTTS
I
IoTSpark Maker
AI and IoT Project: Smart Waste SortingIntermediate

AI and IoT Project: Smart Waste Sorting

Use AI, a Raspberry Pi, and various sensors to build a device that recognizes objects and automatically sorts waste, helping raise environmental awareness.

AI and IoTRaspberry PiAI Waste Sorting
I
IoTSpark Maker

Complete IoT Projects

Complete IoT projects from hardware to software, ready for real-world deployment

Water Quality Monitoring SystemIntermediate

Water Quality Monitoring System

Build a water quality monitoring system that measures temperature, TDS, pH, and turbidity, shows an alert status, and can be extended to send real-time data over MQTT. Suited for monitoring fish tank, hydroponic, or water tank quality, or as a reference monitoring model. Note: readings from consumer-grade sensors do not replace certified testing equipment or lab analysis.

ESP32IoTWater Quality
I
IoTSpark Maker
Solar Energy Monitoring and Control System with ESP32Intermediate

Solar Energy Monitoring and Control System with ESP32

Build a low-voltage DC model using an ESP32 to measure solar voltage, current, and power, monitor a battery, and control a DC load over MQTT.

ESP32Solar EnergyMQTT
I
IoTSpark Maker
Smoke & Gas Leak Alarm Over 4G SIM — Automatic SMS + Phone Call AlertsIntermediate

Smoke & Gas Leak Alarm Over 4G SIM — Automatic SMS + Phone Call Alerts

ESP32 reads an MQ-2 sensor to detect smoke and gas leaks, and when the level crosses the threshold it automatically sends an SMS and then calls twice, two minutes apart, over a SIM A7680C 4G module.

ESP324G SIMA7680C
I
IoTSpark Maker
Home Security System: Camera + App Alerts on Intrusion DetectionIntermediate

Home Security System: Camera + App Alerts on Intrusion Detection

An ESP32-CAM paired with a PIR sensor: it only takes a photo and fires a webhook/Telegram-style alert when it genuinely detects motion, with debounce logic to prevent false alarms.

ESP32-CAMPIRCamera
I
IoTSpark Maker
Smart RFID Door Lock + App ControlIntermediate

Smart RFID Door Lock + App Control

An ESP32 with an RC522 RFID reader unlocks the door with a valid card, while also hosting a local HTTP API for remote unlocking from an app — both paths share the same lock logic and auto-relock after a few seconds.

ESP32RFIDRC522
I
IoTSpark Maker
Automatic Smart Lighting Based on Ambient Light and ScheduleIntermediate

Automatic Smart Lighting Based on Ambient Light and Schedule

ESP32 automatically turns an LED/relay light on or off based on an LDR light sensor and an NTP-synced schedule — it only turns on when it's dark out and within the configured time window.

ESP32LDRRelay
I
IoTSpark Maker
Pond Water Level Monitor for AquacultureIntermediate

Pond Water Level Monitor for Aquaculture

Uses an HC-SR04 ultrasonic sensor on an ESP32 to measure aquaculture pond water level in real time, with a local buzzer alert when the level is too low or too high.

esp32hc-sr04water-level
I
IoTSpark Maker
Automatic Scheduled Pet/Livestock Feeder over IoTIntermediate

Automatic Scheduled Pet/Livestock Feeder over IoT

Build an automatic feeder using an ESP32 + SG90 servo as the food-dispensing mechanism, paired with a DS3231 RTC module to keep feeding times accurate even without WiFi.

esp32servortc-ds3231
I
IoTSpark Maker
Greenhouse Monitoring: Auto-Adjusting Fan/Shade Based on Temperature, Humidity, and LightIntermediate

Greenhouse Monitoring: Auto-Adjusting Fan/Shade Based on Temperature, Humidity, and Light

Uses an ESP32 + DHT22 + LDR light sensor to monitor greenhouse temperature, humidity, and light, automatically switching on a cooling fan when it's too hot and closing a shade when sunlight is intense — via two relays, saving energy.

esp32greenhousedht22
I
IoTSpark Maker
Solar Panel Performance DashboardIntermediate

Solar Panel Performance Dashboard

An ESP32 measures a solar panel's output voltage and current with an INA219 sensor, displaying the readings in real time on a local OLED screen and a simple web dashboard hosted right on the ESP32.

ESP32INA219Solar Power
I
IoTSpark Maker

Foundational Knowledge

Electronics, programming, and theory — a solid foundation for every IoT engineer

PCB Design Rules to Avoid Signal Noise in IoT CircuitsIntermediate

PCB Design Rules to Avoid Signal Noise in IoT Circuits

Core PCB layout rules for reducing signal noise in IoT circuits — ground planes, trace spacing, decoupling capacitors, and WiFi antenna keepout zones — illustrated with an ESP32 + SHT31 (I2C) circuit.

KiCadPCBSignal Integrity
I
IoTSpark Maker
Understanding Gerber Files and Ordering PCBs from a Fab HouseIntermediate

Understanding Gerber Files and Ordering PCBs from a Fab House

What Gerber layers are, how to check Gerber files before sending them out, and the general process for ordering PCBs from a fab house — illustrated with a Gerber set exported from an ESP32 + DHT22 circuit.

KiCadGerberPCB
I
IoTSpark Maker
Designing Custom Footprints in KiCadIntermediate

Designing Custom Footprints in KiCad

How to build a custom footprint in KiCad's Footprint Editor for a part that isn't in the standard library, illustrated with a real footprint for the DHT22 sensor module on an ESP32 circuit.

KiCadFootprintFootprint Editor
I
IoTSpark Maker
Managing Libraries and Versions for IoT ProjectsIntermediate

Managing Libraries and Versions for IoT Projects

Why pinning library versions matters for IoT projects — using the Arduino Library Manager and PlatformIO's lib_deps to lock the DHT sensor library to a known-good version, and avoid the classic "works on my machine" bug.

Library Managerlib_depsversion pinning
I
IoTSpark Maker
Advanced Arduino IDE: Effective Debugging with the Serial MonitorBeginner

Advanced Arduino IDE: Effective Debugging with the Serial Monitor

Debugging techniques for ESP32 firmware using the Serial Monitor and Serial Plotter: placing logs where they matter, reading compiler errors, tracking DHT22 sensor values in real time, and debugging tricks that get overlooked in the Arduino IDE.

DebugSerial MonitorSerial Plotter
I
IoTSpark Maker
VS Code + PlatformIO: A Professional Development Environment for IoTBeginner

VS Code + PlatformIO: A Professional Development Environment for IoT

Moving from the Arduino IDE to VS Code + PlatformIO: understanding the platformio.ini/src/lib project structure, building the same DHT22 temperature/humidity firmware on ESP32, and why professionals reach for PlatformIO on real IoT projects.

PlatformIOVS CodeESP32
I
IoTSpark Maker
KiCad: From Schematic to a Finished PCB — the Full Process for Ordering from a Fab HouseIntermediate

KiCad: From Schematic to a Finished PCB — the Full Process for Ordering from a Fab House

Going from an ESP32 + DHT22 breadboard prototype to a finished PCB: drawing the schematic in Eeschema, assigning footprints, laying it out in the PCB Editor, running DRC, and exporting Gerbers to order from a fab house.

KiCadPCBSchematic
I
IoTSpark Maker
Debugging Basic I2C/SPI CommunicationBeginner

Debugging Basic I2C/SPI Communication

I2C/SPI debugging techniques without specialized test equipment: an I2C bus scanner, periodic health-checks, and a diagnostic checklist for common errors with the ESP32 DevKit.

debugI2CSPI
I
IoTSpark Maker
I2C vs SPI vs UART Compared: Which Protocol, When?Intermediate

I2C vs SPI vs UART Compared: Which Protocol, When?

A direct comparison table of I2C, SPI, and UART (wire count, speed, device selection) plus an example running all 3 protocols at once on a single ESP32 DevKit board.

I2CSPIUART
I
IoTSpark Maker
The 1-Wire Protocol: Principles and Application (DS18B20)Beginner

The 1-Wire Protocol: Principles and Application (DS18B20)

The 1-Wire protocol explained (a single-wire open-drain bus, 64-bit ROM addressing), with hands-on DS18B20 temperature reading on an ESP32 DevKit and a 4.7kΩ pull-up resistor.

1-WireprotocolESP32
I
IoTSpark Maker