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.
40+ Projects using Arduino, Raspberry Pi and ESP32
This book is about developing projects using the sensor-modules with Arduino Uno, Raspberry Pi and ESP32 microcontroller development systems. More than 40 different sensors types are used in various projects in the book. The book explains in simple terms and with tested and fully working example projects, how to use the sensors in your project. The projects provided in the book include the following:
Changing LED brightness
RGB LEDs
Creating rainbow colours
Magic wand
Silent door alarm
Dark sensor with relay
Secret key
Magic light cup
Decoding commercial IR handsets
Controlling TV channels with IT sensors
Target shooting detector
Shock time duration measurement
Ultrasonic reverse parking
Toggle lights by clapping hands
Playing melody
Measuring magnetic field strength
Joystick musical instrument
Line tracking
Displaying temperature
Temperature ON/OFF control
Mobile phone-based Wi-Fi projects
Mobile phone-based Bluetooth projects
Sending data to the Cloud
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared sensor kit is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.
Vom Messwert zur stabilen Entscheidung
Wie wird aus einem einfachen Mikrocontroller ein intelligentes System, das Sensorwerte erfasst, verarbeitet und sinnvoll darauf reagiert? Dieses Buch zeigt es Ihnen Schritt für Schritt – verständlich, praxisnah und ohne unnötige Vorkenntnisse.
Sie beginnen mit den Grundlagen der digitalen und analogen Ein- und Ausgänge. Anschließend lernen Sie, wie Sensorwerte gelesen, geglättet und zuverlässig bewertet werden. Anschauliche Beispiele erklären, warum einzelne Messwerte oft täuschen können und wie Mittelwertbildung, Hysterese und einfache Entscheidungsregeln für stabile Ergebnisse sorgen. Nach und nach erweitern Sie Ihre Projekte um Displays, I²C-Kommunikation und mehrere vernetzte Mikrocontroller. So entstehen verteilte Systeme, in denen Raspberry Pi Pico und ATtiny-Controller Daten austauschen und gemeinsam Aufgaben übernehmen.
Im fortgeschrittenen Teil erhalten Sie einen leicht verständlichen Einstieg in Merkmalsbildung, Datenvorverarbeitung, hybride Entscheidungsmodelle und TinyML-nahe Anwendungen. Dabei verbinden Sie klassische Regelungstechnik mit modernen datenbasierten Methoden.
Alle Projekte werden von ausführlich kommentierten Programmen in C und MicroPython begleitet. Das Buch richtet sich an Einsteiger, Maker, Studierende und alle, die Embedded-Systeme von Grund auf verstehen möchten.
Am Ende können Sie eigene Systeme entwickeln, die nicht nur messen, sondern Informationen auswerten, zuverlässige Entscheidungen treffen und gezielt reagieren.
Der Arduino Uno ist ein Open-Source-Mikrocontroller-Entwicklungssystem, das Hardware, eine integrierte Entwicklungsumgebung (IDE) und eine Vielzahl von Bibliotheken umfasst. Es wird von einer riesigen Gemeinschaft von Programmierern, Elektronikern, Enthusiasten und Akademikern unterstützt. Insbesondere die Bibliotheken erleichtern die Programmierarbeit und reduzieren die Entwicklungszeiten, da sie das Erstellen von Programmen erheblich erleichtern.
Der Raspberry Pi 4 kann in vielen Projekten wie Audio- und Videoanwendungen, aber auch in Industriesteuerungen, Robotik, Spielen usw. eingesetzt werden. Dazu bietet er auch WiFi- und Bluetooth-Fähigkeiten, wodurch er sich zudem hervorragend für internetbasierte Steuerungs- und Überwachungsanwendungen eignet.
In diesem Buch werden sowohl der Raspberry Pi 4 als auch der Arduino Uno in PID-basierten automatischen Steuerungsanwendungen eingesetzt. Nach einer grundlegenden Theorie der Regelsysteme werden funktionierende und getestete Projekte zur Steuerung realer Systeme mit PID-Reglern vorgestellt. Die Open-Loop-Eigenschaften, die Abstimmung der PID-Parameter und das Closed-Loop-Zeitverhalten der Systeme werden zusammen mit Blockdiagrammen, Schaltplänen und PID-Regelalgorithmen ausführlich diskutiert.
Vollständige Programme für den Raspberry Pi und den Arduino Uno runden die im Buch vorgestellten Projekte ab. Die Regelsysteme können problemlos auch auf andere Projekte angewendet werden und die für den Raspberry Pi 4 angegebenen Programme sollten auch mit anderen Modellen der Raspberry Pi-Familie reibungslos funktionieren.
Das Buch behandelt folgende Themen:
Steuer- und Regelsysteme
Analoge und digitale Sensoren
Übertragungsfunktionen und zeitkontinuierliche Systeme
Systemantwortfunktionen erster und zweiter Ordnung
Zeitdiskrete digitale Systeme
Zeitkontinuierliche PID-Regler
Zeitdiskrete PID-Regler
Zweipunkt-Temperaturregelung mit Raspberry Pi und Arduino Uno
PID-basierte Temperaturregelung mit Raspberry Pi und Arduino Uno
Motorsteuerung mit Raspberry Pi und Arduino Uno
Wasserstandsregelung mit Raspberry Pi und Arduino Uno
PID-basierte LED-Helligkeitsregelung mit Raspberry Pi und Arduino Uno
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.
Datenbankmodelle und -software für Elektronikanwendungen
Mit seiner Energieeffizienz und seinem reichen Spektrum an quelloffener Software eignet sich der Einplatinencomputer Raspberry Pi auch für die Speicherung von Daten und deren grafische Aufbereitung lokal oder im World Wide Web (WWW).
Dieses Buch stellt verschiedene Datenbankmodelle und diverse Datenbanksoftware vor:
SQL: MariaDB, SQLite
InfluxDB: Telegraf
Grafana
MQTT
Verschlüsselung mit RPi
Apache
PHP
Node RED
Docker
Es zeigt darüber hinaus ausgewählte Ansätze, gespeicherte Daten anzuzeigen und zu verwalten. Ein eigener Abschnitt ist sowohl der SSL-Verschlüsselung der Verbindung als auch dem Betrieb von Servern im WWW gewidmet.
Das Buch richtet sich an alle,
die neugierig sind und gerne die Möglichkeiten des Raspberry Pi ausloten möchten,
die einen Einstieg in das Datenmanagement mit Datenbanken suchen,
die mit einfachen Mitteln schnell loslegen möchten,
die Alternativen aufgezeigt bekommen möchten,
die in komprimierter Form Tipps für eigene Entwicklungen suchen,
die Freude am eigenen Entwickeln und Realisieren haben.
Programmierkenntnisse und -erfahrungen sind für die Installation der Software nicht erforderlich. Jeder einzelne Schritt wird detailliert beschrieben und mit Screenshots visuell unterlegt.
Dieses Bundle enthält alles, was Sie brauchen, um direkt mit dem XIAO ESP32-C3 Development Board loszulegen. Lernen Sie die Grundlagen des ESP32-C3 kennen und entwickeln Sie praktische Projekte mit Wi-Fi, Bluetooth, Sensoren, Displays, PWM, Deep Sleep und vielem mehr.
Buch: Build Smart Projects with the XIAO ESP32-C3 Board
Das XIAO ESP32-C3 Board kombiniert den ultrakompakten Formfaktor der XIAO-Serie mit den umfangreichen Funktionen des ESP32-C3-Chips, einschließlich integriertem Wi-Fi und Bluetooth 5.0. Dieses Buch ist ein umfassender, praxisorientierter Leitfaden, mit dem Sie das Potenzial dieses leistungsstarken und dennoch preisgünstigen Development Boards voll ausschöpfen können.
Der Autor führt die Leser von den Grundlagen bis hin zu fortgeschrittenen Projekten. Angefangen beim Blinken und Dimmen von LEDs geht es weiter mit ADC und PWM für die präzise Anbindung von Sensoren und PWM-gesteuerte Lichteffekte, bevor praktische Anwendungen aus der realen Welt umgesetzt werden, darunter:
Eine Wi-Fi-Wetterstation mit OLED-Display und aktuellen Online-Wetterdaten
Ein Ultraschall-Einparkassistent mit akustischer Rückmeldung
Eine Kühlschrank-Messsonde mit Klimasensoren und Deep Sleep für jahrelangen Batteriebetrieb
Ein Retro-Pong-Spiel, das berührungslos per Sensor gesteuert wird
Eine mikrofonbasierte Party-App, die auf Klatschen reagiert
Und vieles mehr: Lichtsteuerung, Reaktionszeitmessung, Netzfrequenzanalyse, Bodenfeuchtemessung, LED-Ambientebeleuchtung und 7-Segment-Anzeigen
Seeed Studio XIAO ESP32C3
Das Seeed Studio XIAO ESP32C3 ist mit einem hochintegrierten ESP32-C3-Chip ausgestattet, der auf einem 32-Bit-RISC-V-Prozessor mit vierstufiger Pipeline basiert und mit bis zu 160 MHz arbeitet.
Das Board verfügt über ein hochintegriertes ESP32-C3-SoC. Der Chip ist mit einem vollständigen 2,4-GHz-Wi-Fi-Subsystem ausgestattet und unterstützt damit den Station-Modus, SoftAP-Modus, SoftAP-&-Station-Modus sowie den Promiscuous-Modus für unterschiedliche Wi-Fi-Anwendungen. Gleichzeitig arbeitet er äußerst energieeffizient und unterstützt Bluetooth 5 sowie Bluetooth Mesh. Mit 400 KB SRAM und 4 MB Flash bietet der Chip ausreichend Speicherplatz für Programme und eröffnet zahlreiche Möglichkeiten für IoT-Steuerungsanwendungen.
Anwendungen
Internet der Dinge (IoT)
Wearables
Gesundheitsüberwachung
Bildung
Energiesparende Netzwerke
Schnelle Prototypenentwicklung
Technische Daten
Processor
ESP32-C3 SoC
RISC-V single-core 32-bit chip processor with a four-stage pipeline that operates at up to 160 MHz
Wireless
Complete 2.4GHz Wi-Fi subsystem
Bluetooth Low Energy 5.0/ Bluetooth Mesh
On-chip Memory
400 KB SRAM & 4 MB Flash
Interface
1x UART, 1x I²C, 1x SPI, 11x GPIO (PWM), 4x ADC
1x Reset button, 1x Boot button
Power (Typ.)
Max 3.3 V Output Current: 500 mA Test Condition: BAT Pin Input @ 3.8 V Source Capability: 3 A
Charging current: 380 mA(Fast) / 40 mA(Trickle)
Input voltage (VIN): 5 VInput voltage (BAT): 3.7 V
Deep Sleep Power Consumption
Deep Sleep Mode: 44 μA
Wi-Fi Enabled Power Consumption
Active Mode: 75 mA
Modem-sleep Mode: 25 mA
Light-sleep Mode: 4 mA
BLE Enabled Power Consumption
Modem-sleep Mode: 27 mA
Light-sleep Mode: 10 mA
Dimensions
21 x 17.8 mm
Lieferumfang
1x Seeed Studio XIAO ESP32C3
1x Antenne
2x 7-Pin-Header
Downloads
Wiki
Datasheet
Dieses Bundle enthält:
Buch: Build Smart Projects with the XIAO ESP32-C3 Board (Einzelpreis: 35 €)
Board: Seeed Studio XIAO ESP32C3 (Einzelpreis: 10 €)
Verbessern Sie Ihren Raspberry Pi 5 mit dem Pironman 5, der aus robustem Aluminium, hervorragender Kühlung, NVMe M.2 SSD-Unterstützung, OLED-Display, RGB-Beleuchtung, Standard-HDMI-Anschlüssen x2 und einem sicheren Netzschalter besteht. Es ist perfekt für NAS, Home Assistant, Medien- und Game Center. Der Pironman 5 ist nicht nur ein Gehäuse, sondern ein Upgrade, das Ihren Raspberry Pi 5 in ein leistungsstarkes, effizientes und elegantes Gerät verwandelt.
Der Pironman 5 enthält das Pi 5 NVMe PIP (PCIe Peripheral Board), eine PCIe-Adapterplatine, die speziell für NVMe-Solid-State-Laufwerke entwickelt wurde. Dieses Board unterstützt vier Größen von NVMe-SSDs: 2230, 2242, 2260 und 2280, die alle in einem M.2-M Key-Steckplatz installiert werden können. Die Verbindung ist für Gen 2.0-Geschwindigkeiten (5 GT/Sek.) zertifiziert, kann jedoch für eine schnellere Leistung auf Gen 3.0 (10 GT/Sek.) erzwungen werden.
Erweiterbarer NVMe M.2 SSD-Steckplatz
Steigern Sie die Leistung Ihres Raspberry Pi 5 mit dem NVMe M.2 SSD-Steckplatz des Pironman 5, der mehrere Größen (2230, 2242, 2260, 2280) für mehr Speicher und schnellere Systemreaktionen unterstützt.
Erweitertes Kühlsystem
Halten Sie Ihren Raspberry Pi 5 kühl und stilvoll mit dem Tower-Kühler und den zwei RGB-Lüftern des Pironman 5, der mit Staubfiltern für einen langlebigen, wartungsarmen Betrieb ausgestattet ist.
OLED-Display für sofortige Einblicke
Der Pironman 5 verfügt über ein 0,96" OLED-Display, das sofortige Updates zu CPU- und RAM-Auslastung, Temperatur, IP-Adresse und mehr bietet.
Verbesserte Funktionalität und Sicherheit
Der Pironman 5 sichert Ihren Raspberry Pi 5 mit Funktionen wie sicherem Herunterfahren, anpassbaren RGB-LEDs, HDMI-Anschlüssen, einem IR-Empfänger und einem externen GPIO-Extender und verbessert so die Funktionalität und Konnektivität.
Features
Raspberry Pi 5 Mini-PC
0,96-Zoll-OLED-Display, das CPU-Auslastung, Temperatur, Festplattennutzung, IP-Adresse, RAM-Auslastung usw. des Raspberry Pi anzeigt.
Der Tower-Kühler kann einen Pi mit 100% CPU-Last auf 39°C bei 25°C Raumtemperatur kühlen.
2 RGB-Lüfter mit GPIO-Steuerung
1 PWM-Lüfter am Tower Cooler wird vom Raspberry Pi-System gesteuert.
Unterstützt vier (PCIe Gen 2.0 / PCIe Gen 3.0) NVMe M.2 SSD-Größen: 2230, 2242, 2260 und 2280.
4 adressierbare WS2812 RGB-LEDs beleuchten das gesamte Gehäuse mit einem coolen Lichteffekt
IR-Empfänger für Multimedia-Center wie Kodi oder Volumio
Retro-Einschaltknopf aus Metall für sicheres Ausschalten
Externer GPIO-Extender mit Pin-Namensschild für einfachen Zugriff
Ausgestattet mit einem federbelasteten Sockel zum einfachen Entfernen der Karte
Aluminium-Hauptgehäuse mit durchsichtiger Acryl-Seitenwand
Verfügt über zwei Standard-HDMI-Anschlüsse
Downloads
Dokumentation
Projects with Arduino Uno & Raspberry Pi with Examples for the MCP2515 CAN Bus Interface Module
This book details the use of the Arduino Uno and the Raspberry Pi 4 in practical CAN bus based projects. Using either the Arduino Uno or the Raspberry Pi with off-the-shelf CAN bus interface modules considerably ease developing, debugging, and testing CAN bus based projects.
This book is written for students, practicing engineers, enthusiasts, and for everyone else wanting to learn more about the CAN bus and its applications. The book assumes that the reader has some knowledge of basic electronics. Knowledge of the C and Python programming languages and programming the Arduino Uno using its IDE and Raspberry Pi will be useful, especially if the reader intends to develop microcontroller-based projects using the CAN bus.
The book should be a useful source of reference material for anyone interested in finding answers to questions such as:
What bus systems are available for the automotive industry?
What are the principles of the CAN bus?
How can I create a physical CAN bus?
What types of frames (or data packets) are available in a CAN bus system?
How can errors be detected in a CAN bus system and how dependable is a CAN bus system?
What types of CAN bus controllers exist?
How do I use the MCP2515 CAN bus controller?
How do I create 2-node Arduino Uno-based CAN bus projects?
How do I create 3-node Arduino Uno-based CAN bus projects?
How do I set the acceptance masks and acceptance filters?
How do I analyze data on the CAN bus?
How do I create 2-node Raspberry Pi-based CAN bus projects?
How do I create 3-node Raspberry Pi-based CAN bus projects?
Technische Spezifikationen
Zwei ARM Cortex-M0+ mit 133 MHz
264 kB On-Chip-SRAM in sechs unabhängigen Bänken
Unterstützung für bis zu 16 MB Off-Chip-Flash-Speicher über dedizierten QSPI-Bus
DMA-Steuerung
Vollständig angeschlossene AHB-Crossbar
Interpolator- und Integer-Teiler-Peripherie
On-Chip programmierbarer LDO zur Erzeugung der Kernspannung
2x On-Chip-PLLs zur Erzeugung von USB- und Kerntakten
30x GPIO-Pins, von denen 4 als Analogeingänge verwendet werden können
Peripheriegeräte
2x UARTs
2x SPI-Steuerungen
2x I²C-Steuerungen
16x PWM-Kanäle
USB 1.1-Controller und PHY, mit Host- und Geräteunterstützung
8x PIO-Zustandsmaschinen
Was Sie erhalten
10x nackte RP2040-Chips
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.
Dit boek gaat over de Raspberry Pi, en over het programmeren in C. De programmeertaal C en het besturingssysteem Linux (Raspbian) passen uitstekend bij elkaar. Alles wat we nodig hebben om in C te programmeren wordt meegeleverd met het besturingssysteem van de Raspberry Pi.
In dit boek leert u hoe C gebruikt wordt met de Raspberry Pi, en krijgt u een overzicht van de taal.
WiringPi is een softwarebibliotheek voor de Raspberry Pi waarmee C hardware-uitbreidingen kan benaderen. Die bibliotheek wordt gebruikt om sensoren uit te lezen en om extra hardware aan te sturen. U gaat experimenteren met LED’s en schakelaars, met motoren, met geluid en met sensoren voor temperatuur, luchtdruk, en luchtvochtigheid.
Met een Linux-systeem kunt u een webserver maken, inclusief interactieve websites met PHP en WiringPi. Daarom is ook een beknopt overzicht van HTML en PHP in het boek opgenomen. In de voorbeelden worden sensoren via het web uitgelezen en worden apparaten bestuurd. In het laatste voorbeeld wordt een temperatuurlogger gemaakt. Die meet elk kwartier de temperatuur. Een tabel met de meetwaarden kan via het web worden uitgelezen.
Alle voorbeeldprogramma’s kunnen worden gedownload van de website van Elektor.