A Project-Based Introduction to Microcontrollers and Drone Control
A Practical Introduction to Embedded Systems with the ESP32
This book is intended for readers who are new to embedded systems and looking for a structured, example-driven way to begin. If you’ve explored general-purpose electronics or Arduino-based resources but found them too broad or lacking in practical application, this guide offers a more focused alternative.
With a small, affordable set of components – such as LEDs, sensors, an OLED screen and a motion sensor – you’ll build and work with the same hardware setup throughout the book. This allows you to focus on learning and experimenting without constant reconfiguration.
Topics include:
Understanding and programming the ESP32 microcontroller
Using the Arduino IDE to write and deploy code
Exploring cyber-physical systems, culminating in basic drone control
No prior experience with Arduino or embedded development is required. Each section includes hands-on examples and mini-projects designed to reinforce core concepts and encourage deeper exploration. By the end, you’ll be equipped not only to reproduce the book’s examples, but also to extend them toward your own ideas and applications.
Whether your interest is in learning embedded programming, building interactive systems, or exploring educational drone control, this book provides a clear and practical path to getting started.
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.
In ESP32 programmeren voor beginners bekijken we de ESP32 en zijn voorganger, de ESP8266. Deze kleine, maar zeer krachtige Chinese chips bestaan uit een processor, geheugen, input- en outputaansluitingen en hebben draadloze netwerktoegang via WiFi.
Met dit boek tonen we hoe de programmeeromgeving Arduino werkt en hoe die kan gebruikt worden met ESP-hardware. Aan de hand van voorbeelden en projecten verduidelijken we hoe de ESP-hardware kan worden toegepast.
In vogelvlucht:
We beschrijven de opbouw van ESP-experimenten.
We tonen hoe displays worden aangesloten.
Eeprom_24c16 demonstreert hoe een externe geheugenchip wordt gebruikt om getallen en tekst op te slaan en weer uit te lezen.
Project Klok is de eenvoudige implementatie van een digitale klok.
We geven een handleiding voor het gebruik van temperatuur- en luchtvochtigheidsensoren.
Webclient laat zien hoe de ESP32 gegevens van het internet kan halen.
Met Webserver kunnen we op afstand met een pc of smartphone gegevens halen uit een ESP32, sensoren uitlezen en toestellen aan- en uitschakelen.
Een NTP-klok haalt tijdinformatie van Tijdserver. Die geeft zowel de tijd als het aantal seconden sinds 1 januari 1900. Het boek beschrijft hoe hieruit de tijd kan worden berekend.
In het laatste hoofdstuk gebruiken we het internet om nauwkeurige weerinformatie en voorspellingen op te vragen.
Die WiFi-Module der chinesischen Firma Espressif haben schon längst die Maker-Community erobert, bieten sie doch zu einem konkurrenzlosen Preis MCU- und WiFi-Funktionalität. Mit einfachen Mitteln lässt sich ein Arduino mit einem ESP-Modul um WiFi erweitern. Die globale Bastler-Gemeinde ersetzte schon bald die integrierte Firmware mit eigener Firmware, sodass Entwickler ESP-Boards wie Arduino-Boards programmieren können. Der neue ESP32 geht einen Schritt weiter und ist in jeder Beziehung leistungsfähiger als der ESP8266. Zudem besitzt er nun Bluetooth-Funktionalität.
Der ESP32 verfügt über einen 240-MHz-Zweikern-Mikroprozessor mit einer Performanz von 600 DMIPS. Neben 520 KByte SRAM befinden sich 16 MByte Flashspeicher an Board. Zur Kommunikation mit der Außenwelt enthält das System-on-a-Chip die 802.11-b/g/n-WiFi-Komponente HT40 und Bluetooth-Funktionalität. Als Sensoren bietet der ESP32 einen Hall-Sensor, eine zehnfache, kapazitive Touch-Schnittstelle, einen analogen Verstärker für niedrige Signale und einen 32-kHz-Kristallquartz.
Der Bestseller-Autor Erik Bartmann hat sich ausführlich mit dem ESP32 beschäftigt. Heraus gekommen ist dabei Das ESP32-Praxisbuch, in dem er die Leser Schritt für Schritt in die Arbeit mit diesem preiswerten WiFi-Mikrocontroller einführt.
Elektor GREEN and GOLD members can download their digital edition here.
Not a member yet? Click here.
The ESP-BLASTA Mini ESP32 Rocket Drone That Flies 100 km/h+
Wireless Workshop (1)Radio Modules Unlocked: 433 MHz CC1101 Sub-GHz Transceiver
AM TransmitterWith Square/Sine Wave Generator on Raspberry Pi Pico
STM32Cube Innovation ChallengeCompete with Your Best STM32C5 Design
CoffeeCallerHow a Long Hallway Led to a Custom Mesh-Networked PCB
AudiotronicsTotal Harmonic Distortion
Elektor at 65Projects from Septembers and Octobers Past
Bluetooth Channel Sounding for Asset TrackingCentimeter-Level Precision Ranging for Next-Generation IoT
2026: An AI OdysseyQuantum Computing Is Not the Next GPU
Protecting the Cloud Demands Security at the Edge
First Experiences with the HackRF ProPractical Tests with the New SDR Hardware
Modem Upgrade from GPRS/2G to LTE/4GUsing a Wireless Alarm Control Panel as an Example
Loop Antenna with RF BricksPart 1: A DIY Shortwave Antenna with Adjustable Directivity
Internet Radio to AM ConverterUsing an ESP32-S3 as Transmitter
Err-lectronics
mioty — An OverviewFraunhofer’s Approach to LPWAN
Workbench WisdomPractical Tips from Experts
Walter, the Compact IoT ModulePart 2: Accessing Weather and Data Services
This complete STM32 microcontroller programming course features a textbook, a component kit, hands-on projects, and a comprehensive online course. It is ideal for step-by-step learning of embedded systems programming in MicroPython using a practical, hands-on approach.
A Practical Introduction to Embedded Systems with the STM32
This course is designed for people who are new to embedded systems and looking for a structured, example-driven way to get started. A kit of parts comprising LEDs and resistors, switches, sensors and actuators, displays, a breadboard and wires, and more is included. These are used in the course to illustrate example applications.
No prior experience with MicroPython 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 examples but also to build on them with your own ideas and applications.
What Will You Learn?
Microcontroller programming in MicroPython on the STM32 using the Thonny IDE
Working with Digital I/O, read buttons and encoders, control LEDs and relays
Read analog inputs, voltages, and analog sensors
Generating analog output signals and PWM
Use serial communication like UART, I²C and SPI to control displays and read digital sensors and SD cards
Managing time
Working with interrupts
Real-time sensor input and control via buttons, LEDs, and displays
Control actuators like relays and servo motors
Who Is It 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
What's Inside the Box?
Access to the full course on the Elektor Academy Pro Learning Platform
STM32 NUCLEO-F411RE microcontroller board
Book: MicroPython for STM32
Downloadable project files for every module
Component Box:
2× LED, red, 5 mm
LED, green, 5 mm
3× Resistor, 470 Ω, 0.25 W
LDR
Potentiometer, 10 kΩ, linear
Pushbutton
Rotary encoder module
Relay module
DHT22 Humidity & Temperature Sensor
TM1637-compatible 4-digit 7-segment display
MPU-6050 IMU with headers
SSD1306-compatible I²C OLED display
Micro SD card adapter with header
Buzzer
SG90 Micro Servo
ILI9341-compatible SPI 240×320 TFT display
20× Jumper wires
Breadboard
Der ESP8266 von Espressif ist ein Wi-Fi-Mikrochip mit vollem TCP/IP-Stack und Mikrocontroller-Fähigkeit. Es hat mit seinem niedrigen Preis Wellen in der Herstellergemeinschaft geschlagen.
Aber viele Entwickler waren unzufrieden mit dem hohen Stromverbrauch von ESP8266. Der ESP32, ausgestattet mit einem ULP (Ultra Low Power) Coprozessor, bietet eine Lösung.
Dieses E-Book enthält eine Reihe von Projekten mit ESP32 & ESP8266 sowie ein Interview mit dem CEO von Espressif Teo Swee Ann.
Artikel
ESP32 für den Einsatz in Geräten der Industrie 4.0
Scrollende Nachrichtenanzeige, 512 LEDs per WLAN mit ESP-12F ansteuern
Das vernetzte Treibhaus, IoT-Modellprojekt mit MQTT und Node-RED
VFD-Röhren-Uhr mit ESP32, Internet-Zeit auf Vintage-Displays
ESP32 stromsparend, die Programmierung des ULP-Coprozessors
DCF77-Emulator mit ESP8266, DCF durch Internet-Zeit ersetzen
Was steckt hinter dem berühmtem ESP8266?
WLAN-Thermostat, flexible und programmierbare Temperatursteuerung
Timer für den WLAN-Thermostat, sieben Kanäle mit atomarer Genauigkeit
Schweizer Taschenmesser für Mikrocontroller, PlatformIO als universelles Programmier-Tool
ESP32 für Power-User, native Programmierung
Weather-Display, aktuelle Wetterdaten auf einem LC-Display darstellen
GoNotify, ein flexibles IoT-Sensorinterface. Einfach in die Cloud.
Der große Bruder des ESP8266, erste Schritte mit dem ESP32 und der Arduino-IDE
MicroPython, Python für kleine Systeme
RGBDigit Clock, farbenfrohe 7-Segment-Displays zeigen Zeit und Klima
USB-Programmieradapter für die ESP-Module von Espressif
Heizkesselmonitor mit ESP8266, Haustechnik für die Energiewende
WLAN für Mikrocontroller, steuern mit dem ESP8266
Die Rückkehr des WLAN-Controller-Boards, Smartphone steuert IoT-Objekte
WLAN kompakt und autonom, oder: Wie man den ESP8266 auch ohne MCU einsetzen kann
Over 180 Projects with Raspberry Pi, Pico W, Arduino, and ESP32
This bundle contains the Universal Maker Sensor Kit, which consists of many sensors, actuators, displays, and motors. It’s perfect for environmental monitoring, smart home projects, robotics, and game controllers.
The new Elektor book describes the design of many projects using the kit together with the popular Raspberry Pi, Raspberry Pi Pico W, Arduino Uno, and the ESP32 family of development boards. You can choose any of these development boards for your projects and either use the provided programs as they are, or modify these programs to suit your applications.
This bundle contains:
Book: Universal Maker Sensor Kit (normal price: €45)
Universal Maker Sensor Kit for Raspberry Pi, Pico W, Arduino, ESP32 (normal price: €70)
Book: Universal Maker Sensor Kit
Learn to use more than 35 Sensors and Actuators with C++, Python, and MicroPython
This book contains over 180 projects for all four major development boards (Arduino, Raspberry Pi, Pico W, and ESP32). Depending on the development board, projects are available in the C, Python, or MicroPython programming languages.
The project titles, brief descriptions, wiring diagrams, and full program listings together with their detailed descriptions are given in the guide.
Universal Maker Sensor Kit (for Raspberry Pi, Pico W, Arduino, ESP32)
Discover endless creativity with the Universal Maker Sensor Kit, designed for use with Raspberry Pi, Pico W, Arduino, and ESP32. This versatile kit offers compatibility across popular development platforms, including Arduino Uno R4 Minima/WiFi, Uno R3, Mega 2560, Raspberry Pi 5, 4, 3B+, 3B, Zero, Pico W, and ESP32.
Featuring over 35 sensors, actuators, and displays, it's perfect for projects ranging from environmental monitoring and smart home automation to robotics and interactive gaming. Step-by-step tutorials in C/C++, Python, and MicroPython guide beginners and experienced makers alike through 169 exciting projects.
Features
Wide Compatibility: Fully supports Arduino (Uno R3, Uno R4 Minima/WiFi, Mega 2560), Raspberry Pi (5, 4, 3B+, 3B, Zero, Pico W), and ESP32, enabling extensive flexibility across numerous development platforms. Includes instructions for building 169 projects.
Comprehensive Components: Features more than 35 sensors, actuators, and display modules suitable for diverse projects such as environmental monitoring, smart home automation, robotics, and interactive game controllers.
Detailed Tutorials: Provides clear, step-by-step tutorials covering Arduino, Raspberry Pi, Pico W, ESP32, and each included component. Tutorials are available in C/C++, Python, and MicroPython, catering effectively to both beginners and experienced makers.
Suitable for All Skill Levels: Offers structured projects designed to guide users seamlessly from beginner to advanced proficiency in electronics and programming, enhancing creativity and technical expertise.
Kit includes
Breadboard
Button Module
Capacitive Soil Moisture Module
Flame Sensor Module
Gas/Smoke Sensor Module (MQ2)
Gyroscope & Accelerometer Module (MPU6050)
Hall Sensor Module
Infrared Speed Sensor Module
IR Obstacle Avoidance Sensor Module
Joystick Module
PCF8591 ADC DAC Converter Module
Photoresistor Module
PIR Motion Module (HC-SR501)
Potentiometer Module
Pulse Oximeter and Heart Rate Sensor Module (MAX30102)
Raindrop Detection Module
Real Time Clock Module (DS1302)
Rotary Encoder Module
Temperature Sensor Module (DS18B20)
Temperature and Humidity Sensor Module (DHT11)
Temperature, Humidity & Pressure Sensor (BMP280)
Time of Flight Micro-LIDAR Distance Sensor (VL53L0X)
Touch Sensor Module
Ultrasonic Sensor Module (HC-SR04)
Vibration Sensor Module (SW-420)
Water Level Sensor Module
I²C LCD 1602
OLED Display Module (SSD1306)
RGB LED Module
Traffic Light Module
5 V Relay Module
Centrifugal Pump
L9110 Motor Driver Module
Passive Buzzer Module
Servo Motor (SG90)
TT Motor
ESP8266 Module
JDY-31 Bluetooth Module
Power Supply Module
Documentation
Online Tutorial
Open-Source-Code mit Arduino IDE und PlatformIO
Autonomes Fahren: GPS, Accelerometer, Gyroskop
PS3-Controller
Mikrocontroller wie der Arduino und Einplatinenrechner wie der Raspberry Pi haben sich zu beliebten Komponenten entwickelt. Dritter im Bunde ist der ESP32 der Firma Espressif. Mikrocontroller dieser Baureihe zeichnen sich durch eine Vielzahl implementierter Funktionen aus, die bei einem Arduino konventioneller Prägung mit einem Atmel-AVR-Mikrocontroller erst mit weiterer Hardware möglich sind. Prominentes Beispiel sind hier die WiFi- und Bluetooth-Funktionalitäten. Gegenüber einem Raspberry Pi zeichnen sie sich durch einen deutlich geringeren Preis aus.
Allgemeine Informationen für die Realisierung eines Roboterauto-Projekts mit dem ESP32 sind leicht zu finden. Dabei handelt es sich aber oft nur um Ausführungen zu einem Teilaspekt, ohne inhaltliche oder funktionale Abstimmung. So ist nicht nur die Beschaffung der benötigten Informationen mühselig und zeitaufwändig, sie kann auch außerordentlich fehlerträchtig sein.
Ansatzpunkt dieses Buches ist, diese Lücke zu schließen. Es geht auf verschiedene Möglichkeiten eines Chassis ein, vermittelt nötige Kenntnisse und führt schrittweise von einer einfachen Motorsteuerung zu einem komplexen sensor- und sprachgesteuerten Roboterauto. Hacks rund um GPS und eine PlayStation 3 runden die Sache ab.
Inhalt
Bei der Reihenfolge der Kapitel wurde versucht – beginnend bei der Darstellung von grundlegenden Informationen – über die Lösung einfacher Aufgaben zu etwas anspruchsvolleren Techniken zu führen.
Der Mikrocontroller ESP32
Die Software erstellen
Die Stromversorgung
Rund um die Hardware
Das Chassis
Der Gleichstrommotor
Kabellose Steuerung über WiFi
Mit Sensoren Hindernisse erkennen
Eine eigene Roboterauto-App
Servo und Lichtsensor
GPS
Accelerometer / Gyroskop
PS3-Controller
Roboterauto-App
Hinweis zur Software
Die Dateien haben das Suffix (.cpp). Grund ist die Entwicklung mit PlatformIO. Mit Copy & Paste sollten sie auch in der Arduino-IDE verwendet werden können.
De ESP8266 van Espressif is een Wi-Fi microchip met volledige TCP/IP stack en functionaliteit van een microcontroller. Het heeft indruk gemaakt in de maker community met zijn lage prijs.
Maar veel ontwikkelaars waren ontevreden over het hoge stroomverbruik van de ESP8266. De ESP32, uitgerust met een ULP (Ultra Low Power) coprocessor, biedt hiervoor een oplossing.
Dit e-book bevat een aantal projecten met ESP32 & ESP8266 en een interview met de CEO Teo Swee Ann van Espressif.
Artikelen
Lichtkrant met ESP-12F, 512 LED’s via WiFi aansturen
VFD-klok met ESP32, met nauwkeurige internettijd
Zuinige ESP32, de programmering van de ULP-coprocessor
DCF77-emulator met ESP8266, internettijd vervangt draadloze tijd
WiFi desktop-thermostaat, flexibele en programmeerbare temperatuurregeling
Timers voor de WiFi desktop-thermostaat, zeven kanalen met atoomprecisie
Zwitsers zakmes voor microcontrollers, PlatformIO als universeel programmeertool
ESP8266 USB-programmeer-adapter voor de Espressif-modules ESP-01 en ESP-012
De ESP8266 op het Android I/O-board, zelf nieuwe firmware flashen
Weerdisplay, actuele weersinformatie op een kleuren-LCD
GoNotify, een flexibele IoT sensor-interface. Join the bubble!
CV-monitor met ESP8266, domotica voor de overgang naar duurzame energie
MicroPython en het pyboard, van een knipperende LED naar … een knipperende LED aan een webserver
De grote broer van de ESP8266, de eerste stappen met de ESP32 en de Arduino-IDE
RGBDigit klok, een kleurrijk 7-segment-display voor uw data
WLAN voor microcontrollers, besturen met de ESP8266
De terugkeer van de Wi-Fi-besturingskaart, apparatuur bedienen met uw smartphone
Compact en autonoom WLAN, handig gebruik van de ESP8266 zonder MCU
Projects with Arduino, ESPHome, Home Assistant, and Raspberry Pi & Co.
This e-book contains various example projects, beginning with an introduction to electronics. It also explains how to install Home Assistant on a Raspberry Pi, how to use indoor climate sensors for temperature and humidity, how to implement the MQTT protocol and other interfaces, and how to use ESPHome to integrate sensors and actuators into Home Assistant. Numerous video tutorials complement the book.
Fundamentals of electrical engineering
The book begins with an introduction to electrical engineering. You will learn the basics of voltage, current, resistors, diodes and transistors.
Arduino and microcontrollers
A complete section is dedicated to the Arduino Uno. You will get to know the structure, write your first programs and work on practical examples.
Home Assistant and automation
You will learn how to set up Home Assistant on a Raspberry Pi and how to use automations, scenes and devices. In addition, Zigbee, MQTT and ESP-NOW – important technologies for home automation – will be discussed.
ESP8266, ESP32 and ESP32-CAM
The popular ESP microcontrollers are covered in detail. A theoretical introduction is followed by practical projects that show you how to get the most out of these devices.
Sensors and actuators
The book explains the functionality and application of numerous sensors such as temperature and humidity sensors, motion detectors and RFID readers. For actuators, stepper motors, e-ink displays, servo motors and much more are covered. There are practical application examples for all devices.
ESPHome
This chapter shows you how to integrate sensors and actuators into Home Assistant without any programming effort. You will be guided step by step through the setup with ESPHome.
LEDs and lighting technology
In this chapter, you will learn about different types of LEDs and how they can be used. The basics of lighting technology are also explained.
Node-RED
A whole chapter is dedicated to Node-RED. You will learn the basics of this powerful tool and be guided step by step through its setup and use.
Integrated Circuits (ICs)
In electronics, there are numerous ICs that make our lives easier. You will get to know the most important ones and apply your knowledge in practical projects.
Professional programming
Advanced topics such as the correct use of buttons, the use of interrupts and the use of an NTP server for time synchronisation are covered in detail in this chapter.
Downloads
GitHub
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