Die chinesische Firma Espressif Systems hat den neuen Mikrocontroller ESP32 entwickelt, das Nachfolgemodell des ESP8266-WiFi-Chips. Zusätzlich zu allen ESP8266-Funktionen stellt der ESP32 nun Bluetooth-Funk, einen größeren SRAM-Datenspeicher, mehr GPIOs, mehr Schnittstellen, einen Touch-Sensor, einen Temperatursensor, höhere CPU-Geschwindigkeit, einen CAN-Bus, ADCs mit höherer Auflösung, DACs und Sicherheitsfunktionen bereit. Der ESP32 ist Arduino-kompatibel.
Dieses Buch ist eine Einführung in den ESP32-Prozessor und beschreibt die wichtigsten Hardware- und Software-Features dieses Chips. Das Hauptziel des Buches ist es, dem Leser zu vermitteln, wie man ESP32-Hard- und Software in praktischen Projekten einsetzt, vor allem durch Verwendung des hochmodernen ESP32-Entwicklungsboards.
Im Buch sind viele einfache, grundlegende und weitere Projekte mittlerer Schwierigkeit auf Basis des Entwicklungsboards ESP32 DevKitC samt der beliebten Arduino-IDE und der Programmiersprache MicroPython enthalten. Die Projekte sind nach aufsteigender Komplexität organisiert.
With Examples for Raspberry Pi Pico and ESP32
Creating and programming small electronic systems is now easier than ever before. With inexpensive development boards and modern software tools, anyone curious about embedded design can quickly move from an idea to a working piece of hardware. At the heart of this change is MicroPython—a clear, interactive, and beginner-friendly way to program microcontrollers while still remaining closely connected to the underlying electronics.
This book introduces embedded programming through MicroPython on popular platforms such as the Raspberry Pi Pico and the ESP32. You will discover how to use microcontrollers for reading inputs, processing data, and controlling outputs in a predictable, real-time loop. With just a few lines of code, you can blink LEDs, read sensors, drive motors, and communicate with the outside world. The interactive REPL programming interface encourages experimentation and fast learning, making concepts tangible from the very first chapter.
While different boards offer different capabilities, they all share the same core principles. Timers, GPIO, analog I/O, PWM, interrupts, and communication interfaces form the foundation of every embedded system.
By focusing on these universal building blocks, this book helps you build skills that transfer across platforms and scale naturally toward more advanced development. Whether you are a beginner or an experienced programmer entering embedded systems, you will find that working with MicroPython is both practical and genuinely enjoyable.
Learn how to use the ESP32 Microcontroller and MicroPython programming in your future projects!
The project book, written by well-known Elektor author Dogan Ibrahim, holds many software- and hardware-based projects especially developed for the MakePython ESP32 Development Kit. The kit comes with several LEDs, sensors, and actuators. The kit will help you acquire the basic knowledge to create IoT projects.
The book’s fully evaluated projects feature all the supplied components. Each project includes a block diagram, a circuit diagram, a full program listing, and a complete program description.
Included in the kit
1x MakePython ESP32 development board with LCD
1x Ultrasonic ranging module
1x Temperature and humidity sensor
1x Buzzer module
1x DS18B20 module
1x Infrared module
1x Potentiometer
1x WS2812 module
1x Sound sensor
1x Vibration sensor
1x Photosensitive resistance module
1x Pulse sensor
1x Servo motor
1x USB cable
2x Button
2x Breadboard
45x Jumper wire
10x Resistor 330R
10x LED (Red)
10x LED (Green)
1x Project book (206 pages)
46 Projects in the Book
LED Projects
Blinking LED
Flashing SOS
Blinking LED – using a timer
Alternately flashing LEDs
Button control
Changing the LED flashing rate using pushbutton interrupts
Chasing-LEDs
Binary-counting LEDs
Christmas lights (random-flashing 8 LEDs)
Electronic dice
Lucky day of the week
Pulsewidth Modulation (PWM) Projects
Generate a 1000-Hz PWM waveform with 50% duty cycle
LED brightness control
Measuring the frequency and duty cycle of a PWM waveform
Melody maker
Simple electronic organ
Servo motor control
Servo motor DS18B20 thermometer
Analog To Digital Converter (ADC) Projects
Voltmeter
Plotting the analog input voltage
ESP32 internal temperature sensor
Ohmmeter
Photosensitive resistance module
Digital To Analog Converter (DAC) Projects
Generating fixed voltages
Generating a sawtooth-wave signal
Generating a triangular-wave signal
Arbitrary periodic waveform
Generating a sinewave signal
Generating accurate sinewave signal using timer interrupts
Using The OLED Display
Seconds counter
Event counter
DS18B20 OLED based digital thermometer
ON-OFF temperature controller
Measuring the temperature and humidity
Ultrasonic distance measurement
Height of a person (stadiometer)
Heart rate (pulse) measurement
Other Sensors Supplied with the Kit
Theft alarm
Sound-activated light
Infrared obstacle avoidance with buzzer
WS2812 RGB LED ring
Timestamping temperature and humidity readings
Network Programming
Wi-Fi scanner
Remote control from the Internet browser (using a smartphone or PC) – Web Server
Storing temperature and humidity data in the Cloud
Low-Power Operation
Using a timer to wake up the processor
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
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.
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.
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
Projects with Thonny-IDE, uPyCraft-IDE, and ESP32
The 'Python' programming language has enjoyed an enormous upswing in recent years. Not least, various single-board systems such as the Raspberry Pi have contributed to its popularity. But Python has also found widespread use in other fields, such as artificial intelligence (AI) or machine learning (ML). It is obvious, therefore, to use Python or the 'MicroPython' variant for use in SoCs (Systems on Chip) as well.
Powerful controllers such as the ESP32 from Espressif Systems offer excellent performance as well as Wi-Fi and Bluetooth functionality at an affordable price. With these features, the Maker scene has been taken by storm. Compared to other controllers, the ESP32 has a significantly larger flash and SRAM memory, as well as a much higher CPU speed. Due to these characteristics, the chip is not only suitable for classic C applications, but also for programming with MicroPython.
This book introduces the application of modern one-chip systems. In addition to the technical background, the focus is on MicroPython itself. After the introduction to the language, the programming skills learned are immediately put into practice. The individual projects are suitable for use in the laboratory as well as for everyday applications. So, in addition to the actual learning effect, the focus is also on the joy of building complete and useful devices. By using laboratory breadboards, circuits of all kinds can be realized with little effort, turning the testing and debugging of the 100% homebrew projects into an instructive pleasure.
The various applications, such as weather stations, digital voltmeters, ultrasound range finders, RFID card readers or function generators, make the projects presented ideally suited for practical courses or subject and study work in the natural sciences, or in science and technology classes.
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
With the availability of free and open source C/C++ compilers today, you might wonder why someone would be interested in assembler language. What is so compelling about the RISC-V Instruction Set Architecture (ISA)? How does RISC-V differ from existing architectures? And most importantly, how do we gain experience with the RISC-V without a major investment? Is there affordable hardware available?
The availability of the Espressif ESP32-C3 chip provides a way to get hands-on experience with RISC-V. The open sourced QEMU emulator adds a 64-bit experience in RISC-V under Linux. These are just two ways for the student and enthusiast alike to explore RISC-V in this book.
The projects in this book are boiled down to the barest essentials to keep the assembly language concepts clear and simple. In this manner you will have “aha!” moments rather than puzzling about something difficult. The focus in this book is about learning how to write RISC-V assembly language code without getting bogged down. As you work your way through this tutorial, you’ll build up small demonstration programs to be run and tested. Often the result is some simple printed messages to prove a concept. Once you’ve mastered these basic concepts, you will be well equipped to apply assembly language in larger projects.
Einfache und kostengünstige digitale Signalverarbeitung
Ziel dieses Buches ist es, die Grundprinzipien der digitalen Signalverarbeitung (DSP) zu vermitteln und sie unter Verwendung eines Minimums an Mathematik aus praktischer Sicht einzuführen. Es wird nur das Grundniveau der Theorie zeitdiskreter Systeme vermittelt, das ausreicht, um DSP-Anwendungen in Echtzeit zu implementieren. Die praktischen Umsetzungen werden in Echtzeit mithilfe des beliebten Mikrocontroller-Entwicklungsboards ESP32 DevKitC beschrieben. Mit dem kostengünstigen und äußerst beliebten ESP32-Mikrocontroller sollten Sie in der Lage sein, grundlegende DSP-Projekte mit Abtastfrequenzen im Audiobereich zu entwerfen. Die gesamte Programmierung erfolgt mit der beliebten Arduino IDE in Verbindung mit dem C-Sprachcompiler.
Nachdem das Buch eine solide Grundlage der DSP-Theorie und relevante Diskussionen über die wichtigsten DSP-Softwaretools auf dem Markt gelegt hat, werden die folgenden audiobasierten Sound- und DSP-Projekte vorgestellt:
Verwendung eines I²S-basierten digitalen Mikrofons zur Audioaufnahme
Verwendung eines I²S-basierten Klasse-D-Audioverstärkers und Lautsprechers
Wiedergabe von auf einer SD-Karte gespeicherter MP3-Musik über einen I²S-basierten Verstärker und Lautsprecher
Wiedergabe von im ESP32-Flash-Speicher gespeicherten MP3-Musikdateien über einen I²S-basierten Verstärker und Lautsprecher
Mono- und Stereo-Internetradio mit I²S-basierten Verstärkern und Lautsprechern
Text-zu-Sprache-Ausgabe mit einem I²S-basierten Verstärker und Lautsprecher
Verwendung der Lautstärkeregelung in I²S-basierten Verstärker- und Lautsprechersystemen
Ein sprechender Veranstaltungszähler mit einem I²S-basierten Verstärker und Lautsprecher
Ein einstellbarer Sinusgenerator mit I²S-basiertem Verstärker und Lautsprecher
Verwendung des schnellen 24-Bit-ADC/DAC-Moduls Pmod I²S2
Digitales Tiefpass- und Bandpass-Echtzeit-FIR-Filterdesign mit externer und interner A/D- und D/A-Wandlung
Digitales Tiefpass- und Bandpass-Echtzeit-IIR-Filterdesign mit externer und interner A/D- und D/A-Wandlung
Schnelle Fourier-Transformationen (FFT)
With Examples for Arduino UNO, Raspberry Pi Pico and ESP32
Programming small electronic systems has never been more accessible. Tasks that once demanded expensive tools, specialized hardware, and deep electrical engineering expertise can now be tackled with low-cost development boards and approachable software. At the centre of this shift is the Arduino environment, which provides a unified and familiar way to program a wide range of microcontroller platforms—from classic AVR boards like the Arduino UNO to modern ARM-based boards such as the Raspberry Pi Pico, and powerful Wi-Fi-enabled devices like the ESP32.
This book introduces embedded programming through the core idea that defines all microcontrollers: reading inputs, processing information, and controlling outputs in a predictable loop. The Arduino environment abstracts much of the hardware complexity, allowing you to focus on behaviour rather than implementation details. With just a few lines of code, you can blink LEDs, read sensors, control motors, and communicate with other devices.
While the Arduino UNO, Raspberry Pi Pico, and ESP32 boards differ greatly in performance and features, they share the same fundamental building blocks: digital and analog I/O, timers, serial communication, PWM, interrupts, and power management. Learning these concepts within the Arduino framework builds skills that transfer easily across platforms and scale toward more advanced applications.
By exploring multiple boards while maintaining a consistent programming approach, this book helps you progress from simple experiments to confidently produce well-structured designs—showing that embedded development can be both practical and enjoyable.