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
Bauen Sie Ihren eigenen Vintage-Radiosender
Das Elektor AM-Sender-Kit ermöglicht das Streamen von Audio auf Vintage-AM-Radioempfänger. Basierend auf einem Raspberry Pi Pico Mikrocontroller-Modul kann der AM-Sender auf 32 Frequenzen im AM-Band senden, von 500 kHz bis 1,6 MHz in 32 Schritten von ca. 35 kHz.
Die Frequenz wird mit einem Potentiometer gewählt und auf einem 0,96" OLED-Display angezeigt. Eine Taste ermöglicht das Umschalten des Sendemodus zwischen Ein und Aus. Die Reichweite des Senders hängt von der Antenne ab. Die integrierte Antenne bietet eine Reichweite von wenigen Zentimetern, sodass der AM-Sender nahe am Radio oder im Radio selbst platziert werden muss. Eine externe Loop-Antenne (nicht enthalten) kann angeschlossen werden, um die Reichweite zu erhöhen.
Das Elektor AM-Sender-Kit wird als Bausatz geliefert, den Sie selbst auf die Platine löten müssen.
Features
Die Platine ist kompatibel mit einem Hammond-1593N-Gehäuse (nicht enthalten).Ein 5-VDC-Netzteil mit Micro-USB-Anschluss (z. B. ein altes Handy-Ladegerät) wird benötigt, um das Kit zu betreiben (nicht enthalten). Stromaufnahme: 100 mA.
Die Arduino-Software (benötigt Earle Philhowers RP2040-Boards-Paket) für das Elektor-AM-Sender-Kit sowie weitere Informationen sind auf der Elektor-Labs-Seite dieses Projekts verfügbar.
Stückliste
Widerstände
R1, R4 = 100 Ω
R2, R3, R8 = 10 kΩ
R5, R6, R9, R10, R11 = 1 kΩ
R7 = optional (nicht enthalten)
P1 = Potentiometer 100 kΩ, linear
Kondensatoren
C1 = 22 µF 16V
C2, C4 = 10 nF
C3 = 150 pF
Sonstiges
K1 = 4×1 Stiftleiste
K2, K3 = 3,5-mm-Buchse
Raspberry Pi Pico
Drucktaste, Winkelmontage
0,96" monochromes I²C-OLED-Display
Leiterplatte 150292-1
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.
Design IoT Projects with Raspberry Pi, Arduino and ESP32 The Internet of Things (IoT) is becoming a major application area for embedded systems. As a result, more and more people are becoming interested in learning about embedded design and programming. Technical colleges and universities are moving away from legacy 8 and 16-bit microcontrollers and are introducing 32-bit embedded microcontrollers to their curriculums. Many IoT applications demand precision, high processing power, and low power consumption. Produced by IBM, Node-RED is an open-source visual editor for wiring the Internet of Things. Node-RED comes with a large number of nodes to handle a multitude of tasks. The required nodes are selected and joined together to perform a particular task. Node-RED is based on flow type programming where nodes are configured and joined together to form an application program. There are nodes for performing complex tasks, including web access, Twitter, E-mail, HTTP, Bluetooth, MQTT, controlling GPIO ports, etc. One particularly nice aspect of Node-RED is that the programmer does not need to learn how to write complex programs. For example, an email can be sent by simply joining nodes together and writing only a few lines of code. The aim of this book is to teach how Node-RED can be used in projects. The main hardware platform used with most of the projects in this book is Raspberry Pi 4. Chapters are included to show how Node-RED can be also be used with Arduino Uno, ESP32 DevKitC, and the ESP8266 NodeMCU microcontroller development boards.
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.
Elektor GREEN and GOLD members can download their digital edition here.
Not a member yet? Click here.
The ESP-BLASTA Mini ESP32 Rocket Drone That Flies 100 km/h+
Wireless Workshop (1)Radio Modules Unlocked: 433 MHz CC1101 Sub-GHz Transceiver
AM TransmitterWith Square/Sine Wave Generator on Raspberry Pi Pico
STM32Cube Innovation ChallengeCompete with Your Best STM32C5 Design
CoffeeCallerHow a Long Hallway Led to a Custom Mesh-Networked PCB
AudiotronicsTotal Harmonic Distortion
Elektor at 65Projects from Septembers and Octobers Past
Bluetooth Channel Sounding for Asset TrackingCentimeter-Level Precision Ranging for Next-Generation IoT
2026: An AI OdysseyQuantum Computing Is Not the Next GPU
Protecting the Cloud Demands Security at the Edge
First Experiences with the HackRF ProPractical Tests with the New SDR Hardware
Modem Upgrade from GPRS/2G to LTE/4GUsing a Wireless Alarm Control Panel as an Example
Loop Antenna with RF BricksPart 1: A DIY Shortwave Antenna with Adjustable Directivity
Internet Radio to AM ConverterUsing an ESP32-S3 as Transmitter
Err-lectronics
mioty — An OverviewFraunhofer’s Approach to LPWAN
Workbench WisdomPractical Tips from Experts
Walter, the Compact IoT ModulePart 2: Accessing Weather and Data Services
Learning Embedded Systems with STM32 Nucleo Boards
Programming compact electronic systems is now easier to get started with than ever before. Affordable development boards, powerful software tools, and readily available documentation make it possible to turn an idea into a working prototype in very little time. MicroPython plays an important role in this development by offering a readable, interactive way to control microcontrollers while still providing direct access to their hardware features.
This book explores embedded programming with MicroPython using an STM32-based Nucleo board. It shows how a microcontroller continuously interacts with its environment by reading inputs, processing information, and controlling outputs. Step by step, you will learn to flash LEDs, measure analog signals, work with sensors, control actuators, and exchange data with other devices. The built-in REPL makes it easy to test instructions immediately, inspect results, and learn through experimentation.
Although microcontroller boards differ in size, speed, memory, and peripherals, the fundamental concepts remain largely the same. Digital input and output, analog conversion, timers, PWM, interrupts, and serial communication are the essential building blocks of embedded applications.
By concentrating on these transferable principles, the book provides a foundation that remains useful when moving to other boards, processors, or development environments.
It is intended both for newcomers and for programmers who want to expand into embedded systems. MicroPython offers a practical route into this field, combining quick results with a clear understanding of how software and hardware work together.
Learn to Build Intelligent Embedded Systems
Build smarter embedded systems with Arduino UNO Q. This book gives you the tools, knowledge, and confidence to turn ideas into intelligent, working solutions using the Arduino UNO Q platform. Discover how to build intelligent embedded systems with the Arduino UNO Q and AI.
Unlock the full potential of the Arduino UNO Q, a next-generation platform that combines the real-time power of the STM32U585 microcontroller with the flexibility of a Qualcomm Dragonwing QRB2210 microprocessor.
Learn how to rapidly prototype real-world applications using the Arduino IDE for low-level embedded control and Python in Arduino App Lab for high-level development.
Build confidence through hands-on projects that guide you step by step from basic board features to complete working systems.
Explore ready-to-use, AI based Arduino App Lab examples and see how they can jump-start your development and reduce time to deployment.
Step into the world of Edge AI with a clear, practical introduction to Edge Impulse Studio—no prior AI experience required.
Follow a complete, real-world workflow to create a Keyword Spotting AI application, covering data collection, model training, optimization, and on-device inference using the Edge Impulse Studio.
Bridge the gap between embedded systems and machine learning and learn how to bring intelligence directly onto your hardware.
Perfect for embedded engineers, educators, students, and makers looking to stay ahead in AI-enabled product development.
Digitale Elektronik praxisnah meistern!
Dieses Bundle enthält das Buch Learning Digital Electronics mit über 20 praktischen Projekten in Logik- und Schaltungsdesign sowie ein 100-teiliges Starterkit – damit Sie sofort mit dem Bau von Logikschaltungen, Zählern, Displays und mehr beginnen können.
Learning Digital Electronics (Buch)
Dieses Buch ist ein praktischer Leitfaden zur digitalen Elektronik und behandelt die wesentlichen Komponenten moderner digitaler Systeme: Zahlensysteme, Logikgatter, Boolesche Algebra, kombinatorische und sequentielle Logik und mehr.
In über 20 strukturierten Projekten entwerfen und bauen Sie digitale Systeme mit realen Komponenten wie Logikgattern, Multiplexern, Decodern, Flip-Flops, Zählern und Schieberegistern. Die Projekte reichen von einfachen LED-Logikschaltungen bis hin zu digitalen Schlössern, Displaysystemen, Ampelsteuerungen und zeitbasierten Designs.
Ausgewählte Projekte führen in die Verwendung von Tools wie CircuitVerse zur Schaltungssimulation ein, während mehrere Designs Logikbausteine der 74HC-Serie verwenden, die häufig im digitalen Hardware-Prototyping verwendet werden.
Im Buch finden Sie:
Klare Darstellung von Zahlensystemen und Binärarithmetik
Grundlagen logischer Gatter und Implementierungen universeller Gatter
Schritt-für-Schritt-Projekte mit Flipflops, Zählern und Registern
Realwelt-Design mit Logikchips der 74HC-Serie
Techniken zum Entwurf kombinatorischer und sequentieller Systeme
Dieses Buch verfolgt einen designorientierten, anwendungsorientierten Ansatz für die digitale Elektronik – basierend auf funktionierenden Schaltungen, erprobter Logik und praktischen Experimenten.
Learning Digital Electronics (Kit)
Dieses Kit wurde speziell entwickelt, um das Buch "Learning Digital Electronics" zu ergänzen. Da alle benötigten Komponenten enthalten sind, können Sie jedes praktische Projekt im Buch direkt durchführen.
Inhalt des Kits
2x 74HC08 UND-Gatter-Chip
2x 74HC00 NAND-Gatter-Chip
1x 74HC86 XOR-Gatter-Chip
1x 555 Timer-Chip
1x 74HC161 Zähler-Chip
1x 74HC164 Schieberegister
1x CD4511 7-Segment-Decoder
1x CD4027 JK Flip-Flop
1x BC337 NPN-Transistor
1x KPS-5161 7-Segment-Display mit gemeinsamer Kathode
1x Lichtabhängiger Widerstand (LDR)
4x 10 KΩ Widerstände
8x 1 KΩ Widerstand
2x 47 KΩ Widerstände
1x 100 KΩ Widerstand
4x 2,7 KΩ Widerstände
1x 5,6 KΩ Widerstand
1x 150 KΩ Widerstand
1x 10 μF Kondensator
2x 0,01 μF Kondensator
2x 100 nF Kondensator
8x Kleine rote LED
1x Kleine grüne LED
1x Kleine orangefarbene LED
4x Drucktastenschalter
1x Aktiv-Summer
1x Batteriehalter für 3x AA-Batterien (Batterien nicht im Lieferumfang enthalten)
1x Steckplatine
40x Male-to-male Jumperkabel (Länge: 200 mm)
In ESP32 programmeren voor beginners bekijken we de ESP32 en zijn voorganger, de ESP8266. Deze kleine, maar zeer krachtige Chinese chips bestaan uit een processor, geheugen, input- en outputaansluitingen en hebben draadloze netwerktoegang via WiFi.
Met dit boek tonen we hoe de programmeeromgeving Arduino werkt en hoe die kan gebruikt worden met ESP-hardware. Aan de hand van voorbeelden en projecten verduidelijken we hoe de ESP-hardware kan worden toegepast.
In vogelvlucht:
We beschrijven de opbouw van ESP-experimenten.
We tonen hoe displays worden aangesloten.
Eeprom_24c16 demonstreert hoe een externe geheugenchip wordt gebruikt om getallen en tekst op te slaan en weer uit te lezen.
Project Klok is de eenvoudige implementatie van een digitale klok.
We geven een handleiding voor het gebruik van temperatuur- en luchtvochtigheidsensoren.
Webclient laat zien hoe de ESP32 gegevens van het internet kan halen.
Met Webserver kunnen we op afstand met een pc of smartphone gegevens halen uit een ESP32, sensoren uitlezen en toestellen aan- en uitschakelen.
Een NTP-klok haalt tijdinformatie van Tijdserver. Die geeft zowel de tijd als het aantal seconden sinds 1 januari 1900. Het boek beschrijft hoe hieruit de tijd kan worden berekend.
In het laatste hoofdstuk gebruiken we het internet om nauwkeurige weerinformatie en voorspellingen op te vragen.
Elektor GREEN en GOLD leden kunnen deze uitgave hier downloaden.
Nog geen lid? Klik hier om een lidmaatschap af te sluiten.
De ESP-BLASTEen mini ESP32 raketdrone die ruim 100 km/u vliegt
STM32Cube Innovation-ChallengeDoe mee met je beste STM32C5-ontwerp
Wireless workshop (1)Radiomodules uitgelegd: 433 MHz CC1101 sub-GHz-transceiver
AM-zenderMet sinus- en blokgolfgenerator op Raspberry Pi Pico
AudiotronicaDe vervormingsfactor
CoffeeCallerOmroepsysteem met mesh-netwerk en Zephyr gebaseerde software
Elektor wordt 65Projecten uit voorgaande september- en oktobermaanden
Bluetooth Channel Sounding voor het volgen van objectenAfstandsmeting met centimeterprecisie voor het IoT van de volgende generatie
2026: Een AI-odysseeKwantumcomputing is geen volgende GPU
Om de cloud te beveiligen, is edge-beveiliging nodig
Eerste ervaringen met de HackRF ProPraktische tests met de nieuwe SDR-hardware
Modemupgrade van GPRS/2G naar LTE/4GEen draadloos alarmsysteem als voorbeeld
Lusvormige antenne met RF-bouwstenenDeel 1: Een zelfbouw kortegolfantenne met instelbare richtingsgevoeligheid
Internetradio naar AM-converterMet een ESP32-S3 als zender
Err-lectronics
Mioty, een overzichtFraunhofer's aanpak van LPWAN
WerkbankwijsheidPraktische tips van experts
Walter, de compacte IoT-moduleDeel 2: Toegang tot weer- en datadiensten
The ESP8266 from Espressif is a Wi-Fi microchip with full TCP/IP stack and microcontroller capability. It has made waves in the maker community with its low price.
But many developers were unhappy with ESP8266's high power consumption. The ESP32, equipped with a ULP (Ultra Low Power) coprocessor, offers a remedy for this.
This e-book features a number of projects featuring ESP32 & ESP8266 as well as an interview with the CEO of Espressif Teo Swee Ann.
Articles
ESP32 for Use in Industry 4.0 Equipment
Scrolling Message Display, 512 LEDs controlled over Wi-Fi via an ESP-12F
The Connected Greenhouse IoT demonstration project using MQTT and Node-RED
VFD-tube Clock with ESP32 with an accurate Internet-derived time
ESP32 Low Power
DCF77 Emulator with ESP8266
ESP8266 on the Elektor Android I/O Board
The Reason Behind the Hugely Popular ESP8266?
Wi-Fi Desktop Thermostat
Timers for the Wi-Fi Desktop Thermostat
PlatformIO, the Universal Programming Tool
Weather Display, Visualize current weather data on an LC display
GoNotify, a Flexible IoT Sensor Interface
ESP32 for Power Users
USB Programming Adaptor for ESP8266
Getting started with ESP32 and the Arduino IDE
MicroPython, Python for small systems
RGBDigit Clock
WLAN for Microcontrollers
Return of the Wi-Fi Controller Board
Compact and Self-contained WLAN