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 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.
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.
For Raspberry Pi, ESP32 and nRF52 with Python, Arduino and Zephyr
Bluetooth Low Energy (BLE) radio chips are ubiquitous from Raspberry Pi to light bulbs. BLE is an elaborate technology with a comprehensive specification, but the basics are quite accessible.
A progressive and systematic approach will lead you far in mastering this wireless communication technique, which is essential for working in low power scenarios.
In this book, you’ll learn how to:
Discover BLE devices in the neighborhood by listening to their advertisements.
Create your own BLE devices advertising data.
Connect to BLE devices such as heart rate monitors and proximity reporters.
Create secure connections to BLE devices with encryption and authentication.
Understand BLE service and profile specifications and implement them.
Reverse engineer a BLE device with a proprietary implementation and control it with your own software.
Make your BLE devices use as little power as possible.
This book shows you the ropes of BLE programming with Python and the Bleak library on a Raspberry Pi or PC, with C++ and NimBLE-Arduino on Espressif’s ESP32 development boards, and with C on one of the development boards supported by the Zephyr real-time operating system, such as Nordic Semiconductor's nRF52 boards.
Starting with a very little amount of theory, you’ll develop code right from the beginning. After you’ve completed this book, you’ll know enough to create your own BLE applications.
Entdecken Sie grenzenlose Kreativität mit dem Universal Maker Sensor Kit, das für Raspberry Pi, Pico W, Arduino und ESP32 entwickelt wurde. Dieses vielseitige Kit ist mit gängigen Entwicklungsplattformen kompatibel, darunter Arduino Uno R4 Minima/WiFi, Uno R3, Mega 2560, Raspberry Pi 5, 4, 3B+, 3B, Zero, Pico W und ESP32.
Mit über 35 Sensoren, Aktoren und Displays eignet es sich perfekt für Projekte von Umweltüberwachung und Smart-Home-Automatisierung bis hin zu Robotik und interaktivem Gaming. Schritt-für-Schritt-Tutorials in C/C++, Python und MicroPython führen Anfänger und erfahrene Maker gleichermaßen durch 169 spannende Projekte.
Features
Umfassende Kompatibilität: Vollständige Unterstützung für Arduino (Uno R3, Uno R4 Minima/WiFi, Mega 2560), Raspberry Pi (5, 4, 3B+, 3B, Zero, Pico W) und ESP32. Dies ermöglicht umfassende Flexibilität auf zahlreichen Entwicklungsplattformen. Enthält Anleitungen für 169 Projekte.
Umfassende Komponenten: Mehr als 35 Sensoren, Aktoren und Anzeigemodule für vielfältige Projekte wie Umweltüberwachung, Smart Home-Automatisierung, Robotik und interaktive Spielesteuerungen.
Ausführliche Tutorials: Klare Schritt-für-Schritt-Anleitungen für Arduino, Raspberry Pi, Pico W, ESP32 und alle enthaltenen Komponenten. Es stehen Tutorials in C/C++, Python und MicroPython zur Verfügung, die sowohl für Anfänger als auch für erfahrene Maker geeignet sind.
Für alle Kenntnisstufen geeignet: Bietet strukturierte Projekte, die Benutzer nahtlos vom Anfänger zum Fortgeschrittenen in Elektronik und Programmierung führen und so Kreativität und technisches Know-how fördern.
Lieferumfang
Breadboard
Tastenmodul
Kapazitives Bodenfeuchtemodul
Flammensensormodul
Gas-/Rauchsensormodul (MQ2)
Gyroskop & Beschleunigungssensormodul (MPU6050)
Hall-Sensormodul
Infrarot-Geschwindigkeitssensormodul
IR-Hindernisvermeidungssensormodul
Joystickmodul
PCF8591 ADC/DAC-Wandlermodul
Fotowiderstandsmodul
PIR-Bewegungssensormodul (HC-SR501)
Potentiometermodul
Pulsoximeter- und Herzfrequenzsensormodul (MAX30102)
Regentropfenerkennungsmodul
Echtzeituhrmodul (DS1302)
Drehgebermodul
Temperatursensormodul (DS18B20)
Temperatur- und Feuchtigkeitssensormodul (DHT11)
Temperatur, Luftfeuchtigkeit und Drucksensor (BMP280)
Time-of-Flight-Mikro-LIDAR-Distanzsensor (VL53L0X)
Berührungssensormodul
Ultraschallsensormodul (HC-SR04)
Vibrationssensormodul (SW-420)
Wasserstandssensormodul
I²C LCD 1602
OLED-Displaymodul (SSD1306)
RGB-LED-Modul
Ampelmodul
5-V-Relaismodul
Kreiselpumpe
L9110-Motortreibermodul
Passives Summermodul
Servomotor (SG90)
TT-Motor
ESP8266 Modul
JDY-31 Bluetooth-Modul
Stromversorgungsmodul
Dokumentation
Online-Tutorial
Touch-GUI voor ESP32 en Raspberry & cografische gebruikersinterface met de LittlevGL-bibliotheek
“Niet zomaar een project”vraaggesprek met Gábor Kiss-Vámosi, ontwikkelaar van LittlevGL
Capaci-metermet tweecijferig LED-display in dekatron-stijl
Hoe... een mechanisch contact of schakelaar ontdendereneen schakelaar is open of gesloten – toch?
Developer's Zonetips & trucs, vakkunstigheden en andere nuttige informatie
Uitbreidbaar milieumonitorsysteempubliceert gegevens op IoT-platforms
Multitasking met de ESP32Multitasking met de ESP32 taakgeoriënteerd programmeren met FreeRTOS en de Arduino IDE
Interactiefcorrecties & updates || vragen & antwoorden
Autoverlichting tunenlegaal, illegaal – maakt wél uit!
Review Toolcraft digitaal soldeerstation
Arduino Pro IDEeen eerste indruk
Twee warmtebeeldcamera’s vergeleken
Uit het leven gegrepende inrichting van een lab en werkplaats
Monsanto MAN1 LED-displayvreemde onderdelen
Theetimereen experiment met energy harvesting
Eenfase 1 kW AC-motorsturingdrie bedrijfsmodi: perioderegeling, fase-afsnijding en fase-aansnijding
Snel 3,5'-touchscreen voor de Raspberry Pipresteert beter voor hetzelfde geld
Oost West Lab Besteen blik in het allerheiligste, waar onbevoegden geen toegang hebben...
Eerste stappen met RISC-Vhet LoFive-board onder de loep
LoRa-Tracker: een uitdaging voor het labproblemen en oplossingen bij de ontwikkeling van elektronica
Met de vos in het IoT (2)aanmelden in het Sigfox-netwerk
Alle begin......hoeft niet zo moeilijk te zijn
Analoge elektronica ontwerpencase-study #1 – deel 1: MEMS-microfoon... test-een-twee-drie
Wie het kleine niet eertuit de ideeënbus van Elektor
In het kort: teksten voor microcontrollersspaar geheugen met compressie
In de schijnwerpers: de autonome autooverzicht van de stand van de techniek
Leidende start-ups en innovatoren over “Innovation 4.0” in München
Lego Electronic anno 1968elektronisch speelgoed fascineert na 50 jaar nog steeds
Beyond ElectronicsThe MX3D Bridge Senses the City
Hexadoku
Elektor GREEN and GOLD members can download their digital edition here.
Not a member yet? Click here.
For Eyes and Ears
Video Output with Microcontrollers (1)Composite Video
electronica 2022News from the world’s leading electronics trade show
ESP32 CameraSo Simple, It Doesn’t Even Have to Use Wi-Fi
ATX Power Supply for Raspberry Pi
32 Ω Headphone AmplifierSimple But High-Quality 3-Chip Solution
SDR Radio-Controlled clocksFive Time Signals, Six Displays
Starting Out in ElectronicsSpecial Diodes
From Life's ExperienceMusings on the Quality of Things
Reverse-Engineering a Bluetooth Low Energy LED BadgeHow to Control a BLE Device with a Python Script
MakePython ESP32 Development KitEverything in a Box
THD Measurement with an Oscilloscope and FFTEasily Calculate the Distortion Factor
All-Seeing MachinesThe Technology Behind Today’s Industrial Vision Systems
Infographics
The Evolution of Voice and Audio Control for Electronic Devices
WEEF 2022 in Review
FFWD electronica 2022 in ReviewInnovators Did Not Fail to Impress
The TubeAn Unusual Tube Amplifier
Biomaterial in Electronics: Ready or Not
Opera Cake Antenna Switch for HackRF OneConnect Up To Eight Antennas To Your SDR
Engineering with Arduino and MoreAn Interview with Author Ashwin Pajankar
LiDAR Precision GaugeMeasure up to 12 Meters
Audio Signals and the ESP32The ESP-ADF Environment in Practice
Elektor Fortissimo-100 Power Amplifier Kit
Using Light for Sound EffectsLDR-Based Voltage-Controlled 24 dB/oct Synthesizer Filter
Elektor High-Power AF AmplifierThe Loudest of Them All!
HomeLab ToursA Volumetric Display Made in Canada
Err-lectronicsCorrections, Updates and Readers’ Letters
Hexadoku
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.
Le téléchargement intégral de ce numéro est disponible pour nos membres GOLD et GREEN sur le site Elektor Magazine !
Pas encore membre ? Cliquez ici.
adaptateur de mesure USBTest du courant et des signaux des ports USB
sortie boucle de courant 4-20 mA pour Arduino UnoUne interface de boucle de courant fiable et insensible aux interférences électromagnétiques
commande automatique pour aspirateurGardez votre établi propre
générateur DDS avec ATtiny
testeur d'ampli-op V2Nouveau circuit imprimé – désormais compatible avec les CMS
amplificateur audio à tube 550 mWson chaleureux des tubes à vide
surveillance des fusiblesavec une LED clignotante
préamplificateur RIAA HQExploitez tout le potentiel sonore de vos disques vinyles !
Outil de réglage pour platines vinylesGénérateur de lumière stroboscopique 100–120 Hz basé sur Arduino
Elektor Classics : ampli vidéo
gradateur à télécommande infrarougeContrôlez votre éclairage avec confort et précision
comment utiliser switch…case avec des chaînes de caractères en C++/EDI Arduino
détecteur d’aimantsAvec un simple capteur à effet Hall
bouton de mise sous tension intelligent pour Raspberry PiUne solution pour Raspberry Pi jusqu’au modèle 4
astuces clés pour makersDes conseils pros pour vos projets
projets pratiques avec le timer 555Commande de moteur CC et jeux de rapidité
moniteur de charge CA simpleÉconomisez de l'énergie grâce à un appareil simple
batteries externes en parallèleTrois jours d’autonomie
VFO jusqu’à 15 MHzRéalisation avec un Raspberry Pi Pico
accordeur de violon avec ATtiny202
Elektor Classics : ampli vidéo pour TV N&B
capacimètre20 pF à 600 nF
horloge quasi analogique Mk IIDeux anneaux LED pour les heures et les minutes
concevez sans limites(grâce à l’écosystème complet d’Arduino)
dé à lampes néon
Elektor Classics : indicateur d'accord RTTY
solutions matérielles inspirantes pour vos projets ESP
Elektor Classics : alimentation 3 A
LED RGB avec circuit de commande intégréLumière de précision : les ICLED établissent de nouvelles normes
expérience : un Thérémine analogico-numérique ?Combiner des capteurs numériques modernes avec l’intemporel générateur analogique XR2206
carte émetteur-récepteur audio ESP32 (1)Démo : lecture de fichiers WAV depuis une carte SD
infographies : Circuits et conception de circuits 2025
petit mixeur audioUne conception polyvalente et modulable
minuteur intelligent pour éclairage d’escalierÉconomisez encore plus sur votre facture d’énergie !
modernisez vos voletsContrôlez les systèmes Velux avec un ESP32 et MQTT
chauffe-pieds à transistorsConfort économe en énergie
le quadricoptère M5Stamp Fly est-il le prochain drone Tello ? (Revue)
optimiser la portée Wi-Fi de l’ESP32-C3 SuperMiniUne modification d’antenne simple et efficace
station de soudage à air chaud ZD-8968Un outil de travail économique ou uniquement de l'air chaud ?
testeur de radar de reculDétecter les pannes du système d’aide au stationnement d’un véhicule
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.
Die Programmiersprache „Python“ hat in den letzten Jahren einen enormen Aufschwung erlebt. Nicht zuletzt haben verschiedene Einplatinensysteme wie der Raspberry Pi zu deren Bekanntheitsgrad beigetragen. Aber auch in anderen Gebieten, wie der Künstlichen Intelligenz oder dem Machine Learning, hat Python weite Verbreitung gefunden. Es ist daher naheliegend, Python bzw. die Variante „MicroPython“ auch für den Einsatz in SoCs (Systems on Chip) zu verwenden.
Leistungsfähige Controller wie der ESP32 der Firma Espressif Systems bieten eine hervorragende Performance sowie Wi-Fi- und Bluetooth-Funktionalität zu einem günstigen Preis. Mit diesen Eigenschaften wurde die Maker-Szene im Sturm erobert. Im Vergleich zu anderen Controllern weist der ESP32 einen deutlich größeren Flash und SRAM-Speicher, sowie eine wesentlich höhere CPU-Geschwindigkeit auf. Aufgrund dieser Leistungsmerkmale eignet sich der Chip nicht nur für klassische C-Anwendungen, sondern insbesondere auch für die Programmierung mit MicroPython.
Das vorliegende Buch führt in die Anwendung der modernen Ein-Chip-Systeme ein. Neben den technischen Hintergründen steht vor allem MicroPython selbst im Vordergrund. Nach der Einführung in die Sprache werden die erlernten Programmierkenntnisse umgehend in die Praxis umgesetzt. Die einzelnen Projekte sind sowohl für den Einsatz im Labor als auch für Alltagsanwendungen geeignet. Neben dem eigentlichen Lerneffekt steht also auch die Freude am Aufbau kompletter und nützlicher Geräte im Vordergrund. Durch die Verwendung von Laborsteckboards können Schaltungen aller Art mit geringem Aufwand realisiert werden, sodass das Austesten der selbstgebauten Geräte zum lehrreichen Vergnügen wird.
Durch die verschiedenen Anwendungen wie Wetterstationen, Digitalvoltmeter, Ultraschall-Entfernungsmesser, RFID-Kartenleser oder Funktionsgeneratoren sind die vorgestellten Projekte auch für Praktika oder Fach- und Studienarbeiten in den Naturwissenschaften bzw. im Natur- und Technikunterricht bestens geeignet.