Atmel AVR ist eine 8-bit-Mikrocontroller-Familie des Herstellers Atmel. Diese Controller sind wegen ihres einfachen Aufbaus, ihrer leichten Programmierbarkeit, den kostenlosen Entwicklungswerkzeugen und der Verfügbarkeit in DIP-Gehäuseformen auch bei Elektronikern und Makern äußerst beliebt. Darüber hinaus sind diese Controller bereits ab zwei Euro erhältlich. Im Arduino Uno-Board wird der ATmega328 verwendet.
AVR-Programmierung für Quereinsteiger besteht aus zwei Teilen. Im ersten Teil wird in einfachen Worten erklärt, wie eine MCU (= Micro Controller Unit) im Detail arbeitet. Dem folgt eine Einführung in die Programmiersprache C. Anschließend taucht der Leser im zweiten Teil des Buches in die Welt der Register und ihre Bits ein. Dort findet man auch ein umfangreiches Glossar aller Register- und Bit-Namen. Das Buch dient somit auch als Nachschlagewerk, wenn man sich durch das Datenblatt oder andere Texte arbeiten muss.
Das Buch wendet sich an alle, die bisher mit dem Arduino programmiert haben und nun nach technischen Möglichkeiten und Wegen suchen, ihre Elektronik- und Programmierkenntnisse zu erweitern. Dazu eignet sich die AVR-Programmierung im besonderen Maße.
Programmierung in Assembler und C am Beispiel der ATtiny-Familie
Dieses Buch bietet einen eingehenden Blick auf die 8-Bit-AVR-Architektur in ATtiny- und ATmega-Mikrocontrollern, hauptsächlich aus der Sicht der Software und der Programmierung. Erforschen Sie die AVR-Architektur unter Verwendung von C und Assembler in Microchip Studio (früher Atmel Studio) mit ATtiny-Mikrocontrollern.
Lernen Sie die Details der internen Funktionsweise von AVR-Mikrocontrollern kennen, einschließlich der internen Register und des Speicherplans von ATtiny-Bausteinen.
Programmieren Sie ATtiny-Mikrocontroller mit einem Atmel-ICE-Programmiergerät/Debugger oder verwenden Sie ein preiswertes Hobby-Programmiergerät oder sogar einen Arduino Uno als Programmiergerät.
Die meisten Code-Beispiele können mit dem Microchip Studio AVR-Simulator ausgeführt werden.
Lernen Sie, Programme für ATtiny-Mikrocontroller in Assembler zu schreiben.
Erfahren Sie, wie Assemblersprache in Maschinencodebefehle umgewandelt wird.
Finden Sie heraus, wie Programme, die in der Programmiersprache C geschrieben wurden, in Assemblersprache und schließlich in Maschinencode umgewandelt werden.
Verwenden Sie den Microchip Studio Debugger in Kombination mit einem Hardware-USB-Programmierer/Debugger, um Assembler- und C-Programme zu testen oder verwenden Sie den Microchip Studio AVR-Simulator.
ATtiny-Mikrocontroller im DIP-Gehäuse werden verwendet, um eine einfache Nutzung auf Breadboards zu ermöglichen.
Erfahren Sie mehr über Timing und Taktimpuls in AVR-Mikrocontrollern mit ATtiny-Bausteinen.
Werden Sie zu einem AVR-Experten mit fortgeschrittenen Debugging- und Programmierfähigkeiten.
AVR Architecture and Programming An in-depth look at the 8-bit AVR architecture found in ATtiny and ATmega microcontrollers, mainly from a software and programming point of view. Explore the AVR architecture using C and assembly language in Microchip Studio (formerly Atmel Studio) with ATtiny microcontrollers. Learn the details of how AVR microcontrollers work internally, including the internal registers and memory map of ATtiny devices. Program ATtiny microcontrollers using an Atmel-ICE programmer/debugger, or use a cheap hobby programmer, or even an Arduino Uno as a programmer. Most code examples can be run using the Microchip Studio AVR simulator. Learn to write programs for ATtiny microcontrollers in assembly language. See how assembly language is converted to machine code instructions by the assembler program. Find out how programs written in the C programming language end up as assembly language and finally as machine code instructions. Use the Microchip Studio debugger in combination with a hardware USB programmer/debugger to test assembly and C language programs, or use the Microchip Studio AVR simulator. DIP packaged ATtiny microcontrollers are used in this volume for easy use on electronic breadboards, targeting mainly the ATtiny13(A) and ATtiny25/45/85. Learn about instruction timing and clocks in AVR microcontrollers using ATtiny devices. Be on your way to becoming an AVR expert with advanced debugging and programming skills.
Mikrocontroller haben sich in den letzten Jahren in praktisch allen Bereichen der modernen Technik etabliert. In zunehmendem Maße dringen sie auch in die Gebiete der Künstlichen Intelligenz und der Robotertechnik vor. Das vorliegende Buch gibt eine umfassende Einführung in die Welt der Controller-Technik mit all ihren Facetten, von der einfachen Steuerung über die Sensor-Technik bis hin zur Datenübertragung in das Internet.
Als Basis dafür dient das von Elektor entwickelte AVR-Playground-Board. Das Board kann mit Controllern der ATmega-Familie bestückt werden und ist mit dem bekannten Arduino-System kompatibel, so dass auch die verschiedenen Arduino-Hardware-Erweiterungen verwendet werden können.
Für die Programmierung kommt die Sprache „C“ zum Einsatz. Auch hier wird im Buch auf das Arduino-System zurückgegriffen. Die frei verfügbare Arduino-Entwicklungsumgebung erlaubt den leichten Einstieg, ohne dass später Einschränkungen in Kauf genommen werden müssen. Die Hardware-nahe Programmierung steht dabei besonders im Fokus. Nach der Erläuterung von grundlegenden Anwendungen wird auf die anspruchsvolleren Themen wie Interrupts, Timer und Counter, Pulsweitenmodulation und Analog-Digital-Wandlung eingegangen.
Praktische Anwendungen können sowohl mit einem Arduino als auch mit dem AVR-Playground-Board durchgeführt werden. Da das AVR-Playground-Board bereits über eine Vielzahl von Peripherie-Einheiten verfügt, sind nur noch wenige externe Bauteile erforderlich. Das Board kann im Elektor-Shop hier bezogen werden.
Realize your own projects with the Elektor Arduino Nano MCCAB Training Board
The microcontroller is probably the most fascinating subfield of electronics. Due to the multitude of functions, it combines on its chip, it is a universal multi-tool for developers to realize their projects. Practically every device of daily use today is controlled by a microcontroller. However, for an electronic layman, realizing his own ideas with a microcontroller has so far remained a pipe dream due to its complexity. The Arduino concept has largely simplified the use of microcontrollers, so that now even laymen can realize their own electronics ideas with a microcontroller.
Book & Hardware in the Bundle: 'Learning by Doing'
This book, which is included in the bundle, shows how you can realize your own projects with a microcontroller even without much experience in electronics and programming languages. It is a microcontrollers hands-on course for starters, because after an overview of the internals of the microcontroller and an introduction to the programming language C, the focus of the course is on the practical exercises. The reader acquires the necessary knowledge by 'learning by doing': in the extensive practical section with 12 projects and 46 exercises, what is learned in the front part of the book is underpinned with many examples. The exercises are structured in such a way that the user is given a task to solve using the knowledge built up in the theoretical part of the book. Each exercise is followed by a sample solution that is explained and commented on in detail, which helps the user to solve problems and compare it with his own solution.
Arduino IDE
The Arduino IDE is a software development environment that can be downloaded for free to your own PC and that contains the entire software package needed for your own microcontroller projects. You write your programs ('apps') with the IDE’s editor in the C programming language. You translate them into the bits and bytes that the microcontroller understands using the Arduino IDE's built-in compiler, and then load them into the microcontroller's memory on the Elektor Arduino MCCAB Nano Training Board via a USB cable.
Query or control external sensors, motors or assemblies
In addition to an Arduino Nano microcontroller module, the Elektor Arduino Nano MCCAB Training Board contains all the components required for the exercises, such as light-emitting diodes, switches, pushbuttons, acoustic signal transmitters, etc. External sensors, motors or assemblies can also be queried or controlled with this microcontroller training system.
Specifications (Arduino Nano MCCAB Training Board)
Power Supply
Via the USB connection of the connected PC or an external power supply unit (not included)
Operating Voltage
+5 Vcc
Input Voltage
All inputs
0 V to +5 V
VX1 and VX2
+8 V to +12 V (only when using an external power supply)
Hardware periphery
LCD
2x16 characters
Potentiometer P1 & P2
JP3: selection of operating voltage of P1 & P2
Distributor
SV4: Distributor for the operating voltagesSV5, SV6: Distributor for the inputs/outputs of the microcontroller
Switches and buttons
RESET button on the Arduino Nano module 6x pushbutton switches K1 ... K6 6x slide switches S1 ... S6 JP2: Connection of the switches with the inputs of the microcontroller
Buzzer
Piezo buzzer Buzzer1 with jumper on JP6
Indicator lights
11 x LED: Status indicator for the inputs/outputs LED L on the Arduino Nano module, connected to GPIO D13 JP6: Connection of LEDs LD10 ... LD20 with GPIOs D2 ... D12
Serial interfacesSPI & I²C
JP4: Selection of the signal at pin X of the SPI connector SV12 SV9 to SV12: SPI interface (3.3 V/5 V) or I²C interface
Switching output for external devices
SV1, SV7: Switching output (maximum +24 V/160 mA, externally supplied) SV2: 2x13 pins for connection of external modules
3x3 LED matrix(9 red LEDs)
SV3: Columns of the 3x3 LED matrix (outputs D6 ... D8) JP1: Connection of the rows with the GPIOs D3 ... D5
Software
Library MCCABLib
Control of hardware components (switches, buttons, LEDs, 3x3 LED matrix, buzzer) on the MCCAB Training Board
Operating Temperature
Up to +40 °C
Dimensions
100 x 100 x 20 mm
Specifications (Arduino Nano)
Microcontroller
ATmega328P
Architecture
AVR
Operating Voltage
5 V
Flash Memory
32 KB, of which 2 KB used by bootloader
SRAM
2 KB
Clock Speed
16 MHz
Analog IN Pins
8
EEPROM
1 KB
DC Current per I/O Pins
40 mA on one I/O pin, total maximum 200 mA on all pins together
Input Voltage
7-12 V
Digital I/O Pins
22 (6 of which are PWM)
PWM Output
6
Power Consumption
19 mA
Dimensions
18 x 45 mm
Weight
7 g
Included
Elektor Arduino Nano MCCAB Training Board
Arduino Nano
Book: Microcontrollers Hands-on Course for Arduino Starters
Programmierung in Assembler und C am Beispiel der ATtiny-Familie
Dieses Buch bietet einen eingehenden Blick auf die 8-Bit-AVR-Architektur in ATtiny- und ATmega-Mikrocontrollern, hauptsächlich aus der Sicht der Software und der Programmierung. Erforschen Sie die AVR-Architektur unter Verwendung von C und Assembler in Microchip Studio (früher Atmel Studio) mit ATtiny-Mikrocontrollern.
Lernen Sie die Details der internen Funktionsweise von AVR-Mikrocontrollern kennen, einschließlich der internen Register und des Speicherplans von ATtiny-Bausteinen.
Programmieren Sie ATtiny-Mikrocontroller mit einem Atmel-ICE-Programmiergerät/Debugger oder verwenden Sie ein preiswertes Hobby-Programmiergerät oder sogar einen Arduino Uno als Programmiergerät.
Die meisten Code-Beispiele können mit dem Microchip Studio AVR-Simulator ausgeführt werden.
Lernen Sie, Programme für ATtiny-Mikrocontroller in Assembler zu schreiben.
Erfahren Sie, wie Assemblersprache in Maschinencodebefehle umgewandelt wird.
Finden Sie heraus, wie Programme, die in der Programmiersprache C geschrieben wurden, in Assemblersprache und schließlich in Maschinencode umgewandelt werden.
Verwenden Sie den Microchip Studio Debugger in Kombination mit einem Hardware-USB-Programmierer/Debugger, um Assembler- und C-Programme zu testen oder verwenden Sie den Microchip Studio AVR-Simulator.
ATtiny-Mikrocontroller im DIP-Gehäuse werden verwendet, um eine einfache Nutzung auf Breadboards zu ermöglichen.
Erfahren Sie mehr über Timing und Taktimpuls in AVR-Mikrocontrollern mit ATtiny-Bausteinen.
Werden Sie zu einem AVR-Experten mit fortgeschrittenen Debugging- und Programmierfähigkeiten.
De schrijver laat niet alleen beginners maar ook gevorderden op professionele wijze en met verstand van zaken kennismaken met dit uiterst interessant onderwerp. Ook hobbyisten of professionals die hun kennis willen verdiepen of uitbreiden, krijgen daartoe in dit boek volop mogelijkheid. De moderne state-of-the-art AVR-processoren van Atmel vormen in combinatie met programmering in C een platform dat gedurende lange tijd actueel zal blijven.
Na een inleiding en een kennismaking met de vereiste ontwikkelomgeving komen projecten aan bod die stap voor stap naar het gewenste doel leiden. Voor de meeste projecten wordt het Mini-Megaboard gebruikt – een experimenteerprint die oorspronkelijk in het maandblad Elektor is beschreven. Dit garandeert dat de beschreven projecten probleemloos kunnen worden nagebouwd. Maar natuurlijk kunnen ook eigen experimenteerprinten worden gebruikt – een van de doelstellingen van dit boek is immers dat de lezer uiteindelijk zelfstandig eigen schakelingen kan ontwerpen en bouwen.
Een greep uit de inhoud:
De juiste microcontroller
De ontwikkelomgeving
De eerste experimenten met de ?C
Het Mini-Mega-board
Beginselen van I/O
Vloeibaar-kristal-displays
Seriële data-overdracht
Analoge in- en uitvoer
Programmasturing met interrupts
Timers en counters
Geheugenoperaties
De seriële I²C-bus en SPI
Voorbeeldprojecten
Mit dem Elektor Arduino Nano Trainingsboard (MCCAB) eigene Projekte realisieren
Der Mikrocontroller ist das wohl faszinierendste Teilgebiet der Elektronik, denn aufgrund der Vielzahl von Funktionen, die er auf seinem Chip vereinigt, ist er für den Entwickler ein universelles Multi-Tool zur Realisierung seiner Projekte. Praktisch jedes Gerät des täglichen Gebrauchs wird heute von einem Mikrocontroller gesteuert. Für einen elektronischen Laien blieb es aufgrund der Komplexität bisher allerdings ein Wunschtraum, eigene Ideen mit einem Mikrocontroller zu realisieren. Das Arduino-Konzept hat den Einsatz von Mikrocontrollern weitgehend vereinfacht, sodass jetzt auch Laien eigene Elektronik-Ideen mit einem Mikrocontroller verwirklichen können.
Buch & Hardware im Bundle: 'Learning by Doing'
Dieses im Bundle mitgelieferte Buch (im großen A4-Format) zeigt, wie man auch ohne große Erfahrung in Elektronik und Programmiersprachen eigene Projekte mit einem Mikrocontroller realisieren kann. Es ist ein Mikrocontroller-Praxiskurs für Einsteiger, denn nach einem Überblick über die Interna des Mikrocontrollers und einer Einführung in die Programmiersprache C liegt der Schwerpunkt des Kurses auf den praktischen Übungen. Der Leser eignet sich die erforderlichen Kenntnisse durch 'Learning by Doing' an: in dem umfangreichen Praxisteil mit 12 Projekten und 46 Übungen wird das im vorderen Teil des Buches Gelernte mit vielen Beispielen unterlegt. Die Übungen sind dabei so aufgebaut, dass der Bearbeiter eine Aufgabenstellung erhält, die er mit seinem im Theorieteil des Buches aufgebauten Wissen löst. Für jede Übung gibt es anschließend eine ausführlich erklärte und kommentierte Musterlösung, die dem Bearbeiter bei Problemen weiterhilft und die er mit seiner eigenen Lösung vergleichen kann.
Arduino IDE
In der Arduino IDE, einer Software-Entwicklungsumgebung, die kostenlos auf den eigenen PC heruntergeladen werden kann und die das gesamte Softwarepaket enthält, das für ein eigenes Mikrocontroller-Projekt benötigt wird, schreibt der Bearbeiter mit dem Editor der IDE seine Programme („Apps“) in der Programmiersprache C. Der in die Arduino IDE integrierte Compiler übersetzt sie in die Bits und Bytes, die der Mikrocontroller versteht und die dann über ein USB-Kabel in den Speicher des Mikrocontrollers auf dem Elektor Arduino Nano Trainingsboard (MCCAB) geladen werden.
Externe Sensoren, Motoren oder Baugruppen abfragen oder steuern
Das Elektor Arduino Nano Trainingsboard (MCCAB) enthält neben einem Mikrocontrollermodul Arduino Nano alle für die Übungen benötigten Bauteile wie Leuchtdioden, Schalter, Taster, akustische Signalgeber usw. Auch externe Sensoren, Motoren oder Baugruppen können mit diesem Mikrocontroller-Übungssystem abgefragt oder gesteuert werden.
Technische Daten (Arduino Nano Trainingsboard MCCAB)
Stromversorgung
Über die USB-Verbindung des zur Erstellung der Programme sowieso angeschlossenen PCs oder ein externes Netzteil (nicht im Lieferumfang enthalten)
Betriebsspannung
+5 Vcc
Eingangsspannung
Alle Eingänge
0 V bis +5 V
VX1 und VX2
+8 V bis +12 V (nur bei Verwendung eines externen Netzteils)
Mikrocontrollermodul
Arduino Nano
Hardwareperipherie
LCD
2x16 Zeichen
Potenziometer P1 & P2
JP3: Auswahl der Betriebsspannung von P1 & P2
Verteiler
SV4: Verteiler für die BetriebsspannungenSV5, SV6: Verteiler für die Ein-/Ausgänge des Mikrocontrollers
Schalter und Taster
RESET-Taster auf dem Arduino Nano-Modul6x Tastschalter K1 … K66x Schiebeschalter S1 … S6JP2: Verbindung der Schalter mit den Eingängen des Mikrocontrollers
Summer
Piezo-Summer Buzzer1 mit Steckbrücke auf JP6
Leuchtanzeigen
LED L auf dem Arduino Nano-Modul, verbunden mit GPIO D1311x LED: Zustandsanzeige für die Ein-/AusgängeJP6: Verbindung der LEDs LD10 … LD20 mit den GPIOs D2 … D12
Serielle SchnittstellenSPI & I²C
JP4: Auswahl des Signals an Pin X der SPI-Steckerleiste SV12SV9 bis SV12: SPI-Interface (3,3 V/5 V) bzw. I²C-Interface
Schaltausgang für externe Geräte
SV1, SV7: Schaltausgang (maximal +24 V/160 mA, extern zugeführt)SV2: 2x13 Pins zum Anschluss externer Module
3x3 LED-Matrix (9 rote LEDs)
SV3: Spalten der 3x3 LED-Matrix (Ausgänge D6 … D8)JP1: Verbindung der Reihen mit den GPIOs D3 … D5
Software
Library MCCABLib
Steuerung der Hardware-Komponenten (Schalter, Taster, Leuchtdioden, 3x3 LED-Matrix, Summer) auf dem MCCAB Trainingsboard
Betriebstemperatur
bis +40 °C
Abmessungen
100 x 100 x 20 mm
Technische Daten (Arduino Nano)
Mikrocontroller
ATmega328P
Architektur
AVR
Betriebsspannung
5 V
Flashspeicher
32 KB, davon 2 KB vom Bootloader belegt
SRAM
2 KB
Taktfrequenz
16 MHz
Analoge IN-Pins
8
EEPROM
1 KB
DC-Strom pro I/O-Pin
40 mA an einem I/O-Pin, insgesamt maximal 200 mA an allen Pins gemeinsam
Eingangsspannung
7-12 V
Digitale I/O-Pins
22 (6 davon sind PWM-fähig)
PWM-Ausgänge
6
Stromverbrauch
19 mA
Abmessungen
18 x 45 mm
Gewicht
7 g
Lieferumfang
Elektor Arduino Nano MCCAB Trainingsboard
Arduino Nano
Buch: Mikrocontroller-Praxiskurs für Arduino-Einsteiger
Mikrocontroller haben sich in den letzten Jahren in praktisch allen Bereichen der modernen Technik etabliert. In zunehmendem Maße dringen sie auch in die Gebiete der Künstlichen Intelligenz und der Robotertechnik vor. Das vorliegende Buch gibt eine umfassende Einführung in die Welt der Controller-Technik mit all ihren Facetten, von der einfachen Steuerung über die Sensor-Technik bis hin zur Datenübertragung in das Internet.
Als Basis dafür dient das von Elektor entwickelte AVR-Playground-Board. Das Board kann mit Controllern der ATmega-Familie bestückt werden und ist mit dem bekannten Arduino-System kompatibel, so dass auch die verschiedenen Arduino-Hardware-Erweiterungen verwendet werden können.
Für die Programmierung kommt die Sprache „C“ zum Einsatz. Auch hier wird im Buch auf das Arduino-System zurückgegriffen. Die frei verfügbare Arduino-Entwicklungsumgebung erlaubt den leichten Einstieg, ohne dass später Einschränkungen in Kauf genommen werden müssen. Die Hardware-nahe Programmierung steht dabei besonders im Fokus. Nach der Erläuterung von grundlegenden Anwendungen wird auf die anspruchsvolleren Themen wie Interrupts, Timer und Counter, Pulsweitenmodulation und Analog-Digital-Wandlung eingegangen.
Praktische Anwendungen können sowohl mit einem Arduino als auch mit dem AVR-Playground-Board durchgeführt werden. Da das AVR-Playground-Board bereits über eine Vielzahl von Peripherie-Einheiten verfügt, sind nur noch wenige externe Bauteile erforderlich. Das Board kann im Elektor-Shop hier bezogen werden.
The Elektor Arduino Nano MCCAB Training Board contains all the components (incl. Arduino Nano) required for the exercises in the "Microcontrollers Hands-on Course for Arduino Starters", such as light-emitting diodes, switches, pushbuttons, acoustic signal transmitters, etc. External sensors, motors or assemblies can also be queried or controlled with this microcontroller training system.
Specifications (Arduino Nano MCCAB Training Board)
Power Supply
Via the USB connection of the connected PC or an external power supply unit (not included)
Operating Voltage
+5 Vcc
Input Voltage
All inputs
0 V to +5 V
VX1 and VX2
+8 V to +12 V (only when using an external power supply)
Hardware periphery
LCD
2x16 characters
Potentiometer P1 & P2
JP3: selection of operating voltage of P1 & P2
Distributor
SV4: Distributor for the operating voltagesSV5, SV6: Distributor for the inputs/outputs of the microcontroller
Switches and buttons
RESET button on the Arduino Nano module 6x pushbutton switches K1 ... K6 6x slide switches S1 ... S6 JP2: Connection of the switches with the inputs of the microcontroller
Buzzer
Piezo buzzer Buzzer1 with jumper on JP6
Indicator lights
11 x LED: Status indicator for the inputs/outputs LED L on the Arduino Nano module, connected to GPIO D13 JP6: Connection of LEDs LD10 ... LD20 with GPIOs D2 ... D12
Serial interfacesSPI & I²C
JP4: Selection of the signal at pin X of the SPI connector SV12 SV9 to SV12: SPI interface (3.3 V/5 V) or I²C interface
Switching output for external devices
SV1, SV7: Switching output (maximum +24 V/160 mA, externally supplied) SV2: 2x13 pins for connection of external modules
3x3 LED matrix(9 red LEDs)
SV3: Columns of the 3x3 LED matrix (outputs D6 ... D8) JP1: Connection of the rows with the GPIOs D3 ... D5
Software
Library MCCABLib
Control of hardware components (switches, buttons, LEDs, 3x3 LED matrix, buzzer) on the MCCAB Training Board
Operating Temperature
Up to +40 °C
Dimensions
100 x 100 x 20 mm
Specifications (Arduino Nano)
Microcontroller
ATmega328P
Architecture
AVR
Operating Voltage
5 V
Flash Memory
32 KB, of which 2 KB used by bootloader
SRAM
2 KB
Clock Speed
16 MHz
Analog IN Pins
8
EEPROM
1 KB
DC Current per I/O Pins
40 mA on one I/O pin, total maximum 200 mA on all pins together
Input Voltage
7-12 V
Digital I/O Pins
22 (6 of which are PWM)
PWM Output
6
Power Consumption
19 mA
Dimensions
18 x 45 mm
Weight
7 g
Included
1x Elektor Arduino Nano Training Board MCCAB
1x Arduino Nano
Complete ESP32 microcontroller learning course featuring a custom-designed MCU expansion board, hands-on projects, and a comprehensive online guide – perfect for learning hardware, programming, and connectivity step by step.
A Practical Introduction to Embedded Systems with the ESP32
This course is designed for readers who are new to embedded systems and looking for a structured, example-driven way to get started. If you’ve explored general-purpose electronics or Arduino-based materials but found them too broad or lacking in practical guidance, this course offers a more focused alternative.
Using the "ESP32 by Example Kit" (EEK) – a compact and affordable set of components featuring LEDs, sensors, an OLED display, and a motion processor – you’ll work with a consistent hardware setup throughout the course. Once assembled, the EEK stays mostly unchanged, allowing you to concentrate on learning and experimentation without constant reconfiguration.
Topics include:
Understanding and programming the ESP32 microcontroller
Writing and deploying code with the Arduino IDE
Exploring cyber-physical systems, culminating in basic drone control
No prior experience with Arduino or embedded development is required. Each section features hands-on examples and mini-projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the book’s examples but also to build on them with your own ideas and applications.
Whether you're interested in embedded programming, interactive systems, or introductory drone control, this course provides a clear and practical path to getting started.
What you'll learn?
Embedded programming with the ESP32 using the Arduino IDE
Real-time sensor input and control via buttons, LEDs, and displays
Gesture-based interaction using the MPU6050 motion sensor
Bluetooth gamepad integration and drone control simulation
Wi-Fi and UDP networking, local web servers, and NTP
MQTT communication with cloud platforms like AWS and Arduino IoT
How to build and deploy full-featured IoT systems
Perfect for
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
Developers moving beyond Raspberry Pi or Arduino basics
Support when you need it
Access to instructors via Elektor Academy
Helpful community forums and essential documentation
What's inside the Box (Course)?
New 384-page book: "ESP32 by Example" (valued at €45)
Elektor ESP32 by Example Kit (EEK): Microcontroller Extension Board with 6 LEDs and 6 Buttons installed + OLED Display, MPU6050 3-axis Accelerometer and Gyroscope Module (valued at €40)
Adafruit HUZZAH32 – ESP32 Feather MCU Board (valued at €30)
ESP32 Cheap Yellow Display Board (valued at €25)
DHT11 Humidity & Temperature Sensor
Breadboard
Jumper wires
USB-C cable
Access to the full course on the Elektor Academy Pro Learning Platform
Instructional videos
Downloadable Arduino project files for every module
Learning Material (of this Box/Course)
▶ Click here to open
Module 1 – Getting Started with the ESP32 & EEK
Module 2 – Digital Output – LEDs and GPIO
Module 3 – Switches and Input Handling
Module 4 – EEK and PWM
Module 5 – OLED and Display Output
Module 6 – Motion Sensing with the MPU6050
Module 7 – Capstone Project (EEK in Action)
Module 8 – WiFi and Web Control with ESP32
Module 9 – Cloud Concepts using EEK
Module 10 – Hands-on: Arduino IoT Cloud and EEK
Module 11 – BlueTooth and EEK GamePad Integration
Module 12 – Why Drones?
Module 13 – Drone Simulator Concepts
Module 14 – Simple Drone Flight Control
Module 15 – Real-Time Drone Flight Control
Module 16 – Drone Control Mini-Projects
Module 17 – Middleware and Python Scripting
Module 18 – Python Applications for Drone Control
Module 19 – Capstone EEK Control Project and Presentation
About the Author
Dr. Jim Solderitsch is an educator, software architect, systems developer, and cybersecurity researcher with a focus on cyber-physical systems. He currently serves as an Adjunct Professor in Computing Sciences at Villanova University in Pennsylvania.
What is Elektor Academy Pro?
Elektor Academy Pro delivers specialized learning solutions designed for professionals, engineering teams, and technical experts in the electronics and embedded systems industry. It enables individuals and organizations to expand their practical knowledge, enhance their skills, and stay ahead of the curve through high-quality resources and hands-on training tools.
From real-world projects and expert-led courses to in-depth technical insights, Elektor empowers engineers to tackle today’s electronics and embedded systems challenges. Our educational offerings include Academy Books, Pro Boxes, Webinars, Conferences, and industry-focused B2B magazines – all created with professional development in mind.
Whether you're an engineer, R&D specialist, or technical decision-maker, Elektor Academy Pro bridges the gap between theory and practice, helping you master emerging technologies and drive innovation within your organization.
The Elektor Audio DSP FX Processor combines an ESP32 microcontroller and an ADAU1701 Audio DSP from Analog Devices. Besides a user-programmable DSP core, the ADAU1701 has high-quality analog-to-digital and digital-to-analog converters built-in and features an I²S port. This makes it suitable as a high-quality audio interface for the ESP32.
Programs for the ESP32 can be created with Arduino, Platform IO, CMake or by using the Espressif IDF in another way. Programs for the ADAU7101 audio DSPs are created with the free visual programming tool SigmaStudio by dragging and dropping pre-defined algorithm blocks on a canvas.
Applications
Bluetooth/Wi-Fi audio sink (e.g. loudspeaker) & source
Guitar effect pedal (stomp box)
Music synthesizer
Sound/function generator
Programmable cross-over filter for loudspeakers
Advanced audio effects processor (reverb, chorus, pitch shifting, etc.)
Internet-connected audio device
DSP experimentation platform
Wireless MIDI
MIDI to CV converter
and many more...
Specifications
ADAU1701 28-/56-bit, 50-MIPS digital audio processor supporting sampling rates of up to 192 kHz
ESP32 32-bit dual-core microcontroller with Wi-Fi 802.11b/g/n and Bluetooth 4.2 BR/EDR and BLE
2x 24-bit audio inputs (2 V RMS, 20 kΩ)
4x 24-bit audio outputs (0.9 V RMS, 600 Ω)
4x Control potentiometer
MIDI in- and output
I²C expansion port
Multi-mode operation
Power supply: 5 V DC USB or 7.5-12 V DC (barrel jack, center pin is GND)
Current consumption (average): 200 mA
Included
1x ESP32 Audio DSP FX Processor board (assembled)
1x ESP32-PICO-KIT
2x Jumpers
2x 18-pin headers (female)
4x 10 KB potentiometers
Downloads
Documentation
GitHub