Over 40 Fully Tested ESP32 Projects Using Arduino IDE and the LVGL Graphics Library
This bundle includes the ESP32 Cheap Yellow Display (CYD) – a compact development board combining a standard ESP32 microcontroller with a 320x240 pixel TFT color display. The board also features multiple connectors for GPIO, serial communication (TX/RX), power, and ground. The built-in display is a major advantage, allowing users to create complex, graphics-based projects without the need for external LCDs or displays.
The accompanying book introduces the CYD board's hardware and on-board connectors in detail. It provides a range of beginner to intermediate-level projects developed using the popular Arduino IDE 2.0. Both basic graphics functions and the powerful LVGL graphics library are covered, with practical projects illustrating each approach.
All included projects have been fully tested and are ready to use. The book provides block diagrams, circuit schematics, complete code listings, and step-by-step explanations. With the LVGL library, readers can create modern, full-color graphical interfaces using widgets such as buttons, labels, sliders, calendars, keyboards, charts, tables, menus, animations, and more.
ESP32 Cheap Yellow Display Board
This development board (also known as "Cheap Yellow Display") is powered by the ESP-WROOM-32, a dual-core MCU with integrated Wi-Fi and Bluetooth capabilities. It operates at a main frequency of up to 240 MHz, with 520 KB SRAM, 448 KBROM, and a 4 MB Flash memory. The board features a 2.8-inch display with a resolution of 240x320 and resistive touch.
Furthermore, the board includes a backlight control circuit, touch control circuit, speaker drive circuit, photosensitive circuit, and RGB-LED control circuit. It also provides a TF card slot, serial interface, DHT11 temperature and humidity sensor interface, and additional IO ports.
The module supports development in Arduino IDE, ESP-IDE, MicroPython, and Mixly.
Applications
Image transmission for Smart Home device
Wireless monitoring
Smart agriculture
QR wireless recognition
Wireless positioning system signal
And other IoT applications
Specifications
Microcontroller
ESP-WROOM-32 (Dual-core MCU with integrated Wi-Fi and Bluetooth)
Frequency
Up to 240 MHz (computing power is up to 600 DMIPS)
SRAM
520 KB
ROM
448 KB
Flash
4 MB
Operating voltage
5 V
Power consumption
approx. 115 mA
Display
2.8-inch color TFT screen (240 x 320)
Touch
Resistive Touch
Driver chip
ILI9341
Dimensions
50 x 86 mm
Weight
50 g
Downloads
GitHub
Contents of the Bundle
The ESP32 Cheap Yellow Display Book (normal price: €35)
ESP32 Cheap Yellow Display Board (normal price: €25)
1x ESP32 Dev Board with 2.8" Display and acrylic Shell
1x Touch pen
1x Connector cable
1x USB cable
Projects Using Arduino IDE and the LVGL Graphics Library
The ESP32 is probably one of the most popular microcontrollers used by many people, including students, hobbyists, and professional engineers. Its low cost, coupled with rich features makes it a popular device to use in many projects. Recently, a board called the ESP32 Cheap Yellow Display (CYD for short) is available from its manufacturers. The board includes a standard ESP32 microcontroller together with a 320x240 pixel TFT display. Additionally, the board provides several connectors for interfaces such as GPIO, serial port (TX/RX), power and Ground. The inclusion of a TFT display is a real advantage as it enables users to design complex graphics-based projects without resorting to an external LCD or graphics displays.
The book describes the basic hardware of the ESP32 CYD board and provides details of its on-board connectors. Many basic, simple, and intermediate-level projects are given in the book based on the ESP32 CYD, using the highly popular Arduino IDE 2.0 integrated development environment. The use of both the basic graphics functions and the use of the popular LVGL graphics library are discussed in the book and projects are given that use both types of approaches.
All the projects given in the book have been tested and are working. The block diagram, circuit diagram, and the complete program listings and program descriptions of all the projects are given with explanations. Readers can use the LVGL graphics library to design highly popular eye-catching full-color graphics projects using widgets such as buttons, labels, calendars, keypads, keyboards, message boxes, spinboxes, sliders, charts, tables, menus, bars, switches, drop-down lists, animations, and many more widgets.
Projects Using Arduino IDE and the LVGL Graphics Library
The ESP32 is probably one of the most popular microcontrollers used by many people, including students, hobbyists, and professional engineers. Its low cost, coupled with rich features makes it a popular device to use in many projects. Recently, a board called the ESP32 Cheap Yellow Display (CYD for short) is available from its manufacturers. The board includes a standard ESP32 microcontroller together with a 320x240 pixel TFT display. Additionally, the board provides several connectors for interfaces such as GPIO, serial port (TX/RX), power and Ground. The inclusion of a TFT display is a real advantage as it enables users to design complex graphics-based projects without resorting to an external LCD or graphics displays.
The book describes the basic hardware of the ESP32 CYD board and provides details of its on-board connectors. Many basic, simple, and intermediate-level projects are given in the book based on the ESP32 CYD, using the highly popular Arduino IDE 2.0 integrated development environment. The use of both the basic graphics functions and the use of the popular LVGL graphics library are discussed in the book and projects are given that use both types of approaches.
All the projects given in the book have been tested and are working. The block diagram, circuit diagram, and the complete program listings and program descriptions of all the projects are given with explanations. Readers can use the LVGL graphics library to design highly popular eye-catching full-color graphics projects using widgets such as buttons, labels, calendars, keypads, keyboards, message boxes, spinboxes, sliders, charts, tables, menus, bars, switches, drop-down lists, animations, and many more widgets.
At the core of this module is ESP32-S2, an Xtensa 32-bit LX7 CPU that operates at up to 240 MHz. The chip has a low-power co-processor that can be used instead of the CPU to save power while performing tasks that do not require much computing power, such as monitoring of peripherals. ESP32-S2 integrates a rich set of peripherals, ranging from SPI, I²S, UART, I²C, LED PWM, TWAITM, LCD, Camera interface, ADC, DAC, touch sensor, temperature sensor, as well as up to 43 GPIOs. It also includes a full-speed USB On-The-Go (OTG) interface to enable USB communication.
Features
MCU
ESP32-S2 embedded, Xtensa single-core 32-bit LX7 microprocessor, up to 240 MHz
128 KB ROM
320 KB SRAM
16 KB SRAM in RTC
WiFi
802.11 b/g/n
Bit rate: 802.11n up to 150 Mbps
A-MPDU and A-MSDU aggregation
0.4 µs guard interval support
Center frequency range of operating channel: 2412 ~ 2484 MHz
Hardware
Interfaces: GPIO, SPI, LCD, UART, I²C, I²S, Camera interface, IR, pulse counter, LED PWM, TWAI (compatible with ISO 11898-1), USB OTG 1.1, ADC, DAC, touch sensor, temperature sensor
40 MHz crystal oscillator
4 MB SPI flash
Operating voltage/Power supply: 3.0 ~ 3.6 V
Operating temperature range: –40 ~ 85 °C
Dimensions: 18 × 31 × 3.3 mm
Applications
Generic Low-power IoT Sensor Hub
Generic Low-power IoT Data Loggers
Cameras for Video Streaming
Over-the-top (OTT) Devices
USB Devices
Speech Recognition
Image Recognition
Mesh Network
Home Automation
Smart Home Control Panel
Smart Building
Industrial Automation
Smart Agriculture
Audio Applications
Health Care Applications
Wi-Fi-enabled Toys
Wearable Electronics
Retail & Catering Applications
Smart POS Machines
Complete ESP32 microcontroller learning course featuring a custom-designed MCU expansion board, hands-on projects, and a comprehensive online guide – perfect for learning hardware, programming, and connectivity step by step.
A Practical Introduction to Embedded Systems with the ESP32
This course is designed for readers who are new to embedded systems and looking for a structured, example-driven way to get started. If you’ve explored general-purpose electronics or Arduino-based materials but found them too broad or lacking in practical guidance, this course offers a more focused alternative.
Using the "ESP32 by Example Kit" (EEK) – a compact and affordable set of components featuring LEDs, sensors, an OLED display, and a motion processor – you’ll work with a consistent hardware setup throughout the course. Once assembled, the EEK stays mostly unchanged, allowing you to concentrate on learning and experimentation without constant reconfiguration.
Topics include:
Understanding and programming the ESP32 microcontroller
Writing and deploying code with the Arduino IDE
Exploring cyber-physical systems, culminating in basic drone control
No prior experience with Arduino or embedded development is required. Each section features hands-on examples and mini-projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the book’s examples but also to build on them with your own ideas and applications.
Whether you're interested in embedded programming, interactive systems, or introductory drone control, this course provides a clear and practical path to getting started.
What you'll learn?
Embedded programming with the ESP32 using the Arduino IDE
Real-time sensor input and control via buttons, LEDs, and displays
Gesture-based interaction using the MPU6050 motion sensor
Bluetooth gamepad integration and drone control simulation
Wi-Fi and UDP networking, local web servers, and NTP
MQTT communication with cloud platforms like AWS and Arduino IoT
How to build and deploy full-featured IoT systems
Perfect for
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
Developers moving beyond Raspberry Pi or Arduino basics
Support when you need it
Access to instructors via Elektor Academy
Helpful community forums and essential documentation
What's inside the Box (Course)?
New 384-page book: "ESP32 by Example" (valued at €45)
Elektor ESP32 by Example Kit (EEK): Microcontroller Extension Board with 6 LEDs and 6 Buttons installed + OLED Display, MPU6050 3-axis Accelerometer and Gyroscope Module (valued at €40)
Adafruit HUZZAH32 – ESP32 Feather MCU Board (valued at €30)
ESP32 Cheap Yellow Display Board (valued at €25)
DHT11 Humidity & Temperature Sensor
Breadboard
Jumper wires
USB-C cable
Access to the full course on the Elektor Academy Pro Learning Platform
Instructional videos
Downloadable Arduino project files for every module
Learning Material (of this Box/Course)
▶ Click here to open
Module 1 – Getting Started with the ESP32 & EEK
Module 2 – Digital Output – LEDs and GPIO
Module 3 – Switches and Input Handling
Module 4 – EEK and PWM
Module 5 – OLED and Display Output
Module 6 – Motion Sensing with the MPU6050
Module 7 – Capstone Project (EEK in Action)
Module 8 – WiFi and Web Control with ESP32
Module 9 – Cloud Concepts using EEK
Module 10 – Hands-on: Arduino IoT Cloud and EEK
Module 11 – BlueTooth and EEK GamePad Integration
Module 12 – Why Drones?
Module 13 – Drone Simulator Concepts
Module 14 – Simple Drone Flight Control
Module 15 – Real-Time Drone Flight Control
Module 16 – Drone Control Mini-Projects
Module 17 – Middleware and Python Scripting
Module 18 – Python Applications for Drone Control
Module 19 – Capstone EEK Control Project and Presentation
About the Author
Dr. Jim Solderitsch is an educator, software architect, systems developer, and cybersecurity researcher with a focus on cyber-physical systems. He currently serves as an Adjunct Professor in Computing Sciences at Villanova University in Pennsylvania.
What is Elektor Academy Pro?
Elektor Academy Pro delivers specialized learning solutions designed for professionals, engineering teams, and technical experts in the electronics and embedded systems industry. It enables individuals and organizations to expand their practical knowledge, enhance their skills, and stay ahead of the curve through high-quality resources and hands-on training tools.
From real-world projects and expert-led courses to in-depth technical insights, Elektor empowers engineers to tackle today’s electronics and embedded systems challenges. Our educational offerings include Academy Books, Pro Boxes, Webinars, Conferences, and industry-focused B2B magazines – all created with professional development in mind.
Whether you're an engineer, R&D specialist, or technical decision-maker, Elektor Academy Pro bridges the gap between theory and practice, helping you master emerging technologies and drive innovation within your organization.
The Elektor ESP32 Energy Meter is a device designed for real-time energy monitoring and smart home integration. Powered by the ESP32-S3 microcontroller, it offers robust performance with modular and scalable features.
The device uses a 220 V-to-12 V step-down transformer for voltage sampling, ensuring galvanic isolation and safety. Its compact PCB layout includes screw-type terminal blocks for secure connections, a Qwiic connector for additional sensors, and a programming header for direct ESP32-S3 configuration. The energy meter is compatible with single-phase and three-phase systems, making it adaptable for various applications.
The energy meter is simple to set up and integrates with Home Assistant, offering real-time monitoring, historical analytics, and automation capabilities. It provides accurate measurements of voltage, current, and power, making it a valuable tool for energy management in homes and businesses.
Features
Comprehensive Energy Monitoring: Get detailed insights into your energy usage for smarter management and cost savings.
Customizable Software: Tailor functionality to your needs by programming and integrating custom sensors.
Smart Home Ready: Compatible with ESPHome, Home Assistant, and MQTT for full Smart Home integration.
Safe & Flexible Design: Operates with a 220 V-to-12 V step-down transformer and features a pre-assembled SMD board.
Quick Start: Includes one Current Transformer (CT) sensor and access to free setup resources.
Specifications
Microcontroller
ESP32-S3-WROOM-1-N8R2
Energy Metering IC
ATM90E32AS
Status Indicators
4x LEDs for power consumption indication2x Programmable LEDs for custom status notifications
User Input
2x Push buttons for user control
Display Output
I²C OLED display for real-time power consumption visualization
Input Voltage
110/220 V AC (via step-down transformer)
Input Power
12 V (via step-down transformer or DC input)
Clamp Current Sensor
YHDC SCT013-000 (100 A/50 mA) included
Smart Home Integration
ESPHome, Home Assistant, and MQTT for seamless connectivity
Connectivity
Header for programming, Qwiic for sensor expansion
Applications
Supports single-phase and three-phase energy monitoring systems
Dimensions
79.5 x 79.5 mm
Included
1x Partly assembled board (SMDs are pre-mounted)
2x Screw terminal block connectors (not mounted)
1x YHDC SCT013-000 current transformer
Required
Power transformer not included
Downloads
Datasheet (ESP32-S3-WROOM-1)
Datasheet (ATM90E32AS)
Datasheet (SCT013-000)
Frequently Asked Questions (FAQ)
From Prototype to Finished Product
What started as an innovative project to create a reliable and user-friendly energy meter using the ESP32-S3 microcontroller has evolved into a robust product. Initially developed as an open-source project, the ESP32 Energy Meter aimed to provide precise energy monitoring, smart home integration and more. Through meticulous hardware and firmware development, the energy meter now stands as a compact, versatile solution for energy management.
At the core of this module is ESP32-S2, an Xtensa® 32-bit LX7 CPU that operates at up to 240 MHz. The chip has a low-power co-processor that can be used instead of the CPU to save power while performing tasks that do not require much computing power, such as monitoring of peripherals. ESP32-S2 integrates a rich set of peripherals, ranging from SPI, I²S, UART, I²C, LED PWM, TWAITM, LCD, Camera interface, ADC, DAC, touch sensor, temperature sensor, as well as up to 43 GPIOs. It also includes a full-speed USB On-The-Go (OTG) interface to enable USB communication.FeaturesMCU
ESP32-S2 embedded, Xtensa® single-core 32-bit LX7 microprocessor, up to 240 MHz
128 KB ROM
320 KB SRAM
16 KB SRAM in RTC
WiFi
802.11 b/g/n
Bit rate: 802.11n up to 150 Mbps
A-MPDU and A-MSDU aggregation
0.4 µs guard interval support
Center frequency range of operating channel: 2412 ~ 2484 MHz
Hardware
Interfaces: GPIO, SPI, LCD, UART, I²C, I²S, Camera interface, IR, pulse counter, LED PWM, TWAI (compatible with ISO 11898-1), USB OTG 1.1, ADC, DAC, touch sensor, temperature sensor
40 MHz crystal oscillator
4 MB SPI flash
Operating voltage/Power supply: 3.0 ~ 3.6 V
Operating temperature range: –40 ~ 85 °C
Dimensions: 18 × 31 × 3.3 mm
Applications
Generic Low-power IoT Sensor Hub
Generic Low-power IoT Data Loggers
Cameras for Video Streaming
Over-the-top (OTT) Devices
USB Devices
Speech Recognition
Image Recognition
Mesh Network
Home Automation
Smart Home Control Panel
Smart Building
Industrial Automation
Smart Agriculture
Audio Applications
Health Care Applications
Wi-Fi-enabled Toys
Wearable Electronics
Retail & Catering Applications
Smart POS Machines
ESP32-C3-WROOM-02U is a general-purpose Wi-Fi and Bluetooth LE module. The rich set of peripherals and high performance make the module an ideal choice for smart homes, industrial automation, health care, consumer electronics, etc.
ESP32-C3-WROOM-02U features an external SPI flash and comes with a connector for an external antenna.
ESP32-C3-WROOM-02U has an operating ambient temperature option of –40∼85°C, embedded with the ESP32-C3 chip. ESP32-C3 has a 32-bit RISC-V single-core processor. It integrates a rich set of peripherals, ranging from UART, I²C, I²S, remote control peripheral, LED PWM controller, general DMA controller, TWAI controller, USB Serial/JTAG controller, temperature sensor, ADC, etc. It also includes SPI, Dual SPI and Quad SPI interfaces.
Features
Flash: 4 MB (Quad SPI)
Dimensions: 18.0 x 20.0 x 3.2 mm
Downloads
Datasheet
Practical Multitasking Fundamentals
Programming embedded systems is difficult because of resource constraints and limited debugging facilities. Why develop your own Real-Time Operating System (RTOS) as well as your application when the proven FreeRTOS software is freely available? Why not start with a validated foundation?
Every software developer knows that you must divide a difficult problem into smaller ones to conquer it. Using separate preemptive tasks and FreeRTOS communication mechanisms, a clean separation of functions is achieved within the entire application. This results in safe and maintainable designs.
Practicing engineers and students alike can use this book and the ESP32 Arduino environment to wade into FreeRTOS concepts at a comfortable pace. The well-organized text enables you to master each concept before starting the next chapter. Practical breadboard experiments and schematics are included to bring the lessons home. Experience is the best teacher.
Each chapter includes exercises to test your knowledge. The coverage of the FreeRTOS Application Programming Interface (API) is complete for the ESP32 Arduino environment. You can apply what you learn to other FreeRTOS environments, including Espressif’s ESP-IDF. The source code is available from GitHub. All of these resources put you in the driver’s seat when it is time to develop your next uber-cool ESP32 project.
What you will learn:
How preemptive scheduling works within FreeRTOS
The Arduino startup “loopTask”
Message queues
FreeRTOS timers and the IDLE task
The semaphore, mutex, and their differences
The mailbox and its application
Real-time task priorities and its effect
Interrupt interaction and use with FreeRTOS
Queue sets
Notifying tasks with events
Event groups
Critical sections
Task local storage
The gatekeeper task
A low-power, open source, 2.7-inch IoT display powered by an ESP32-S2 module and featuring SHARP's Memory-in-Pixel (MiP) screen technology
The Newt is a battery-powered, always-on, wall-mountable display that can go online to retrieve weather, calendars, sports scores, to-do lists, quotes…really anything on the Internet! It is powered by an ESP32-S2 microcontroller that you can program with Arduino, CircuitPython, MicroPython, or ESP-IDF. It's perfect for makers:
Sharp’s Memory-in-Pixel (MiP) technology avoids the slow refresh times associated with E-Ink displays
A real-time clock (RTC) was added to support timers and alarms
The Newt was designed with battery operation in mind; every component on the board was chosen for its ability to operate at low power.
Newt was designed to operate 'untethered,' which means it can be mounted in places where a power cord would be inconvenient, for example a wall, refrigerator, mirror, or dry-erase board. With the optional stand, desks, shelves, and nightstands are also good options.
Newt is open source, and all design files and libraries are available for review, use, and modification. However, doing that is not required. Each Newt is delivered with working code with the following features:
Current weather details
Hourly and daily weather forecast
Alarm
Timer
Inspirational quotes
Air-quality forecast
Habit calendar
Pomodoro timer
Oblique Strategy cards
Only following the Wi-Fi provisioning instructions is needed to get started. No app downloads are required.
Specifications
Display
Sharp Memory LCD
Screen Size
2.7 inch
Resolution
240 x 400
Deep Sleep Current
30 uA
Refresh Rate
< 0.001 s
Periodic Screen Refresh Required
No
Input Buttons
10 capacitive pads, 1 push button
RTC included
Yes
Speaker included
Yes
Power Input
USB Type-C
Battery included
No
Programming Languages
Arduino, CircuitPython, ESP IDF, MicroPython
Dimensions
91 x 61 x 9 mm
Microcontroller
Espressif ESP32-S2-WROVER Module with 4 MB flash and 2 MB PSRAM
Wi-Fi capable
Supports Arduino, MicroPython, CircuitPython, and ESP-IDF
Deep sleep current as low as 25 μA
Display
2.7-inch, 240 x 400 pixel MiP LCD
Capable of delivering high-contrast, high-resolution, low-latency content with ultra-low power consumption
Reflective mode leverages ambient light to eliminate the need for a backlight
Time Keeping, Timers, and Alarms
Micro Crystal RV-3028-C7 RTC
Optimized for extreme low-power consumption (45 μA)
Able to simultaneously manage a periodic timer, a countdown timer, and an alarm
Hardware interrupt for timers and alarms
43 bytes of non-volatile user memory, 2 bytes of user RAM
Separate UNIX time counter
Buzzer
Speaker/buzzer with mini class-D amplifier on DAC output A0 can play tones or lo-fi audio clips
User Input
Power switch
Two programmable tactile buttons for Reset and Boot
10 capacitive touchpads
Power
Newt is designed to operate for one to two months between charges using a 500 mAH LiPo battery. The exact run time varies. (Heavy Wi-Fi use, in particular, will reduce battery charge more quickly.)
USB Type-C connector for programming, power, and charging
Low-quiescence voltage regulator (TOREX XC6220) that can output 1 A of current and operate as low as 8 μA.
JST connector for a Lithium-Ion battery
Battery-charging circuity (MCP73831)
Low-battery indicator (1 μA quiescence current)
Software
Newt hardware is compatible with open-source Arduino libraries for ESP32-S2, Adafruit GFX (fonts), Adafruit Sharp Memory Display (display writing), and RTC RV-3028-C7 (RTC)
Arduino libraries and sample programs are under development and will be available in our GitHub repository before launch
CircuitPython libraries and registration are on the roadmap, with the development of a CircuitPython library for the RV-3028 real-time clock as a key dependency
Included
Phambili Newt – Fully assembled with pre-loaded firmware
Laser-cut desktop stand
Mini-magnet feet
Required screws
Support & Documentation
Full instructions for use
GitHub: Arduino Library and Codebase
GitHub: Board schematics
Videos of prototypes or demos (build tracked on Hackaday)
Easy and Affordable Digital Signal ProcessingThe aim of this book is to teach the basic principles of Digital Signal Processing (DSP) and to introduce it from a practical point of view using the bare minimum of mathematics. Only the basic level of discrete-time systems theory is given, sufficient to implement DSP applications in real time. The practical implementations are described in real time using the highly popular ESP32 DevKitC microcontroller development board. With the low cost and extremely popular ESP32 microcontroller, you should be able to design elementary DSP projects with sampling frequencies within the audio range. All programming is done using the popular Arduino IDE in conjunction with the C language compiler.After laying a solid foundation of DSP theory and pertinent discussions on the main DSP software tools on the market, the book presents the following audio-based sound and DSP projects:
Using an I²S-based digital microphone to capture audio sound
Using an I²S-based class-D audio amplifier and speaker
Playing MP3 music stored on an SD card through an I²S-based amplifier and speaker
Playing MP3 music files stored in ESP32 flash memory through an I²S-based amplifier and speaker
Mono and stereo Internet radio with I²S-based amplifiers and speakers
Text-to-speech output with an I²S-based amplifier and speaker
Using the volume control in I²S-based amplifier and speaker systems
A speaking event counter with an I²S-based amplifier and speaker
An adjustable sinewave generator with I²S-based amplifier and speaker
Using the Pmod I²S2 24-bit fast ADC/DAC module
Digital low-pass and band-pass real-time FIR filter design with external and internal A/D and D/A conversion
Digital low-pass and band-pass real-time IIR filter design with external and internal A/D and D/A conversion
Fast Fourier Transforms (FFT)
Introducing the Elecrow ESP32 Terminal, a revolutionary handheld device engineered to elevate your projects to new heights. Boasting a 3.5″ 480 × 320 TFT capacitive...