Build your own AI microcontroller applications from scratch
The MAX78000FTHR from Maxim Integrated is a small development board based on the MAX78000 MCU. The main usage of this board is in artificial intelligence applications (AI) which generally require large amounts of processing power and memory. It marries an Arm Cortex-M4 processor with a floating-point unit (FPU), convolutional neural network (CNN) accelerator, and RISC-V core into a single device. It is designed for ultra-low power consumption, making it ideal for many portable AI-based applications.
This book is project-based and aims to teach the basic features of the MAX78000FTHR. It demonstrates how it can be used in various classical and AI-based projects. Each project is described in detail and complete program listings are provided. Readers should be able to use the projects as they are, or modify them to suit their applications. This book covers the following features of the MAX78000FTHR microcontroller development board:
Onboard LEDs and buttons
External LEDs and buttons
Using analog-to-digital converters
I²C projects
SPI projects
UART projects
External interrupts and timer interrupts
Using the onboard microphone
Using the onboard camera
Convolutional Neural Network
Architecture, Programming and Applications
The MSP430 is a popular family of microcontrollers from Texas Instruments. In this book we will work with the smallest type, which is the powerful MSP430G2553. We will look at the capabilities of this microcontroller in detail, as it is well-suited for self-made projects because it is available in a P-DIP20 package.
We will take a closer look at the microcontroller and then build, step by step, some interesting applications, including a 'Hello World' blinking LED and a nice clock application, which can calculate the day of the week based on the date.
You also will learn how to create code for the MSP microcontroller in assembler. In addition to that, we will work with the MSP-Arduino IDE, which makes it quite easy to create fast applications without special in-depth knowledge of the microcontrollers.
All the code used in the book is available for download from the Elektor website.
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.
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.
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.
Mehr als 50 Grundlagenprojekte mit MicroPython und dem RP2040-Mikrocontroller
Der Raspberry Pi Pico ist eine leistungsstarke Mikrocontroller-Platine, die speziell für das Physical Computing – also hardwarenahe Anwendungen – entwickelt wurde. Der Raspberry Pi Pico kann so programmiert werden, dass er eine einzelne Aufgabe sehr effizient ausführt und ermöglicht so schnelle Steuerungs- und Überwachungsanwendungen in Echtzeit. Der 'Pico', wie wir ihn nennen, basiert auf dem schnellen, effizienten und kostengünstigen Dual-Core ARM Cortex-M0+ RP2040 Mikrocontroller-Chip, der mit bis zu 133 MHz läuft und über 264 KB SRAM und 2 MB Flash-Speicher verfügt. Neben dem großen Speicher hat der Pico noch weitere attraktive Eigenschaften, darunter eine große Anzahl von GPIO-Pins sowie gängige Schnittstellen wie ADC, SPI, I²C, UART und PWM. Als Krönung bietet der Chip schnelle und genaue Timer, eine Hardware-Debug-Schnittstelle und einen internen Temperatursensor.
Zur Programmierung lassen sich leicht die gängigen Hochsprachen wie MicroPython oder C/C++ verwenden. Dieses Buch ist eine Einführung in die Verwendung des Pico mit der Programmiersprache MicroPython. In allen Projekten wird die Thonny-Entwicklungsumgebung (IDE) eingesetzt. Über 50 Projekte decken folgende Themen ab:
Installation von MicroPython auf dem Raspberry Pi Pico
Timer-Interrupts und externe Interrupts
Projekte mit Analog-Digital-Wandler (ADC)
Verwendung des internen sowie externer Temperatursensoren
Datenlogger
Projekte zur PWM, UART, I²C-Bus und SPI-Bus
Wi-Fi und Bluetooth für die Kommunikation mit Smartphones
Projekte mit dem Digital-Analog-Wandler (DAC)
Alle in diesem Buch vorgestellten Projekte wurden vollständig getestet und sind funktionsfähig. Es werden keine Programmier- oder Elektronikkenntnisse vorausgesetzt, um sie nachzuvollziehen. Für alle beschriebenen Projekte gibt es kurze Beschreibungen, Blockdiagramme, detaillierte Schaltpläne und vollständige MicroPython-Programmlistings. Die Listings sind auch auf der zum Buch gehörenden Elektor-Webseite zu finden.
Learning Embedded Systems with STM32 Nucleo Boards
Embedded programming has become more accessible than ever before. Development boards are inexpensive, software tools are easy to install, and the Arduino IDE provides a familiar environment for creating embedded applications. Combined with the STM32 Nucleo family of development boards, it offers an excellent platform for learning how modern microcontrollers interact with the physical world.
This book introduces embedded programming using the Arduino environment on STM32 Nucleo boards. You will learn how a microcontroller continuously reads inputs, processes information, and controls outputs in a predictable real-time loop. Through practical examples, you will discover how to control LEDs, read switches and sensors, generate PWM signals, drive motors, and exchange data with other devices, all while becoming familiar with the capabilities of STM32 microcontrollers.
Although the STM32 family includes devices with different performance levels, memory sizes, and peripheral sets, they all share the same architectural concepts. Digital and analog I/O, timers, interrupts, PWM, communication interfaces, and low-power operation are fundamental features found throughout the STM32 ecosystem. Understanding these building blocks will enable you to work confidently with a wide range of STM32 devices, from entry-level microcontrollers to more advanced applications.
By focusing on practical programming techniques rather than hardware complexity, this book develops skills that remain useful well beyond the examples presented. Whether you are taking your first steps in embedded systems or expanding your experience with STM32 microcontrollers, you will gain a solid understanding of both the Arduino development environment and the principles that underpin embedded software design.
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.
Projects Using Arduino IDE and the LVGL Graphics Library
The ESP32 is probably one of the most popular microcontrollers used by many people, including students, hobbyists, and professional engineers. Its low cost, coupled with rich features makes it a popular device to use in many projects. Recently, a board called the ESP32 Cheap Yellow Display (CYD for short) is available from its manufacturers. The board includes a standard ESP32 microcontroller together with a 320x240 pixel TFT display. Additionally, the board provides several connectors for interfaces such as GPIO, serial port (TX/RX), power and Ground. The inclusion of a TFT display is a real advantage as it enables users to design complex graphics-based projects without resorting to an external LCD or graphics displays.
The book describes the basic hardware of the ESP32 CYD board and provides details of its on-board connectors. Many basic, simple, and intermediate-level projects are given in the book based on the ESP32 CYD, using the highly popular Arduino IDE 2.0 integrated development environment. The use of both the basic graphics functions and the use of the popular LVGL graphics library are discussed in the book and projects are given that use both types of approaches.
All the projects given in the book have been tested and are working. The block diagram, circuit diagram, and the complete program listings and program descriptions of all the projects are given with explanations. Readers can use the LVGL graphics library to design highly popular eye-catching full-color graphics projects using widgets such as buttons, labels, calendars, keypads, keyboards, message boxes, spinboxes, sliders, charts, tables, menus, bars, switches, drop-down lists, animations, and many more widgets.
Ce cours complet de programmation de microcontrôleurs basé sur l’Arduino Uno comprend un manuel, un kit de composants, des projets pratiques ainsi qu’un cours en ligne complet avec simulations. Il est idéal pour apprendre pas à pas la programmation des systèmes embarqués avec Arduino grâce à une approche pratique.
Une introduction pratique aux systèmes embarqués avec l’Arduino Uno
Ce cours s’adresse aux débutants en systèmes embarqués recherchant une approche structurée et basée sur des exemples.
Un kit de composants comprenant des LED et des résistances, des interrupteurs, des capteurs et actionneurs, des afficheurs, une breadboard et des fils est inclus. Ceux-ci sont utilisés dans le cours pour illustrer des applications concrètes.
Aucune expérience préalable avec Arduino ou le développement embarqué n’est requise. Chaque section propose des exemples pratiques et des mini-projets conçus pour renforcer les concepts clés et encourager l’exploration. À la fin du cours, vous serez capable non seulement de reproduire les exemples, mais aussi de développer vos propres idées et applications.
Que allez-vous apprendre ?
Programmation de microcontrôleurs avec Arduino en utilisant la carte Uno R3
Utilisation des entrées/sorties numériques, lecture de boutons et encodeurs, commande de LED et relais
Lecture des entrées analogiques, tensions et capteurs analogiques
Génération de signaux analogiques et PWM
Utilisation des communications série comme UART, I²C et SPI pour piloter des afficheurs et lire des capteurs numériques et cartes SD
Gestion du temps
Utilisation des interruptions
Entrées capteurs en temps réel et contrôle via boutons, LED et afficheurs
Commande d’actionneurs comme relais et servomoteurs
À qui s’adresse ce cours ?
Étudiants et autodidactes explorant les systèmes embarqués
Makers et passionnés d’IoT souhaitant améliorer leurs compétences en hardware
Formateurs et enseignants à la recherche de matériel pédagogique prêt à l’emploi
Contenu de la boîte
Accès au cours complet sur la plateforme Elektor Academy Pro
Carte microcontrôleur Uno R3 + câble USB
Livre : Programming Microcontrollers in C/C++ Using Arduino
Fichiers de projet téléchargeables pour chaque module
Boîte de composants :
2× LED, rouge, 5 mm
LED, verte, 5 mm
3× résistance, 470 Ω, 0,25 W
LDR
Potentiomètre, 10 kΩ, linéaire
Bouton-poussoir
Module encodeur rotatif
Module relais
Capteur DHT22 (température & humidité)
Afficheur 7 segments 4 digits compatible TM1637
MPU-6050 IMU avec connecteurs
Afficheur OLED I²C compatible SSD1306
Adaptateur carte micro SD avec connecteur
Buzzer
Micro servo SG90
Écran TFT SPI 240×320 compatible ILI9341
20× fils jumper
Breadboard
Tous les cours de programmation (et différences de contenu)
Cours
Arduino
Raspberry Pi Pico with Arduino C/C++
ESP32 with Arduino C/C++
Raspberry Pi Pico with MicroPython
ESP32 with MicroPython
Cours en ligne
Access to Arduino Course
Access to Pico with Arduino C/C++ Course
Access to ESP32 with Arduino C/C++ Course
Access to Pico with MicroPython Course
Access to ESP32 with MicroPython Course
Carte
Uno R3
Raspberry Pi Pico
ESP32
Raspberry Pi Pico
ESP32
Livre
Programming Microcontrollers in C/C++ Using Arduino
Programming Microcontrollers in C/C++ Using Arduino
Programming Microcontrollers in C/C++ Using Arduino
Programming Microcontrollers in MicroPython
Programming Microcontrollers in MicroPython
Kit
Boîte de composants (40 pièces)
Boîte de composants (40 pièces)
Boîte de composants (40 pièces)
Boîte de composants (40 pièces)
Boîte de composants (40 pièces)
Dit is een ideaal boek voor hobbyisten, studenten en ingenieurs die op een eenvoudige manier C en het gebruik van een mbed ARM microcontroller willen leren, rechtstreeks op internet zonder ingewikkelde software installatie.
ARM mbed microcontroller NXP LPC1768
De projecten in dit boek zijn bedoeld voor beginners op het gebied van ARM microcontrollers of de programmeertaal C. Dat wil niet zeggen dat de projecten allemaal eenvoudig zijn, maar wel dat ze gemakkelijk te begrijpen zijn. We maken bijvoorbeeld gebruik van USB communicatie, een onderwerp dat door de mbed zo eenvoudig wordt gemaakt dat het geschikt is voor een beginners boek.
Cloud technologie
De mbed NXP LPC1768 maakt gebruik van cloud technologie, een revolutionair concept voor software ontwikkeling. Dit houdt in dat u geen software hoeft te installeren om de mbed te kunnen programmeren! Het enige dat u nodig heeft is een internet browser zoals Microsoft Internet Explorer, en een USB poort op uw PC. U kunt vanaf elke willekeurige PC waar dan ook ter wereld toegang krijgen tot uw project en er aan verder werken. Wanneer u klaar bent kunt u met een paar eenvoudige klikjes met uw muis het programma overzetten naar uw mbed hardware. Uiteraard kunt u de projecten ook downloaden en op uw eigen PC opslaan wanneer u dat liever heeft.
Onderwerpen die aan de orde komen
Leer het programmeren van een ARM microcontroller via cloud technologie. Geen moeilijke software installatie op uw eigen PC.
Leer de programmeertaal C door leuke en interessante projecten uit te voeren. Geen ervaring of kennis noodzakelijk.
Voorbeelden van projecten in dit boek: knipperlicht, tijdschakelaar, donkerschakelaar, digitale thermometer, mensen detector, USB communicatie, pratende microcontroller, fout zoeken, geluidsschakelaar, en nog veel meer - totaal 35 projecten.
Voorbeelden van C onderwerpen in dit boek: variabelen, opdrachten, functies, programmaverloop, pointers (inleidend).
Microcontrollers have become an indispensable part of modern electronics. They make things possible that vastly exceed what could be done previously. Innumerable applications show that almost nothing is impossible.
There’s thus every reason to learn more about them, but that raises the question of where to find a good introduction to this fascinating technology. The answer is easy: this Microcontroller Basics book, combined with the 89S8252 Flash Board project published by Elektor Electronics.
However, this book offers more than just a basic introduction. It clearly explains the technology using various microcontroller circuits and programs written in several different programming languages. Three microcontrollers from the 8051 family are used in the sample applications, ranging from the simple 89C2051 to the AN2131, which is designed to support USB applications. The programming tools include assemblers, Basic-52 and BASCOM-51, and several C compilers. Every reader can thus find the programming environment most suitable to his or her needs.
In the course of the book, the reader gradually develops increased competence in converting his or her ideas into microcontroller circuitry. All of the sample programs can be downloaded from the Elektor Electronics website or the author’s website. That has the added advantage that the latest versions are always available.