This collection features the best of Elektor Magazine's articles on embedded systems and artificial intelligence. From hands-on programming guides to innovative AI experiments, these pieces offer valuable insights and practical knowledge for engineers, developers, and enthusiasts exploring the evolving intersection of hardware design, software innovation, and intelligent technology.
Contents
Programming PICs from the Ground UpAssembler routine to output a sine wave
Object-Oriented ProgrammingA Short Primer Using C++
Programming an FPGA
Tracking Down Microcontroller Buffer Overflows with 0xDEADBEEF
Too Quick to Code and Too Slow to Test?
Understanding the Neurons in Neural NetworksEmbedded Neurons
MAUI Programming for PC, Tablet, and SmartphoneThe New Framework in Theory and Practice
USB Killer DetectorBetter Safe Than Sorry
Understanding the Neurons in Neural NetworksArtificial Neurons
A Bare-Metal Programming Guide
Part 1: For STM32 and Other Controllers
Part 2: Accurate Timing, the UART, and Debugging
Part 3: CMSIS Headers, Automatic Testing, and a Web Server
Introduction to TinyMLBig Is Not Always Better
Microprocessors for Embedded SystemsPeculiar Parts, the Series
FPGAs for BeginnersThe Path From MCU to FPGA Programming
AI in Electronics DevelopmentAn Update After Only One Year
AI in the Electronics LabGoogle Bard and Flux Copilot Put to the Test
ESP32 and ChatGPTOn the Way to a Self-Programming System…
Audio DSP FX Processor Board
Part 1: Features and Design
Part 2: Creating Applications
Rust + EmbeddedA Development Power Duo
A Smart Object CounterImage Recognition Made Easy with Edge Impulse
Universal Garden LoggerA Step Towards AI Gardening
A VHDL ClockMade with ChatGPT
TensorFlow Lite on Small MicrocontrollersA (Very) Beginner’s Point of View
Mosquito DetectionUsing Open Datasets and Arduino Nicla Vision
Artificial Intelligence Timeline
Intro to AI AlgorithmsPrompt: Which Algorithms Implement Each AI Tool?
Bringing AI to the Edgewith ESP32-P4
The Growing Role of Edge AIA Trend Shaping the Future
Technology is constantly changing. New microcontrollers become available every year and old ones become redundant. The one thing that has stayed the same is the C programming language used to program these microcontrollers. If you would like to learn this standard language to program microcontrollers, then this book is for you!
ARM microcontrollers are available from a large number of manufacturers. They are 32-bit microcontrollers and usually contain a decent amount of memory and a large number of on-chip peripherals. Although this book concentrates on ARM microcontrollers from Atmel, the C programming language applies equally to other manufacturer’s ARMs as well as other microcontrollers.
Features of this book
Use only free or open source software.
Learn how to download, set up and use free C programming tools.
Start learning the C language to write simple PC programs before tackling embedded programming - no need to buy an embedded system right away!
Start learning to program from the very first chapter with simple programs and slowly build from there.
No programming experience is necessary!
Learn by doing - type and run the example programs and exercises.
Sample programs and exercises can be downloaded from the Internet.
A fun way to learn the C programming language.
Ideal for electronic hobbyists, students and engineers wanting to learn the C programming language in an embedded environment on ARM microcontrollers.
ARM Cortex-M Embedded Design from 0 to 1
Hobbyists can mash together amazing functional systems using platforms like Arduino or Raspberry Pi, but it is imperative that engineers and product designers understand the foundational knowledge of embedded design. There are very few resources available that describe the thinking, strategies, and processes to take an idea through hardware design and low-level driver development, and successfully build a complete embedded system. Many engineers end up learning the hard way, or never really learn at all.
ARM processors are essentially ubiquitous in embedded systems. Design engineers building novel devices must understand the fundamentals of these systems and be able to break down large, complicated ideas into manageable pieces. Successful product development means traversing a huge amount of documentation to understand how to accomplish what you need, then put everything together to create a robust system that will reliably operate and be maintainable for years to come.
This book is a case study in embedded design including discussion of the hardware, processor initialization, low‑level driver development, and application interface design for a product. Though we describe this through a specific application of a Cortex-M3 development board, our mission is to help the reader build foundational skills critical to being an excellent product developer. The completed development board is available to maximize the impact of this book, and the working platform that you create can then be used as a base for further development and learning.
The Embedded in Embedded program is about teaching fundamental skill sets to help engineers build a solid foundation of knowledge that can be applied in any design environment. With nearly 20 years of experience in the industry, the author communicates the critical skill development that is demanded by companies and essential to successful design. This book is as much about building a great design process, critical thinking, and even social considerations important to developers as it is about technical hardware and firmware design.
Downloads
EiE Software Archive (200 MB)
IAR ARM 8.10.1 (Recommended IDE version to use) (1.2 GB)
IAR ARM 7.20.1 (Optional IDE version to use) (600 MB)
History and Future in the Internet of Things
This book thoroughly reviews the history of the development of embedded Operating Systems, covers the technical characteristics, historic facts, as well as background business stories of mainstream embedded Operating Systems, and analyzes the technical evolution, market development, and new opportunities of embedded Operating Systems in the age of the Internet of Things.
From the perspective of time, the book examines the evolution of critical technical aspects, including real-time and Power Management of embedded Operating Systems and Linux, Internet of Things security, communication, and cloud computing.
The book looks into applications of embedded Operating Systems with important markets of mobile phones, communication equipment, automobile, and wearable devices, and also discusses business model and the issue of intellectual property of embedded Operating Systems.
In addition, the book walks through the status quo, technical features, product evaluation and background of the Internet of Things Operating Systems in the second half of the book.
Linux auf dem Desktop – das ist heute leicht und einfach möglich. Embedded Linux ebenso, auch wenn es kompliziert erscheint. Das vorliegende Buch gibt allen Interessierten Hilfestellung, die Linux auf einer Embedded-Plattform installieren und nutzen möchten. Das im Buch vorgestellte System arbeitet mit der Toshiba-ARM9-Familie.
Grundlegende Linux-Kenntnisse auf dem PC werden Schritt für Schritt in Richtung Embedded Linux erweitert. Das Buch beantwortet die Fragen, welche Komponenten hierzu erforderlich sind und wie sich diese erstellen lassen. Nach der Vorstellung der verwendeten Hardware beginnt dies bei der Toolchain und setzt sich über JTAG-Debugger, Bootloader und Kernel bis zur Applikation fort.
Rezension: c't 25/2010"... Ein Buch aus der Praxis für die Praxis – besser geht es kaum."
This book is all about building your own DIY home control system. It presents two innovative ways to assemble such a system: By recycling old PC hardware – possibly extending the life of an old PC, or by using Raspberry Pi. In both cases, the main system outlined in this book will consist of a computer platform, a wireless mains outlet, a controller and a USB webcam – All linked together by Linux.
By using the Raspberry Pi in conjunction with Arduino (used as an advanced I/O system board), it is possible to construct a small, compact, embedded control system offering enhanced capacity for USB integration, webcams, thermal monitoring and communication with the outside world.
The experience required to undertake the projects within this book are minimal exposure to PC hardware and software, the ability to surf the internet, burn a CD-ROM and assemble a small PCB.
Vollständiger ESP32-Mikrocontroller-Lernkurs mit speziell entwickelter MCU-Erweiterungsplatine, praxisorientierten Projekten und einem umfassenden Online-Guide – ideal, um Hardware, Programmierung und Konnektivität Schritt für Schritt zu erlernen.
Praktische Einführung in eingebettete Systeme mit dem ESP32
Dieser Kurs richtet sich an Einsteiger in die Welt der eingebetteten Systeme, die einen strukturierten, beispielorientierten Einstieg suchen. Falls Sie sich bereits mit allgemeiner Elektronik oder Arduino-basierten Materialien beschäftigt haben, diese aber als zu allgemein oder zu wenig praxisnah empfunden haben, bietet dieser Kurs eine fokussiertere Alternative.
Mit dem "ESP32 by Example Kit" (EEK) – einem kompakten und kostengünstigen Komponentensatz mit LEDs, Sensoren, einem OLED-Display und einem Bewegungsprozessor – arbeiten Sie während des gesamten Kurses mit einem einheitlichen Hardware-Setup. Nach dem Zusammenbau bleibt das EEK weitgehend unverändert, sodass Sie sich ganz auf das Lernen und Experimentieren konzentrieren können, ohne ständig neu konfigurieren zu müssen.
Themen:
Verstehen und Programmieren des ESP32-Mikrocontrollers
Programmieren und Ausführen von Code mit der Arduino IIDE
Erkunden von cyber-physischen Systemen, abschließend zur grundlegenden Drohnensteuerung
Vorkenntnisse in Arduino oder Embedded-Entwicklung sind nicht erforderlich. Jeder Abschnitt enthält praktische Beispiele und Miniprojekte, die die wichtigsten Konzepte festigen und zu einer tiefergehenden Auseinandersetzung anregen. Am Ende des Kurses können Sie die Beispiele des Buches nicht nur nachvollziehen, sondern auch mit eigenen Ideen und Anwendungen erweitern.
Ob Sie sich für Embedded-Programmierung, interaktive Systeme oder die Grundlagen der Drohnensteuerung interessieren – dieser Kurs bietet einen klaren und praxisorientierten Einstieg.
Was Sie lernen werden
Eingebettete Programmierung mit dem ESP32 mithilfe der Arduino IDE
Echtzeit-Sensoreingabe und -steuerung über Tasten, LEDs und Displays
Gestenbasierte Interaktion mit dem Bewegungssensor MPU6050
Integration von Bluetooth-Gamepads und Drohnensteuerungssimulation
WLAN- und UDP-Netzwerke, lokale Webserver und NTP
MQTT-Kommunikation mit Cloud-Plattformen wie AWS und Arduino IoT
Aufbau und Bereitstellung voll funktionsfähiger IoT-Systeme
Perfekt für
Studierende und Autodidakten, die sich mit eingebetteten Systemen beschäftigen
Bastler und IoT-Begeisterte, die ihre Hardwarekenntnisse verbessern möchten
Lehrkräfte und Dozenten, die nach sofort einsetzbarem Unterrichtsmaterial suchen
Entwickler, die über die Grundlagen von Raspberry Pi oder Arduino hinausgehen möchten
Support, wenn Sie ihn brauchen
Zugang zu Kursleitern über die Elektor Academy
Hilfreiche Community-Foren und wichtige Dokumentation
Was ist in der Box (Kurs)?
Neues 384-seitiges Buch: "ESP32 by Example" (Wert: 45 €)
Elektor ESP32 by Example Kit (EEK): Mikrocontroller-Erweiterungsplatine mit 6 LEDs und 6 Tasten + OLED-Display, MPU6050 3-Achsen Beschleunigungsmesser und Gyroskop-Modul (Wert: 40 €)
Adafruit HUZZAH32 – ESP32 Feather MCU Board (Wert: 30 €)
ESP32 Cheap Yellow Display Board (Wert: 25 €)
DHT11 Feuchtigkeitssensor & Temperatursensor
Breadboard
Jumperkabel
USB-C-Kabel
Zugang zum vollständigen Kurs auf der Elektor Academy Pro Lernplattform
Lehrvideos
Herunterladbare Arduino-Projektdateien für jedes Modul
Lernmaterial (dieser Box)
▶ Klicken Sie hier zum Öffnen
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
Über den Autor
Dr. Jim Solderitsch ist Dozent, Softwarearchitekt, Systementwickler und Cybersicherheitsforscher mit Schwerpunkt auf cyber-physischen Systemen. Derzeit ist er als Lehrbeauftragter für Informatik an der Villanova University in Pennsylvania tätig.
Was ist Elektor Academy Pro?
Elektor Academy Pro bietet maßgeschneiderte Lernlösungen für Fachkräfte, Ingenieurteams und technische Experten in der Elektronik- und Embedded-Systems-Branche. Sie unterstützt Einzelpersonen und Organisationen dabei, ihr praktisches Know-how zu vertiefen, ihre Skills gezielt auszubauen und dank hochwertiger Inhalte und praxisnaher Tools stets einen Schritt voraus zu sein.
Von realen Projekten und spezialisierten Kursen bis hin zu fundierten technischen Insights – Elektor versetzt Ingenieure in die Lage, aktuelle Herausforderungen der Branche erfolgreich zu meistern. Unser Bildungsportfolio umfasst Academy-Bücher, Pro-Boxen, Webinare, Konferenzen und B2B-Fachmagazine – alles mit Blick auf praxisnahe Weiterbildung und berufliches Wachstum.
Ob Ingenieur, F&E-Spezialist oder technischer Entscheider: Elektor Academy Pro schlägt die Brücke zwischen Theorie und Praxis – und hilft Ihnen, neue Technologien zu beherrschen und Innovationen in Ihrem Unternehmen gezielt voranzutreiben.
An Introduction to Real and Reduced-Scale Autonomous Vehicles
Want to cut through the hype and get to the core of autonomous and connected vehicles? Then this book is your clear, accessible guide to a complex and fast-moving field. Starting with Intelligent Transport Systems (ITS), it walks you through the essential foundations, including Advanced Driver Assistance Systems (ADAS) – the stepping stones to full autonomy.
Explore how self-driving cars mimic human behavior through a loop of perception, analysis, decision, and action. Discover the key functions that make it possible: localization, obstacle detection, driver monitoring, cooperative awareness – and the most challenging of all, trajectory planning, across strategic, tactical, and operational levels.
Will vehicles be connected? The debate is on – but the standards are already here. Learn how connectivity, infrastructure, and vehicles can work in synergy through the innovative concept of floating car data (FCD).
Dive into real-world implementation: with embedded electronics account-ing for over 30% of a modern vehicle‘s cost, we unpack the architecture, coordination, and tools required to manage the complexity – brought to life with a hands-on case study.
To finish, we open the door to the future: building your own 1:10 scale autonomous vehicle. No plug-and-play solutions – just the foundations for a collaborative, creative, and geek-friendly challenge.
Let’s drive the future together.
An Introduction to Real and Reduced-Scale Autonomous Vehicles
Want to cut through the hype and get to the core of autonomous and connected vehicles? Then this book is your clear, accessible guide to a complex and fast-moving field. Starting with Intelligent Transport Systems (ITS), it walks you through the essential foundations, including Advanced Driver Assistance Systems (ADAS) – the stepping stones to full autonomy.
Explore how self-driving cars mimic human behavior through a loop of perception, analysis, decision, and action. Discover the key functions that make it possible: localization, obstacle detection, driver monitoring, cooperative awareness – and the most challenging of all, trajectory planning, across strategic, tactical, and operational levels.
Will vehicles be connected? The debate is on – but the standards are already here. Learn how connectivity, infrastructure, and vehicles can work in synergy through the innovative concept of floating car data (FCD).
Dive into real-world implementation: with embedded electronics account-ing for over 30% of a modern vehicle‘s cost, we unpack the architecture, coordination, and tools required to manage the complexity – brought to life with a hands-on case study.
To finish, we open the door to the future: building your own 1:10 scale autonomous vehicle. No plug-and-play solutions – just the foundations for a collaborative, creative, and geek-friendly challenge.
Let’s drive the future together.
Der LuckFox Pico Ultra ist ein kompakter Single-Board-Computer (SBC) mit dem Rockchip RV1106G3-Chipsatz, der für KI-Verarbeitung, Multimedia und stromsparende Embedded-Anwendungen entwickelt wurde.
Er ist mit einer integrierten 1-TOPS-NPU ausgestattet und eignet sich daher ideal für Edge-KI-Workloads. Mit 256 MB RAM, 8 GB Onboard-eMMC-Speicher, integriertem WLAN und Unterstützung für das LuckFox PoE-Modul bietet das Board Leistung und Vielseitigkeit für eine Vielzahl von Anwendungsfällen.
Der LuckFox Pico Ultra läuft unter Linux und unterstützt eine Vielzahl von Schnittstellen – darunter MIPI CSI, RGB-LCD, GPIO, UART, SPI, I²C und USB – und bietet so eine einfache und effiziente Entwicklungsplattform für Anwendungen in den Bereichen Smart Home, Industriesteuerung und IoT.
Technische Daten
Chip
Rockchip RV1106G3
Prozessor
Cortex-A7 1,2 GHz
Neuronaler Netzwerkprozessor (NPU)
1 TOPS, unterstützt int4, int8, int16
Bildprozessor (ISP)
Max. Eingangsgeschwindigkeit 5 M @30fps
Speicher
256 MB DDR3L
WLAN + Bluetooth
2,4 GHz WiFi-6 Bluetooth 5.2/BLE
Kameraschnittstelle
MIPI CSI 2-Lane
DPI-Schnittstelle
RGB666
PoE-Schnittstelle
IEEE 802.3af PoE
Lautsprecherschnittstelle
MX1,25 mm
USB
USB 2.0 Host/Gerät
GPIO
30 GPIO Pins
Ethernet
10/100M Ethernet-Controller und eingebetteter PHY
Standardspeichermedium
eMMC (8 GB)
Lieferumfang
1x LuckFox Pico Ultra W
1x LuckFox PoE Modul
1x IPX 2,4G 2 dB Antenne
1x USB-A auf USB-C Kabel
1x Schraubensatz
Downloads
Wiki
Dieser USB-Stick enthält eine Auswahl von über 300 Arduino-bezogenen Artikeln, die im Elektor-Magazin veröffentlicht wurden. Der Inhalt umfasst sowohl Hintergrundartikel als auch Projekte zu folgenden Themen:
Software- und Hardware-Entwicklung: Tutorials zur Arduino-Softwareentwicklung mit der Arduino IDE, Atmel Studio, verschiedenen Shields und grundlegenden Programmierkonzepten.
Lernen: Das Mikrocontroller-Bootcamp bietet einen strukturierten Einstieg in die Programmierung eingebetteter Systeme.
Datenerfassung und -messung: Projekte wie ein 16-Bit-Datenlogger, ein Drehbank-Tachometer und ein AC-Netzanalyzer ermöglichen die Erfassung und Analyse von Echtzeitsignalen.
Drahtlose Kommunikation: Erfahren Sie, wie man drahtlose Netzwerke implementiert, eine Android-Schnittstelle erstellt und effektiv mit Mikrocontrollern kommuniziert.
Robotik und Automatisierung: Lernen Sie den Arduino Nano Robot Controller, unterstützende Automatisierungs-Boards sowie diverse Arduino-Shields zur Funktionserweiterung kennen.
Selbstbauprojekte: Einzigartige DIY-Projekte wie Laserprojektion, eine Numitron-Uhr mit Thermometer, ein ELF-Empfänger, Theremino-Module und Touch-LED-Schnittstellen zeigen kreative Einsatzmöglichkeiten auf.
Egal, ob Sie Einsteiger oder erfahrener Maker sind – diese Sammlung ist eine wertvolle Ressource zum Lernen, Experimentieren und Erweitern der Möglichkeiten mit Arduino.
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.