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.
Programming the Finite State Machine with 8-Bit PICs in Assembly and C
Andrew Pratt provides a detailed introduction to programming PIC microcontrollers, as well as a thorough overview of the Finite State Machine (FSM) approach to programming. Most of the book uses assembly programming, but do not be deterred. The FSM gives a structure to a program, making it easy to plan, write, and modify. The last two chapters introduce programming in C, so you can make a direct comparison between the two techniques. The book references the relevant parts of the Microchip datasheet as familiarity with it is the best way to discover detailed information.
This book is aimed at Microsoft Windows and Linux users. To keep your costs to a minimum and to simplify the toolchain, specific applications are provided as a free download to enable you to use an FTDI serial lead as the programmer. The assembler used is the open-source "gpasm". All programming can be done in a text editor. There are detailed instructions on how to perform the necessary installations on Windows, Linux Debian, and derivatives such as Ubuntu and Fedora. For programming in C, Microchip's XC8 compiler is used from the command line. In addition to the programming applications, two serial read and serial write applications can be used for communicating with the PICs from a computer.
A voltmeter project including practical instructions on building a circuit board from scratch is included. All theory is covered beforehand, including how to do integer arithmetic in assembly.
Two PICs are covered: the PIC12F1822 and the PIC16F1823. Both can run at 32 MHz with an internal oscillator. You do not need to buy a factory-made development board and programmer. With relatively inexpensive parts including a serial lead, microcontroller, a few resistors, and LEDs, you can get started exploring embedded programming.
Links
Updated Programmer
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?
Ce cours complet de programmation de microcontrôleurs basé sur le Raspberry Pi Pico 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 le Raspberry Pi Pico
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 en C/C++ avec le Raspberry Pi Pico via l’IDE Arduino
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 Raspberry Pi Pico + 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)
Learning circuit design the fun way
Welcome to the world of electronics!
Getting started in electronics is not as difficult as you may think. Using this book, you will explore and learn the most important electrical and electronics engineering concepts in a fun way by doing various experiments and by simulating circuits. It will teach you electronics practically without getting into complex technical jargon and long calculations. As a result, you will be creating your own projects soon.
No prior knowledge of electronics is required, only some basic algebra is used in a few simple calculations. Many tested and working projects and simulations are presented to familiarise yourself with the construction of electronic circuits. Circuit simulation is introduced at an early stage to enable you to experiment with circuits easily without breaking anything.
You will learn:
The concepts of voltage, current, and power
AC and DC
Basic lamp circuits with switches
Passive components: resistors, capacitors & inductors
RC & RCL circuits
Electromagnetism
Loudspeakers, relays, buzzers, and transformers
Active components: diodes & LEDs, bipolar transistors & MOSFETs
Transistor-based switching circuits
Optocoupler circuits
Astable & monostable multivibrators
Using the 555 timer IC
The operational amplifier
Digital logic
Advanced examples: amplifiers, oscillators, filters, and sensors
Test and measurement tools
Microcontrollers: Arduino UNO, ESP32, Raspberry Pi Pico, and Raspberry Pi
Reading datasheets and best practices for selecting components
EMC & EMI and norms & regulations
Elektor GREEN and GOLD members can download their digital edition here.
Not a member yet? Click here.
PbMonitor v2.0 UpdateBattery Monitoring with Improved Analog Design
Audio Latency MeasurementA Standalone Tool for Evaluating Errors and Latency in Audio Transmission
Square Wave vs. Bode PlotChecking the Performances of an Audio Device
embedded world 2026
Clever Coding with AIAI in Software Development for Electronics Engineers
QA403 Audio AnalyzerAffordable Precision for Audio Professionals and Hobbyists
EasyGimbalAutonomous Camera Tracking with AI, Stepper and Servo Motors
Sigfox Breakout Board (2)Sending Messages
Circuit ProtectionControlling Overvoltages with TVS Diodes
Emerging Battery Testing ApproachesA New Era of Diagnostics
AudiotronicsA First Preamplifier
CANopenTermAn Open-Source Tool That Brings CAN to Makers and Engineers Alike
Stabilization of Operational AmplifiersAvoiding Feedback Instability
Err-lectronicsCorrections, Updates, and Readers’ Letters
Signal ConditioningTips and Tricks to Fit Voltage Ranges
TDR Attachment for OscilloscopesLength, Short Circuit, Mismatch: Measure Cables Using Reflections!
From Life's ExperienceLED It Be
Speaker Oscillator and Resonance TesterA Fully Experimental Project for Your Speakers
Elektor Community Perspectives on Test and Measurement
ESP32 Audio Transceiver Board (Part 5)Audio Processing and Remote Control
2026: An AI OdysseyAI Has a Context Problem
Battery Storage for Balcony Power PlantsSmall Batteries, Big Impact
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
Elektor GREEN en GOLD leden kunnen deze uitgave hier downloaden.Nog geen lid? Klik hier om een lidmaatschap af te sluiten.
Super-servotestervoor vier servo’s – stand-alone of in-system
Analoge signalen en microcontrollersADC’s, DAC’s, stroommeting en meer
embedded world 2023
Sub-Nyquist-sampling in de praktijkhogere frequenties betrouwbaar bemonsteren met subsampling
Met Android-smartphone, spreek ik met ESP32?praktisch project met behulp van de Android WiFi-API
Actief 1kHz-filter voor vervormingsmetingmeet beter door het het meetsignaal te optimaliseren
Alle begin......multivibreert verder!
Project 2.0correcties, updates en brieven van lezers
Het nieuwe I3C-protocoleen waardig opvolger van I2C – of gebakken lucht?
BlueRC: IR-afstandsbediening met smartphone en ESP32universeel en aanpasbaar
Microcontroller-documentatie verklaarddeel 2: registers en blokschema’s
Automatisering van testen en metentestapparatuur programmeren om je te dienen
Elektor Infographicstesten en meten
Overspanningsbeveiliging voor veilige werkingtransiëntbescherming voor niet-geïsoleerde DC/DC-voedingsmodules
Meetapparatuur van het merk Wihatesters en meters voor installaties waar u op kunt bouwen
Automatisch testen en samenwerken aan testresultaten
Uit het leven gegrepenelektronica op hoog niveau
Energieloggermeet en registreert het stroomverbruik
Montage van de M.A.R.S. Rover Kit van 4tronix
Parkeerschijf met e-papier displayinnovatief digitaal alternatief
eCO2 Telegram-botmeet de luchtkwaliteit via Telegram
Achter de schermen van DHZ high-end audioTon Giesberts van Elektor over de fijne kneepjes van het analoog ontwerpen
Oost West Lab Bestwerk in uitvoering...
RFID-tag’s lezen, en een RFID-deurslotvoorbeeldprojecten uit de Elektor Arduino Experimenteerbundel
HF-stroomprobe voor oscilloscoopHF-stroommetingen gemakkelijk gemaakt
Niet voor watjes – Makerfabs Robot Arm Kitmet de Raspberry Pi Pico en MicroPython
Generatieve KIwie heeft dit eigenlijk gemaakt?
Hexadokupuzzelen voor elektronici
Dispositif de communication LoRa haute performance
L'Elecrow ThinkNode M5 est un dispositif de communication LoRa compact et portable, conçu pour la messagerie hors réseau, le partage de position et une utilisation en extérieur. Équipé d'un processeur ESP32-S3 et d'une puce LoRa SX1262, il est livré avec le micrologiciel Meshtastic préinstallé et se configure aisément via Bluetooth grâce à l'application officielle Meshtastic.
Son module multi-GNSS intégré prend en charge les systèmes GPS, GLONASS, BeiDou et QZSS pour assurer une localisation et un partage de position fiables. Les messages et les informations de l'appareil s'affichent sur un écran e-paper de 1,54 pouce économe en énergie, tandis que la batterie rechargeable intégrée de 1200 mAh permet une utilisation mobile prolongée.
Grâce à son antenne LoRa intégrée, son boîtier compact, son horloge temps réel (RTC) et sa compatibilité avec les micrologiciels Meshtastic et MeshCore, le ThinkNode M5 constitue une solution de communication pratique pour la randonnée, le camping, les zones isolées et les situations d'urgence où les réseaux mobiles conventionnels sont indisponibles.
Caractéristiques
Communication LoRa
Positionnement multi-GNSS
Batterie rechargeable de 1200 mAh
Écran à encre électronique de 1,54 pouce
Horloge en temps réel (RTC) intégrée
Compatible avec MeshCore
Compatible avec Meshtastic
Spécifications
Processeur principal (ESP32-S3)
CPU/SoC
Processeur double cœur Xtensa LX7 32 bits, cadencé jusqu'à 240 MHz
Mémoire système
512 Ko de SRAM, 8 Mo de PSRAM
Stockage
4 Mo de Flash, 384 Ko de ROM
Firmware
Entièrement compatible avec le firmware Meshtastic ; transmission du signal en mode LoRa
EPD (Écran à encre électronique)
Taille de l'écran
EPD de 1,54 pouce (écran à encre monochrome)
Technologie d'affichage
E-Ink (encre électronique)
Résolution
200 x 200
Contrôleur
SSD1681 (via interface SPI ou I²C)
Temps de rafraîchissement global
2 s
Communication sans fil
Bluetooth
Bluetooth Low Energy et Bluetooth 5.0 (configuration via smartphone)
LoRa
Module LoRa SX1262, bande EU 868 MHz (antenne externe)
Matériel
Interfaces
USB-C, RP-SMA
Fonctions
Localisation GPS (GPS, GLONASS, BeiDou, QZSS), affichage EPD, RTC, USB 2.0, gestion de l'alimentation PMU (batterie au lithium intégrée de 1200 mAh), buzzer, etc.
Boutons
Commutateur rotatif, bouton de fonction, bouton de changement de page, interrupteur GPS, bouton de réinitialisation
Indicateur LED
Alimentation, Indication GPS/LoRa
Autres
Alimentation
5 V/1 A, prise en charge de l'alimentation par USB ou batterie au lithium
Consommation électrique
Le courant de fonctionnement maximal est d'environ 340 mA (CPU + module LoRa) ; la consommation en mode basse consommation est d'environ 34 µA
Température de fonctionnement
-10 à 50°C
Température de stockage
-20 à 60°C
Humidité relative
10 à 95% à 40°C (sans condensation)
Boîtier
Plastique ABS
Dimensions
82 x 51,6 x 26,3 mm
Poids
81 g
Inclus
1x Elecrow ThinkNode M5
1x Antenne LoRa
1x Câble USB-C
1x Manuel
Téléchargements
Manual
Le FNIRSI 2D15P est un outil de test compact 3-en-1 qui combine un oscilloscope numérique à 2 canaux, un multimètre True RMS et un générateur de formes d'onde dans un seul appareil. Doté d'un écran tactile capacitif de 4,3 pouces, d'une bande passante de 100 MHz, d'une fréquence d'échantillonnage de 500 Méch/s et d'une vitesse d'acquisition jusqu'à 1200 images/s, il est idéal pour le dépannage rapide, l'analyse de signaux et les tests électroniques.
Caractéristiques
Entrée double canal (100 MHz en monocanal, 50 MHz en bicanal)
Profondeurs de mémoire sélectionnables
Bande passante limitée à 20 MHz
Visualisation en niveaux de gris et température de couleur
Opérations mathématiques (addition, soustraction, multiplication, division, etc.)
Mode XY et persistance infinie
Fonction curseur et 13 mesures automatiques
Modes de déclenchement : Auto / Normal / Single
Multimètre True RMS (19999 points)
Générateur de signal DDS 10 MHz
Spécifications
Généralités
Écran
Écran tactile capacitif IPS 4,3 pouces
Fonctionnement
Tactile + Molette + Boutons physiques
Chargement
USB-C (charge rapide 12 V/1 A)
Batterie
Batterie au lithium 5000 mAh
Dimensions
19,6 x 12,9 x 5,7 cm
Poids
1,1 kg
Oscilloscope
Canaux
2
Bande passante analogique
100 MHz
Fréquence d'échantillonnage
500 Méch/s
Profondeur de mémoire
10K, 100K, 1M
Impédance d'entrée
1 MΩ
Plage de la base de temps
5 ns - 50 s
Sensibilité verticale
10 mV - 10 V/div
Tension d'entrée max.
800 V (sonde x10)
Mode de déclenchement
Auto, Normal, Single
Type de déclenchement
Montant, Descendant, Fronts montants et descendants
Couplage
CA/CC
Persistance
min / 2s / 5s / 10s / 20s / 50s / ∞
Calcul Opérations
Oui
Capture de forme d'onde
Oui
Exportation de forme d'onde
Oui
Mesure du curseur
Oui
Multimètre
Tension CC
1.9999V / 19.999V / 199.99V / 1000V
Tension CA
1.9999V / 19.999V / 199.99V / 750.0V
Courant CC
19.999mA / 199.99mA / 1.9999A / 9.999A
Courant CA
19.999mA / 199.99mA / 1.9999A / 9.999A
Résistance
19.999MΩ / 1.9999MΩ / 199.99KΩ / 19.999KΩ / 1.9999KΩ / 199.99Ω
Capacité
999.9uF / 99.99uF / 9.999uF / 999.9nF / 99.99nF / 9.999nF / 9.999mF / 99.99mF
Diode
Oui
Continuité
Oui
Générateur de signaux
Canaux
1
Fréquence
0–10 MHz
Amplitude
0,1–3,0 Vpp
Rapport cyclique
0–100%
Inclus
1x FNIRSI 2D15P oscilloscope
2x Sondes d'oscilloscope P6100
1x Sonde multimètre
1x Sonde à pince crocodile
1x Câble de données USB
1x Manuel
Téléchargements
Manual
Firmware V2.7.0.7
Eerste stappen met een ESP32-C3 en het IoTWiFi-knop en -relais IoT Cloud à la Arduino
Arduino-shield met dubbele Geiger-Müller buisuiterst gevoelige en zeer zuinige stralingssensor
CO2-wachterluchtkwaliteit bewaken – doe het zelf!
MonkMakes Air Quality Kit voor de Raspberry Pimeet temperatuur en eCO2
Alle begin......verwelkomt de diode
Tips & trucs voor het testen van componentenzonder kostbare apparatuur
Reduceer het stroomverbruik van uw mollenverjagerATtiny13 in plaats van 555
Lichtschakelaar DeLuxuiterst nauwkeurig lichtgestuurd schakelen
Uitdagingen bij het op de markt brengen van IoT-oplossingenzorgen over veiligheid, schaalbaarheid en de concurrentie Elektor Infographics
Toch beter bedraadTips voor het ontwikkelen van een 1 Gbit/s interface in de industriële omgeving
Edge Impulse FOMOreal-time objectdetectie voor MCU’s
Lopende-golfbuisVreemde onderdelen, de serie
Smalband-Internet of Thingsstandaarden, dekking, overeenkomsten en modules
Dragino LPS8 indoor-gatewayLoRaWAN-gateway snel geïnstalleerd
Ontdek ATtiny-microcontrollers met behulp van C en assemblervoorbeeldhoofdstuk: ATtiny I/O-poorten
Project 2.0correcties, updates en brieven van lezers
LoRa GPS-tracker updateontvang en toon de locatie met een Raspberry Pi
Schakelingen simuleren met TINA Design Suite & TINACloudvoorbeeldhoofdstuk: sinusoscillatoren
Uit het leven gegrepenlopendebandwerk
Het WinUI grafische framework voor Windows-appseen kleine demo-applicatie
GUI's maken met Python's Werelds slechtste GUI
Off-grid PV-systeemelektrische energie onafhankelijk van het net
De 10-jaar-smartphonestel uw verwachtingen bij Hexadoku
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.