A Project-Based Introduction to Microcontrollers and Drone Control
A Practical Introduction to Embedded Systems with the ESP32
This book is intended for readers who are new to embedded systems and looking for a structured, example-driven way to begin. If you’ve explored general-purpose electronics or Arduino-based resources but found them too broad or lacking in practical application, this guide offers a more focused alternative.
With a small, affordable set of components – such as LEDs, sensors, an OLED screen and a motion sensor – you’ll build and work with the same hardware setup throughout the book. This allows you to focus on learning and experimenting without constant reconfiguration.
Topics include:
Understanding and programming the ESP32 microcontroller
Using the Arduino IDE to write and deploy code
Exploring cyber-physical systems, culminating in basic drone control
No prior experience with Arduino or embedded development is required. Each section includes hands-on examples and mini-projects designed to reinforce core concepts and encourage deeper exploration. By the end, you’ll be equipped not only to reproduce the book’s examples, but also to extend them toward your own ideas and applications.
Whether your interest is in learning embedded programming, building interactive systems, or exploring educational drone control, this book provides a clear and practical path to getting started.
Dieses Bundle enthält die beliebte Elektor Sanduhr für Raspberry Pi Pico und das neue Elektor Laserkopf-Upgrade und bietet damit noch mehr Möglichkeiten zur Zeitanzeige. Sie können die aktuelle Uhrzeit nicht nur in Sand "gravieren", sondern sie jetzt auch alternativ auf eine im Dunkeln leuchtende Folie schreiben oder grüne Zeichnungen erstellen.
Inhalt des Bundles
Elektor Sanduhr für Raspberry Pi Pico (Einzelpreis: 50 €)
Elektor Laserkopf-Upgrade für Sanduhr (Einzelpreis: 35 €)
Elektor Sanduhr für Raspberry Pi Pico (Raspberry Pi-basierter Eyecatcher)
Eine handelsübliche Sanduhr zeigt nur, wie die Zeit verrinnt. Dagegen zeigt diese Raspberry Pi Pico-gesteuerte Sanduhr die genaue Uhrzeit an, indem die vier Ziffern für Stunde und Minute in die Sandschicht "eingraviert" werden. Nach einer einstellbaren Verzögerung wird der Sand durch zwei Vibrationsmotoren flachgedrückt und der Zyklus beginnt von vorne.
Das Herzstück der Sanduhr sind zwei Servomotoren, die über einen Pantographenmechanismus einen Schreibstift antreiben. Ein dritter Servomotor hebt den Stift auf und ab. Der Sandbehälter ist mit zwei Vibrationsmotoren ausgestattet, um den Sand zu glätten. Der elektronische Teil der Sanduhr besteht aus einem Raspberry Pi Pico und einer RTC/Treiberplatine mit Echtzeituhr, plus Treiberschaltungen für die Servomotoren.
Eine ausführliche Bauanleitung steht zum Download bereit.
Features
Abmessungen: 135 x 110 x 80 mm
Bauzeit: ca. 1,5 bis 2 Stunden
Lieferumfang
3x vorgeschnittene Acrylplatten mit allen mechanischen Teilen
3x Mini-Servomotoren
2x Vibrationsmotoren
1x Raspberry Pi Pico
1x RTC/Treiberplatine mit montierten Teilen
Muttern, Bolzen, Abstandshalter und Drähte für die Baugruppe
Feinkörniger weißer Sand
Elektor Laserkopf-Upgrade für Sanduhr
Der neue Elektor-Laserkopf verwandelt die Elektor Sanduhr in eine Uhr, die die Zeit auf eine im Dunkeln leuchtende Folie statt auf Sand schreibt. Neben der Anzeige der Zeit können damit auch flüchtige Zeichnungen erstellt werden. Der 5-mW-Laserpointer mit einer Wellenlänge von 405 nm erzeugt leuchtend grüne Zeichnungen auf der im Dunkeln leuchtenden Folie. Um optimale Ergebnisse zu erzielen, verwenden Sie das Kit in einem schwach beleuchteten Raum. Achtung: Schauen Sie niemals direkt in den Laserstrahl!
Der Bausatz enthält alle notwendigen Komponenten, es ist jedoch das Anlöten von drei Drähten erforderlich.
Hinweis: Dieses Kit ist auch mit der originalen Arduino-basierten Sanduhr aus dem Jahr 2017 kompatibel. Weitere Einzelheiten finden Sie unter Elektor 1-2/2017 und Elektor 1-2/2018.
PC USB Logic Analyzers with Arduino, Raspberry Pi, and Co.
Step-by-step instructions guide you through the analysis of modern protocols such as I²C, SPI, UART, RS-232, NeoPixel, WS28xx, HD44780 and 1-Wire. With the help of numerous experimental circuits based on the Raspberry Pi Pico, Arduino Uno and the Bus Pirate, you will learn the practical application of popular USB logic analyzers.
All the experimental circuits presented in this book have been fully tested and are fully functional. The necessary program listings are included – no special programming or electronics knowledge is required for these circuits. The programming languages used are MicroPython and C along with the development environments Thonny and Arduino IDE.
This book uses several models of flexible and widely available USB logic analyzers and shows the strengths and weaknesses of each price range.
You will learn about the criteria that matter for your work and be able to find the right device for you.
Whether Arduino, Raspberry Pi or Raspberry Pi Pico, the example circuits shown allow you to get started quickly with protocol analysis and can also serve as a basis for your own experiments.
After reading this book, you will be familiar with all the important terms and contexts, conduct your own experiments, analyze protocols independently, culminating in a comprehensive knowledge set of digital signals and protocols.
Technology is constantly changing. New microcontrollers become available every year. 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!
Arduino is the hardware platform used to teach the C programming language as Arduino boards are available worldwide and contain the popular AVR microcontrollers from Atmel.
Atmel Studio is used as the development environment for writing C programs for AVR microcontrollers. It is a full-featured integrated development environment (IDE) that uses the GCC C software tools for AVR microcontrollers and is free to download.
At a glance:
Start learning to program from the very first chapter
No programming experience is necessary
Learn by doing – type and run the example programs
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 AVR microcontrollers
Use the free full-featured Atmel Studio IDE software for Windows
Write C programs for 8-bit AVR microcontrollers as found on the Arduino Uno and MEGA boards
Example code runs on Arduino Uno and Arduino MEGA 2560 boards and can be adapted to run on other AVR microcontrollers or boards
Use the AVR Dragon programmer/debugger in conjunction with Atmel Studio to debug C programs
This book details the use of the ARM Cortex-M family of processors and the Arduino Uno in practical CAN bus based projects. Inside, it gives a detailed introduction to the architecture of the Cortex-M family whilst providing examples of popular hardware and software development kits. Using these kits helps to simplify the embedded design cycle considerably and makes it easier to develop, debug, and test a CAN bus based project. The architecture of the highly popular ARM Cortex-M processor STM32F407VGT6 is described at a high level by considering its various modules. In addition, the use of the mikroC Pro for ARM and Arduino Uno CAN bus library of functions are described in detail.
This book is written for students, for practising engineers, for hobbyists, and for everyone else who may need to learn more about the CAN bus and its applications. The book assumes that the reader has some knowledge of basic electronics. Knowledge of the C programming language will be useful in later chapters of the book, and familiarity with at least one microcontroller will be an advantage, especially if the reader intends to develop microcontroller based projects using CAN bus.
The book should be useful source of reference to anyone interested in finding an answer to one or more of the following questions:
What bus systems are available for the automotive industry?
What are the principles of the CAN bus?
What types of frames (or data packets) are available in a CAN bus system?
How can errors be detected in a CAN bus system and how reliable is a CAN bus system?
What types of CAN bus controllers are there?
What are the advantages of the ARM Cortex-M microcontrollers?
How can one create a CAN bus project using an ARM microcontroller?
How can one create a CAN bus project using an Arduino microcontroller?
How can one monitor data on the CAN bus?
Kick off with the MAX1000 and VHDPlus
Ready to Master FPGA Programming? In this guide, we’re diving into the world of Field Programmable Gate Arrays (FPGAs) – a configurable integrated circuit that can be programmed after manufacturing. Imagine bringing your ideas to life, from simple projects to complete microcontroller systems!
Meet the MAX1000: a compact and budget-friendly FPGA development board packed with features like memory, user LEDs, push-buttons, and flexible I/O ports. It’s the ideal starting point for anyone wanting to learn about FPGAs and Hardware Description Languages (HDLs).
In this book, you’ll get hands-on with the VHDPlus programming language – a simpler version of VHDL. We’ll work on practical projects using the MAX1000, helping you gain the skills and confidence to unleash your creativity.
Get ready for an exciting journey! You’ll explore a variety of projects that highlight the true power of FPGAs. Let’s turn your ideas into reality and embark on your FPGA adventure – your journey starts now!
Exciting Projects You’ll Find in This Book
Arduino-Driven BCD to 7-Segment Display Decoder
Use an Arduino Uno R4 to supply BCD data to the decoder, counting from 0 to 9 with a one-second delay
Multiplexed 4-Digit Event Counter
Create an event counter that displays the total count on a 4-digit display, incrementing with each button press
PWM Waveform with Fixed Duty Cycle
Generate a PWM waveform at 1 kHz with a fixed duty cycle of 50%
Ultrasonic Distance Measurement
Measure distances using an ultrasonic sensor, displaying the results on a 4-digit 7-segment LED
Electronic Lock
Build a simple electronic lock using combinational logic gates with push buttons and an LED output
Temperature Sensor
Monitor ambient temperature with a TMP36 sensor and display the readings on a 7-segment LED
Downloads
Software
This 233-page e-book is packed with Arduino ideas, explanations, tips, diagrams, programs, PCB layouts, and more – enough to provide days of informative, inspiring, and stimulating reading pleasure!
The PDF document includes a table of contents with links to the individual projects, allowing you to easily navigate to the sections you’re most interested in. This way, you can quickly and effortlessly switch between projects and find exactly what you’re looking for.
Projects with Arduino Uno & Raspberry Pi with Examples for the MCP2515 CAN Bus Interface Module
This book details the use of the Arduino Uno and the Raspberry Pi 4 in practical CAN bus based projects. Using either the Arduino Uno or the Raspberry Pi with off-the-shelf CAN bus interface modules considerably ease developing, debugging, and testing CAN bus based projects.
This book is written for students, practicing engineers, enthusiasts, and for everyone else wanting to learn more about the CAN bus and its applications. The book assumes that the reader has some knowledge of basic electronics. Knowledge of the C and Python programming languages and programming the Arduino Uno using its IDE and Raspberry Pi will be useful, especially if the reader intends to develop microcontroller-based projects using the CAN bus.
The book should be a useful source of reference material for anyone interested in finding answers to questions such as:
What bus systems are available for the automotive industry?
What are the principles of the CAN bus?
How can I create a physical CAN bus?
What types of frames (or data packets) are available in a CAN bus system?
How can errors be detected in a CAN bus system and how dependable is a CAN bus system?
What types of CAN bus controllers exist?
How do I use the MCP2515 CAN bus controller?
How do I create 2-node Arduino Uno-based CAN bus projects?
How do I create 3-node Arduino Uno-based CAN bus projects?
How do I set the acceptance masks and acceptance filters?
How do I analyze data on the CAN bus?
How do I create 2-node Raspberry Pi-based CAN bus projects?
How do I create 3-node Raspberry Pi-based CAN bus projects?
59 Experiments with Arduino IDE and Python
The main aim of this book is to teach the Arduino IDE and MicroPython programming languages in ESP32 based projects, using the highly popular ESP32 DevKitC development board. Many simple, basic, and intermediate level projects are provided in the book using the Arduino IDE with ESP32 DevKitC. All projects have been tested and work. Block diagrams, circuit diagrams, and complete program listings of all projects are given with explanations. In addition, several projects are provided for programming the ESP32 DevKitC using MicroPython. The projects provided in this book are designed to teach the following features of the ESP32 processor:
GPIOs
Touch sensors
External interrupts
Timer interrupts
I²C and I²S
SPI
PWM
ADC
DAC
UART
Hall sensor
Temperature sensor
Infrared controller
Reading and writing to SD card
Reading and writing to flash memory
RTC timer
Chip ID
Security and encryption
Wi-Fi and network programming
Bluetooth BLE programming
Communication mobile devices
Low power design
ESP-IDF programming
The projects have been organized with increasing levels of difficulty. Readers are encouraged to tackle the projects in the order given. A specially prepared hardware kit (SKU 18305) is available from Elektor. With the help of this hardware, it should be easy and fun to build the projects in this book.
The Internet of Things is rapidly gaining interest, and that has fueled the development of the Edison. A tiny computer, the size of a postage stamp, with a lot of power and built-in wireless communication capabilities.
In this eBook we will help you get up-to-speed with the Edison, by installing the software both on the Edison as well as on your Windows PC. We will use the Edison Arduino break-out board because it is easy to work with. We will discuss Linux, Arduino C++ and Python, and show examples of how the Edison can interface with other hardware. We will use Wi-Fi and Bluetooth to set up wireless connections, and show you a trick to program sketches over Wi-Fi.
Once you have completed this book your Edison will be up and running with the latest software version, and you will have sufficient knowledge of both hardware and software to start making your own applications. You will even be able to program the Edison over USB and wireless both in Arduino C++ and Python.
This is not a projects eBook, but a toolbox that will allow you to explore the wonderful world of the Intel Edison!
Tout sur les protocoles et leur mise en œuvre avec Arduino
Initialement destiné aux véhicules routiers, le réseau CAN (« Controller Area Network ») et son successeur le réseau CAN FD (« Flexible Data ») ont vu leurs champs d’application s’élargir à de nouveaux domaines. L’industrie propose de nombreux modules microcontrôleurs dotés d’une interface CAN et/ou CAN FD. L’environnement de développement Arduino a démocratisé la programmation de ces modules et il existe des bibliothèques qui implémentent un pilote CAN et/ou un pilote CAN FD.
La première partie dresse un rapide historique des réseaux CAN et CAN FD et expose la problématique des lignes de transmission en abordant succinctement leur théorie et présentant des résultats de simulation Spice.
La deuxième partie est consacrée au réseau CAN, en détaillant successivement la fonction logique du réseau, les transcepteurs, les contrôleurs, la topologie la plus classique (le bus) et d’autres moins courantes, les répéteurs et les passerelles. Les aspects particuliers du protocole, tels que le bit stuffing, l’arbitrage, les trames d’erreur, la détection des erreurs sont exposés. La discussion de la fiabilité du protocole est illustrée par des exemples mettant en évidence ses faiblesses.
La troisième partie présente le protocole CAN FD, ses deux variantes CAN FD ISO et CAN FD non ISO, leurs fiabilités, leurs faiblesses, mises en évidence par des exemples. Différents transcepteurs et contrôleurs CAN FD sont décrits.
La quatrième partie est dédiée aux applications : comment utiliser les services d’un pilote, concevoir une messagerie, utiliser un analyseur logique. Deux exemples d’application terminent cette partie.
Ce livre s’adresse aux amateurs et aux ingénieurs non spécialistes pour comprendre les possibilités qu’offre un réseau CAN et comment on le met en œuvre. Un enseignant trouvera des informations pour approfondir ses connaissances et pour concevoir des travaux pratiques. Une connaissance des microcontrôleurs, de leur programmation, de l’électronique numérique aidera à la lecture des schémas. La connaissance du langage C++ et du langage de simulation électronique Spice facilitera la compréhension des programmes qui sont décrits dans le livre. Tous les codes source sont disponibles sur le dépôt GitHub de l’auteur.
Téléchargements
GitHub
Analogue Electronics and Microcontrollers Projects
Hobbyist electronics can be a fun way to learn new skills that can be helpful to your career. Those who understand the basics of electronics can design their own circuits and projects. However, before you run, you need to learn to walk.
It all starts with analogue electronics. You should be familiar with the simple components and circuits and understand their basic behaviors and the issues you may encounter. The best way to do this is through real experiments. Theory alone is not enough. This book offers a large number of practical entry-level circuits, with which everyone can gain the basic experience.
Through the widespread introduction of microcontrollers, a new chapter in electronics has begun. Microcontrollers are now performing more and more tasks that were originally solved using discrete components and conventional ICs. Starting out has become easier and easier thanks to platforms including Bascom, Arduino, micro:bit. The book introduces numerous manageable microcontroller applications. It’s now a case of less soldering and more programming.