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.
Apprenez à utiliser et programmer le microcontrôleur ESP32 en MicroPython dans vos futurs projets !
Ce livre (en anglais) de projets par Dogan Ibrahim, auteur populaire de livres Elektor contient de nombreux projets logiciels et matériels spécialement développés pour le kit de développement ESP32 de MakePython. Le kit est livré avec plusieurs LED, capteurs et actionneurs. Le kit vous aidera à acquérir les connaissances de base pour créer des projets IdO.
Les projets testés dans le livre sont basés sur les composants fournis. Chaque projet est décrit par un schéma fonctionnel, un schéma de circuit, un listage complet ainsi qu’une description détaillée du programme.
Contenu du kit
1x Carte de développement MakePython ESP32 avec LCD
1x Module de mesure à ultrasons
1x Capteur de température et d'humidité
1x Module buzzer
1x Module DS18B20
1x Module infrarouge
1x Potentiomètre
1x Module WS2812
1x Capteur de son
1x Capteur de vibrations
1x Module de résistance photosensible
1x Capteur de pouls
1x Servomoteur
1x Câble USB
2x Bouton
2x Plaque d'essai
45x Fils de connexion
10x résistances 330R
10x LED (Rouges)
10x LED (Verts)
1x Livre de projets (en anglais, 206 pages)
46 projets dans le livres
Projets à LED
LED clignotante
SOS clignotant
LED clignotante – utilisation d'un timer
LED clignotantes en alternance
Contrôle des boutons
Modification de la fréquence de clignotement des LED à l'aide d'interruptions de boutons-poussoirs
LED de poursuite
Compteur binaire à LED
Lumières de Noël (8 LEDs clignotant de façon aléatoire)
Dés électronique
Jour de chance de la semaine
Projets de modulation de la largeur d'impulsion (PWM)
Génération d'une forme d'onde PWM de 1000 Hz avec un rapport cyclique de 50%
Contrôle de la luminosité des LED
Mesures de la fréquence et du rapport cyclique d'une forme d'onde PWM
Compositeur de mélodies
Orgue électronique simple
Servo motor control
Thermomètre DS18B20 à servomoteur
Projets de convertisseur analogique-numérique (CAN)
Voltmètre
Traçage de la tension d'entrée analogique
Capteur de température interne de l'ESP32
Ohmmètre
Module de résistance photosensible
Projets de convertisseur numérique-analogique (CNA)
Génération de tensions fixes
Génération d'un signal en dents de scie
Génération d'un signal à onde triangulaire
Forme d'onde périodique arbitraire
Génération d'un signal sinusoïdal
Génération d'un signal sinusoïdal précis au moyen d'interruptions du timer
Utilisation de l'afficheur OLED
Compteur de secondes
Compteur d'événements
Thermomètre numérique à base d'OLED DS18B20
Contrôleur de température ON-OFF
Mesure de la température et de l'humidité
Mesure de la distance par ultrasons
Taille d'une personne (stadiomètre)
Mesure de la fréquence cardiaque (pouls)
Autres capteurs fournis dans le kit
Alarme antivol
Lumière activée par le son
Détection d'obstacles par infrarouge avec buzzer
Anneau de LED RVB WS2812
Horodatage des données de température et d'humidité
Programmation réseau
Scanner Wi-Fi
Contrôle à distance depuis le navigateur Internet (à l'aide d'un smartphone ou d'un PC) – Serveur Web
Stockage des données de température et d'humidité dans le cloud
Fonctionnement à faible puissance
Utilisation d'un timer pour activer le processeur
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.
Traitement du signal numérique simple et abordable
Le but de cet ouvrage est d'enseigner les principes de base du Traitement Numérique du Signal (DSP) et de l'introduire d'un point de vue pratique en utilisant le strict minimum de mathématiques. Seul le niveau de base de la théorie des systèmes à temps discret est donné, suffisant pour implémenter des applications DSP en temps réel. Les implémentations pratiques sont décrites en temps réel à l'aide de la très populaire carte de développement de microcontrôleur ESP32 DevKitC. Avec le microcontrôleur ESP32, peu coûteux et extrêmement populaire, vous devriez être en mesure de concevoir des projets DSP élémentaires avec des fréquences d'échantillonnage comprises dans la plage audio. Toute la programmation est effectuée à l'aide du populaire IDE Arduino en conjonction avec le compilateur en langage C.
Après avoir posé une base solide de la théorie DSP et des discussions pertinentes sur les principaux outils logiciels DSP du marché, le livre présente les projets audio et DSP suivants :
Utilisation d'un microphone numérique basé sur I²S pour capturer le son audio
Utilisation d'un amplificateur audio et d'un haut-parleur de classe D basés sur I²S
Lecture de musique MP3 stockée sur une carte SD via un amplificateur et un haut-parleur basés sur I²S
Lecture de fichiers de musique MP3 stockés dans la mémoire flash ESP32 via un amplificateur et un haut-parleur basés sur I²S
Radio Internet mono et stéréo avec amplificateurs et haut-parleurs basés sur I²S
Sortie de synthèse vocale avec un amplificateur et un haut-parleur basés sur I²S
Utilisation du contrôle du volume dans les systèmes d'amplificateurs et de haut-parleurs basés sur I²S
Un compteur d'événements parlants avec un amplificateur et un haut-parleur basés sur I²S
Un générateur d'onde sinusoïdale réglable avec amplificateur et haut-parleur basés sur I²S
Utilisation du module ADC/DAC rapide 24 bits Pmod I²S2
Conception de filtre FIR numérique passe-bas et passe-bande en temps réel avec conversion A/D et D/A externe et interne
Conception de filtre IIR numérique passe-bas et passe-bande en temps réel avec conversion A/D et D/A externe et interne
Transformations de Fourier rapides (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.