The XIAO ESP32-C3 board combines the ultra-compact form factor of the XIAO series with the full capabilities of the ESP32-C3 chip, including integrated Wi-Fi and Bluetooth 5.0. This book is a comprehensive, hands-on guide to getting the most out of this powerful yet affordable development board.
The author takes readers from the fundamentals to advanced projects. Starting with LED blinking and dimming, the book progresses to ADC and PWM for precise sensor interfacing and PWM-controlled lighting effects before moving on to building practical, real-world applications, including:
A Wi-Fi weather station with an OLED display and real-time online weather data
An ultrasonic parking assistant with audible feedback
A refrigerator monitoring probe with climate sensing and Deep Sleep for years of battery operation
A retro Pong game controlled by a touch-free sensor
A microphone-based party app that responds to claps
And much more: lighting control, reaction-time measurement, mains frequency analysis, soil moisture sensing, ambient LED lighting, and 7-segment displays
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.
Leer hoe je de ESP32 Microcontroller en het programmeren met MicroPython in je toekomstige projecten kunt gebruiken!
Het (Engelstalige) projectboek, geschreven door de bekende Elektor auteur Dogan Ibrahim, bevat vele software- en hardware-gebaseerde projecten die speciaal voor de MakePython ESP32 ontwikkelkit ontwikkeld zijn. De kit wordt geleverd met verschillende LED's, sensoren, en actuatoren. De kit helpt je de basiskennis op te doen om eigen IoT projecten te maken.
Alle volledig geëvalueerde projecten in het boek zijn voorzien van de bijgeleverde componenten. Elk project bevat een blokschema, een schakelschema, een volledige programmalijst, en een volledige programma beschrijving.
Inbegrepen in de kit
1x MakePython ESP32 ontwikkelingsboard met LCD
1x Ultrasone afstandsmeter
1x Temperatuur- en luchtvochtigheidssensor
1x Zoemer module
1x DS18B20 module
1x Infrarood module
1x Potentiometer
1x WS2812 module
1x Geluidssensor
1x Trilsensor
1x Module met lichtgevoelige weerstand
1x Puls sensor
1x Servo motor
1x USB kabel
2x Knop
2x Breadboard
45x Schakeldraad
10x Weerstand 330R
10x LED (Rood)
10x LED (Groen)
1x Projectboek (Engelstalig, 206 pagina's)
Boek met 46 projecten
LED Projecten
Knipperende LED
SOS knipperende LED
Knipperende LED – met behulp van een timer
Afwisselend knipperende LEDs
Knopbediening
De knippersnelheid van de LED's veranderen met drukknop onderbrekingen
Chasing-LEDs
Binaire teller met LEDs
Kerstverlichting (willekeurig-knipperende 8 LEDs)
Elektronische dobbelsteen
Geluksdag van het week
Projecten voor Pulsewidth Modulation (PWM)
Genereer een PWM golfvorm van 1000 Hz met 50% duty cycle
LED helderheid regelen
Meten van de frequentie en duty cycle van een PWM golfvorm
Melodieën maker
Eenvoudig elektronisch orgel
Servo motor besturing
Servo motor DS18B20 thermometer
Projecten voor analoog naar digitaal converteren (ADC)
Voltmeter
Plotten van de analoge ingangsspanning
Interne temperatuursensor van de ESP32
Ohmmeter
Lichtgevoelige weerstandsmodule
Projecten voor digitaal naar analoog converteren (DAC)
Opwekken van vaste spanningen
Opwekken van een zaagtand-golf signaal
Opwekken van een driehoek-golf signaal
Golfvorm met willekeurige periode
Genereren van een sinus-golf signaal
Genereren van een nauwkeurig sinus-golf signaal met behulp van een timer interrupts
Gebruik van het OLED Display
Seconden teller
Gebeurtenisteller
DS18B20 digitale thermometer met OLED
ON-OFF temperatuur regelaar
Meten van temperatuur en luchtvochtigheid
Ultrasone afstandsmeting
Hoogte van een persoon (stadiometer)
Hartslag (polsslag) meten
Andere bij de set geleverde sensoren
Diefstal alarm
Met geluid geactiveerd licht
Infrarood obstakel-vermijding met zoemer
WS2812 RGB LED ring
Tijdregistratie van temperatuur en luchtvochtigheid
Netwerkprogrammering
Wi-Fi scanner
Bediening op afstand vanuit de Internet browser (met een smartphone of PC) – Webserver
Temperatuur- en luchtvochtigheidsgegevens opslaan in de Cloud
Werking met Low-Power
Gebruik een timer om de processor te laten ontwaken
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.