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 bundle gives you everything you need to get started right away with the XIAO ESP32-C3 development board. Learn the fundamentals of the ESP32-C3 and build practical projects with Wi-Fi, Bluetooth, sensors, displays, PWM, Deep Sleep, and much more.
Book: Build Smart Projects with the XIAO ESP32-C3 Board
The XIAO ESP32-C3 board combines the ultra-compact form factor of the XIAO series with the full capabilities of the ESP32-C3 chip, including integrated Wi-Fi and Bluetooth 5.0. This book is a comprehensive, hands-on guide to getting the most out of this powerful yet affordable development board.
The author takes readers from the fundamentals to advanced projects. Starting with LED blinking and dimming, the book progresses to ADC and PWM for precise sensor interfacing and PWM-controlled lighting effects before moving on to building practical, real-world applications, including:
A Wi-Fi weather station with an OLED display and real-time online weather data
An ultrasonic parking assistant with audible feedback
A refrigerator monitoring probe with climate sensing and Deep Sleep for years of battery operation
A retro Pong game controlled by a touch-free sensor
A microphone-based party app that responds to claps
And much more: lighting control, reaction-time measurement, mains frequency analysis, soil moisture sensing, ambient LED lighting, and 7-segment displays
Seeed Studio XIAO ESP32C3
Seeed Studio XIAO ESP32C3 has equipped a highly-integrated ESP32-C3 chip, built around a 32-bit RISC-V chip processor with a four-stage pipeline that operates at up to 160 MHz.
The board equips highly-integrated ESP32-C3 SoC. The chip has been installed with a complete 2.4 GHz Wi-Fi subsystem which means it supports Station mode, SoftAP mode, SoftAP & Station mode, and promiscuous mode for multiple Wi-Fi applications. It works under an ultra-low power state, also supporting features of Bluetooth 5 and Bluetooth mesh. There are 400 KB SRAM & 4 MB Flash on the chip, allowing for more programming space, and bringing more possibilities to the IoT control scenarios.
Applications
Internet of Things
Wearable devices
Health monitoring
Education
Low-Power networking
Rapid prototyping
Specifications
Processor
ESP32-C3 SoC
RISC-V single-core 32-bit chip processor with a four-stage pipeline that operates at up to 160 MHz
Wireless
Complete 2.4GHz Wi-Fi subsystem
Bluetooth Low Energy 5.0/ Bluetooth Mesh
On-chip Memory
400 KB SRAM & 4 MB Flash
Interface
1x UART, 1x I²C, 1x SPI, 11x GPIO (PWM), 4x ADC
1x Reset button, 1x Boot button
Power (Typ.)
Max 3.3 V Output Current: 500 mA Test Condition: BAT Pin Input @ 3.8 V Source Capability: 3 A
Charging current: 380 mA(Fast) / 40 mA(Trickle)
Input voltage (VIN): 5 VInput voltage (BAT): 3.7 V
Deep Sleep Power Consumption
Deep Sleep Mode: 44 μA
Wi-Fi Enabled Power Consumption
Active Mode: 75 mA
Modem-sleep Mode: 25 mA
Light-sleep Mode: 4 mA
BLE Enabled Power Consumption
Modem-sleep Mode: 27 mA
Light-sleep Mode: 10 mA
Dimensions
21 x 17.8 mm
Included
1x Seeed Studio XIAO ESP32C3
1x Antenna
2x 7-pin header
Downloads
Wiki
Datasheet
This bundle contains:
Book: Build Smart Projects with the XIAO ESP32-C3 Board (normal price: €35)
Board: Seeed Studio XIAO ESP32C3 (normal price: €10)
This complete Raspberry Pi Pico microcontroller programming course features a textbook, a component kit, hands-on projects, and a comprehensive online course with simulations. It is ideal for step-by-step learning of embedded systems programming in MicroPython using a practical, hands-on approach.
A Practical Introduction to Embedded Systems with the Raspberry Pi Pico
This course is designed for people who are new to embedded systems and looking for a structured, example-driven way to get started.
A kit of parts comprising LEDs and resistors, switches, sensors and actuators, displays, a breadboard and wires, and more is included. These are used in the course to illustrate example applications.
No prior experience with Arduino or embedded development is required. Each section features hands-on examples and mini projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the examples but also to build on them with your own ideas and applications.
What Will You Learn?
Microcontroller programming in MicroPython with the Raspberry Pi Pico using the Thonny IDE
Working with Digital I/O, read buttons and encoders, control LEDs and relays
Read analog inputs, voltages, and analog sensors
Generating analog output signals and PWM
Use serial communication like UART, I²C and SPI to control displays and read digital sensors and SD cards
Managing time
Working with interrupts
Real-time sensor input and control via buttons, LEDs, and displays
Control actuators like relays and servo motors
Who Is It For?
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
What's Inside the Box?
Access to the full course on the Elektor Academy Pro Learning Platform
Raspberry Pi Pico microcontroller board + USB cable
Book: Programming Microcontrollers in MicroPython
Downloadable project files for every module
Component Box:
2× LED, red, 5 mm
LED, green, 5 mm
3× Resistor, 470 Ω, 0.25 W
LDR
Potentiometer, 10 kΩ, linear
Pushbutton
Rotary encoder module
Relay module
DHT22 Humidity & Temperature Sensor
TM1637-compatible 4-digit 7-segment display
MPU-6050 IMU with headers
SSD1306-compatible I²C OLED display
Micro SD card adapter with header
Buzzer
SG90 Micro Servo
ILI9341-compatible SPI 240×320 TFT display
20× Jumper wires
Breadboard
All Programming Courses (and differences in content)
Course
Arduino
Raspberry Pi Pico with Arduino C/C++
ESP32 with Arduino C/C++
Raspberry Pi Pico with MicroPython
ESP32 with MicroPython
Online Course
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
Board
Uno R3
Raspberry Pi Pico
ESP32
Raspberry Pi Pico
ESP32
Book
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
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
This complete STM32 microcontroller programming course features a textbook, a component kit, hands-on projects, and a comprehensive online course. It is ideal for step-by-step learning of embedded systems programming in MicroPython using a practical, hands-on approach.
A Practical Introduction to Embedded Systems with the STM32
This course is designed for people who are new to embedded systems and looking for a structured, example-driven way to get started. A kit of parts comprising LEDs and resistors, switches, sensors and actuators, displays, a breadboard and wires, and more is included. These are used in the course to illustrate example applications.
No prior experience with MicroPython or embedded development is required. Each section features hands-on examples and mini projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the examples but also to build on them with your own ideas and applications.
What Will You Learn?
Microcontroller programming in MicroPython on the STM32 using the Thonny IDE
Working with Digital I/O, read buttons and encoders, control LEDs and relays
Read analog inputs, voltages, and analog sensors
Generating analog output signals and PWM
Use serial communication like UART, I²C and SPI to control displays and read digital sensors and SD cards
Managing time
Working with interrupts
Real-time sensor input and control via buttons, LEDs, and displays
Control actuators like relays and servo motors
Who Is It For?
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
What's Inside the Box?
Access to the full course on the Elektor Academy Pro Learning Platform
STM32 NUCLEO-F411RE microcontroller board
Book: MicroPython for STM32
Downloadable project files for every module
Component Box:
2× LED, red, 5 mm
LED, green, 5 mm
3× Resistor, 470 Ω, 0.25 W
LDR
Potentiometer, 10 kΩ, linear
Pushbutton
Rotary encoder module
Relay module
DHT22 Humidity & Temperature Sensor
TM1637-compatible 4-digit 7-segment display
MPU-6050 IMU with headers
SSD1306-compatible I²C OLED display
Micro SD card adapter with header
Buzzer
SG90 Micro Servo
ILI9341-compatible SPI 240×320 TFT display
20× Jumper wires
Breadboard
Mit dem Elektor Arduino Nano Trainingsboard (MCCAB) eigene Projekte realisieren
Der Mikrocontroller ist das wohl faszinierendste Teilgebiet der Elektronik, denn aufgrund der Vielzahl von Funktionen, die er auf seinem Chip vereinigt, ist er für den Entwickler ein universelles Multi-Tool zur Realisierung seiner Projekte. Praktisch jedes Gerät des täglichen Gebrauchs wird heute von einem Mikrocontroller gesteuert. Für einen elektronischen Laien blieb es aufgrund der Komplexität bisher allerdings ein Wunschtraum, eigene Ideen mit einem Mikrocontroller zu realisieren. Das Arduino-Konzept hat den Einsatz von Mikrocontrollern weitgehend vereinfacht, sodass jetzt auch Laien eigene Elektronik-Ideen mit einem Mikrocontroller verwirklichen können.
Buch & Hardware im Bundle: 'Learning by Doing'
Dieses im Bundle mitgelieferte Buch (im großen A4-Format) zeigt, wie man auch ohne große Erfahrung in Elektronik und Programmiersprachen eigene Projekte mit einem Mikrocontroller realisieren kann. Es ist ein Mikrocontroller-Praxiskurs für Einsteiger, denn nach einem Überblick über die Interna des Mikrocontrollers und einer Einführung in die Programmiersprache C liegt der Schwerpunkt des Kurses auf den praktischen Übungen. Der Leser eignet sich die erforderlichen Kenntnisse durch 'Learning by Doing' an: in dem umfangreichen Praxisteil mit 12 Projekten und 46 Übungen wird das im vorderen Teil des Buches Gelernte mit vielen Beispielen unterlegt. Die Übungen sind dabei so aufgebaut, dass der Bearbeiter eine Aufgabenstellung erhält, die er mit seinem im Theorieteil des Buches aufgebauten Wissen löst. Für jede Übung gibt es anschließend eine ausführlich erklärte und kommentierte Musterlösung, die dem Bearbeiter bei Problemen weiterhilft und die er mit seiner eigenen Lösung vergleichen kann.
Arduino IDE
In der Arduino IDE, einer Software-Entwicklungsumgebung, die kostenlos auf den eigenen PC heruntergeladen werden kann und die das gesamte Softwarepaket enthält, das für ein eigenes Mikrocontroller-Projekt benötigt wird, schreibt der Bearbeiter mit dem Editor der IDE seine Programme („Apps“) in der Programmiersprache C. Der in die Arduino IDE integrierte Compiler übersetzt sie in die Bits und Bytes, die der Mikrocontroller versteht und die dann über ein USB-Kabel in den Speicher des Mikrocontrollers auf dem Elektor Arduino Nano Trainingsboard (MCCAB) geladen werden.
Externe Sensoren, Motoren oder Baugruppen abfragen oder steuern
Das Elektor Arduino Nano Trainingsboard (MCCAB) enthält neben einem Mikrocontrollermodul Arduino Nano alle für die Übungen benötigten Bauteile wie Leuchtdioden, Schalter, Taster, akustische Signalgeber usw. Auch externe Sensoren, Motoren oder Baugruppen können mit diesem Mikrocontroller-Übungssystem abgefragt oder gesteuert werden.
Technische Daten (Arduino Nano Trainingsboard MCCAB)
Stromversorgung
Über die USB-Verbindung des zur Erstellung der Programme sowieso angeschlossenen PCs oder ein externes Netzteil (nicht im Lieferumfang enthalten)
Betriebsspannung
+5 Vcc
Eingangsspannung
Alle Eingänge
0 V bis +5 V
VX1 und VX2
+8 V bis +12 V (nur bei Verwendung eines externen Netzteils)
Mikrocontrollermodul
Arduino Nano
Hardwareperipherie
LCD
2x16 Zeichen
Potenziometer P1 & P2
JP3: Auswahl der Betriebsspannung von P1 & P2
Verteiler
SV4: Verteiler für die BetriebsspannungenSV5, SV6: Verteiler für die Ein-/Ausgänge des Mikrocontrollers
Schalter und Taster
RESET-Taster auf dem Arduino Nano-Modul6x Tastschalter K1 … K66x Schiebeschalter S1 … S6JP2: Verbindung der Schalter mit den Eingängen des Mikrocontrollers
Summer
Piezo-Summer Buzzer1 mit Steckbrücke auf JP6
Leuchtanzeigen
LED L auf dem Arduino Nano-Modul, verbunden mit GPIO D1311x LED: Zustandsanzeige für die Ein-/AusgängeJP6: Verbindung der LEDs LD10 … LD20 mit den GPIOs D2 … D12
Serielle SchnittstellenSPI & I²C
JP4: Auswahl des Signals an Pin X der SPI-Steckerleiste SV12SV9 bis SV12: SPI-Interface (3,3 V/5 V) bzw. I²C-Interface
Schaltausgang für externe Geräte
SV1, SV7: Schaltausgang (maximal +24 V/160 mA, extern zugeführt)SV2: 2x13 Pins zum Anschluss externer Module
3x3 LED-Matrix (9 rote LEDs)
SV3: Spalten der 3x3 LED-Matrix (Ausgänge D6 … D8)JP1: Verbindung der Reihen mit den GPIOs D3 … D5
Software
Library MCCABLib
Steuerung der Hardware-Komponenten (Schalter, Taster, Leuchtdioden, 3x3 LED-Matrix, Summer) auf dem MCCAB Trainingsboard
Betriebstemperatur
bis +40 °C
Abmessungen
100 x 100 x 20 mm
Technische Daten (Arduino Nano)
Mikrocontroller
ATmega328P
Architektur
AVR
Betriebsspannung
5 V
Flashspeicher
32 KB, davon 2 KB vom Bootloader belegt
SRAM
2 KB
Taktfrequenz
16 MHz
Analoge IN-Pins
8
EEPROM
1 KB
DC-Strom pro I/O-Pin
40 mA an einem I/O-Pin, insgesamt maximal 200 mA an allen Pins gemeinsam
Eingangsspannung
7-12 V
Digitale I/O-Pins
22 (6 davon sind PWM-fähig)
PWM-Ausgänge
6
Stromverbrauch
19 mA
Abmessungen
18 x 45 mm
Gewicht
7 g
Lieferumfang
Elektor Arduino Nano MCCAB Trainingsboard
Arduino Nano
Buch: Mikrocontroller-Praxiskurs für Arduino-Einsteiger
Over 180 Projects with Raspberry Pi, Pico W, Arduino, and ESP32
This bundle contains the Universal Maker Sensor Kit, which consists of many sensors, actuators, displays, and motors. It’s perfect for environmental monitoring, smart home projects, robotics, and game controllers.
The new Elektor book describes the design of many projects using the kit together with the popular Raspberry Pi, Raspberry Pi Pico W, Arduino Uno, and the ESP32 family of development boards. You can choose any of these development boards for your projects and either use the provided programs as they are, or modify these programs to suit your applications.
This bundle contains:
Book: Universal Maker Sensor Kit (normal price: €45)
Universal Maker Sensor Kit for Raspberry Pi, Pico W, Arduino, ESP32 (normal price: €70)
Book: Universal Maker Sensor Kit
Learn to use more than 35 Sensors and Actuators with C++, Python, and MicroPython
This book contains over 180 projects for all four major development boards (Arduino, Raspberry Pi, Pico W, and ESP32). Depending on the development board, projects are available in the C, Python, or MicroPython programming languages.
The project titles, brief descriptions, wiring diagrams, and full program listings together with their detailed descriptions are given in the guide.
Universal Maker Sensor Kit (for Raspberry Pi, Pico W, Arduino, ESP32)
Discover endless creativity with the Universal Maker Sensor Kit, designed for use with Raspberry Pi, Pico W, Arduino, and ESP32. This versatile kit offers compatibility across popular development platforms, including Arduino Uno R4 Minima/WiFi, Uno R3, Mega 2560, Raspberry Pi 5, 4, 3B+, 3B, Zero, Pico W, and ESP32.
Featuring over 35 sensors, actuators, and displays, it's perfect for projects ranging from environmental monitoring and smart home automation to robotics and interactive gaming. Step-by-step tutorials in C/C++, Python, and MicroPython guide beginners and experienced makers alike through 169 exciting projects.
Features
Wide Compatibility: Fully supports Arduino (Uno R3, Uno R4 Minima/WiFi, Mega 2560), Raspberry Pi (5, 4, 3B+, 3B, Zero, Pico W), and ESP32, enabling extensive flexibility across numerous development platforms. Includes instructions for building 169 projects.
Comprehensive Components: Features more than 35 sensors, actuators, and display modules suitable for diverse projects such as environmental monitoring, smart home automation, robotics, and interactive game controllers.
Detailed Tutorials: Provides clear, step-by-step tutorials covering Arduino, Raspberry Pi, Pico W, ESP32, and each included component. Tutorials are available in C/C++, Python, and MicroPython, catering effectively to both beginners and experienced makers.
Suitable for All Skill Levels: Offers structured projects designed to guide users seamlessly from beginner to advanced proficiency in electronics and programming, enhancing creativity and technical expertise.
Kit includes
Breadboard
Button Module
Capacitive Soil Moisture Module
Flame Sensor Module
Gas/Smoke Sensor Module (MQ2)
Gyroscope & Accelerometer Module (MPU6050)
Hall Sensor Module
Infrared Speed Sensor Module
IR Obstacle Avoidance Sensor Module
Joystick Module
PCF8591 ADC DAC Converter Module
Photoresistor Module
PIR Motion Module (HC-SR501)
Potentiometer Module
Pulse Oximeter and Heart Rate Sensor Module (MAX30102)
Raindrop Detection Module
Real Time Clock Module (DS1302)
Rotary Encoder Module
Temperature Sensor Module (DS18B20)
Temperature and Humidity Sensor Module (DHT11)
Temperature, Humidity & Pressure Sensor (BMP280)
Time of Flight Micro-LIDAR Distance Sensor (VL53L0X)
Touch Sensor Module
Ultrasonic Sensor Module (HC-SR04)
Vibration Sensor Module (SW-420)
Water Level Sensor Module
I²C LCD 1602
OLED Display Module (SSD1306)
RGB LED Module
Traffic Light Module
5 V Relay Module
Centrifugal Pump
L9110 Motor Driver Module
Passive Buzzer Module
Servo Motor (SG90)
TT Motor
ESP8266 Module
JDY-31 Bluetooth Module
Power Supply Module
Documentation
Online Tutorial
Over 40 Fully Tested ESP32 Projects Using Arduino IDE and the LVGL Graphics Library
This bundle includes the ESP32 Cheap Yellow Display (CYD) – a compact development board combining a standard ESP32 microcontroller with a 320x240 pixel TFT color display. The board also features multiple connectors for GPIO, serial communication (TX/RX), power, and ground. The built-in display is a major advantage, allowing users to create complex, graphics-based projects without the need for external LCDs or displays.
The accompanying book introduces the CYD board's hardware and on-board connectors in detail. It provides a range of beginner to intermediate-level projects developed using the popular Arduino IDE 2.0. Both basic graphics functions and the powerful LVGL graphics library are covered, with practical projects illustrating each approach.
All included projects have been fully tested and are ready to use. The book provides block diagrams, circuit schematics, complete code listings, and step-by-step explanations. With the LVGL library, readers can create modern, full-color graphical interfaces using widgets such as buttons, labels, sliders, calendars, keyboards, charts, tables, menus, animations, and more.
ESP32 Cheap Yellow Display Board
This development board (also known as "Cheap Yellow Display") is powered by the ESP-WROOM-32, a dual-core MCU with integrated Wi-Fi and Bluetooth capabilities. It operates at a main frequency of up to 240 MHz, with 520 KB SRAM, 448 KBROM, and a 4 MB Flash memory. The board features a 2.8-inch display with a resolution of 240x320 and resistive touch.
Furthermore, the board includes a backlight control circuit, touch control circuit, speaker drive circuit, photosensitive circuit, and RGB-LED control circuit. It also provides a TF card slot, serial interface, DHT11 temperature and humidity sensor interface, and additional IO ports.
The module supports development in Arduino IDE, ESP-IDE, MicroPython, and Mixly.
Applications
Image transmission for Smart Home device
Wireless monitoring
Smart agriculture
QR wireless recognition
Wireless positioning system signal
And other IoT applications
Specifications
Microcontroller
ESP-WROOM-32 (Dual-core MCU with integrated Wi-Fi and Bluetooth)
Frequency
Up to 240 MHz (computing power is up to 600 DMIPS)
SRAM
520 KB
ROM
448 KB
Flash
4 MB
Operating voltage
5 V
Power consumption
approx. 115 mA
Display
2.8-inch color TFT screen (240 x 320)
Touch
Resistive Touch
Driver chip
ILI9341
Dimensions
50 x 86 mm
Weight
50 g
Downloads
GitHub
This bundle contains:
The ESP32 Cheap Yellow Display Book (normal price: €35)
ESP32 Cheap Yellow Display Board (normal price: €25)
1x ESP32 Dev Board with 2.8" Display and acrylic Shell
1x Touch pen
1x Connector cable
1x USB cable
Met behulp van de lessen in dit boek leert u hoe u zelf een microcontroller kunt programmeren. We maken daarbij gebruik van JAL, een gratis maar uiterst krachtige programmeertaal voor PIC microcontrollers, die in de hobbywereld erg populair is.
We starten aan het absolute begin, en bouwen vandaar de kennis op. U heeft dus geen voorkennis nodig: iedereen kan met dit boek aan de slag. Wanneer u alle lessen volgt (dat wil zeggen: de oefeningen ook daadwerkelijk maakt) dan kunt u wanneer u het boek uit heeft zelf PIC microcontroller programma’s schrijven, en programma’s van anderen lezen.
JAL opdrachten
U leert de functie van JAL opdrachten zoals include, pin, delay, forever loop, while loop, case, exit loop, repeat until, if then, en het gebruik van functies, procedures en timer- en poortinterrupts.
JAL programma’s
U laat een LED knipperen, maakt een tijdschakelaar, meet de stand van een potmeter, maakt geluiden, voorkomt contactdender en regelt de helderheid van een LED. En uiteraard leert u debuggen: hoe u in uw programma’s fouten kunt vinden en oplossen.
Hardware
U leert verschillende onderdelen zoals PIC microcontroller, potmeter en kristal herkennen, en hoe u een PIC microcontroller aan moet sluiten en met uw PC moet verbinden. U maakt hierbij gebruik van een steekbord zodat u de opstelling gemakkelijk kunt aanpassen om verder te experimenteren.
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.
This complete ESP32 microcontroller programming course features a textbook, a component kit, hands-on projects, and a comprehensive online course with simulations. It is ideal for step-by-step learning of embedded systems programming in MicroPython using a practical, hands-on approach.
A Practical Introduction to Embedded Systems with the ESP32
This course is designed for people who are new to embedded systems and looking for a structured, example-driven way to get started.
A kit of parts comprising LEDs and resistors, switches, sensors and actuators, displays, a breadboard and wires, and more is included. These are used in the course to illustrate example applications.
No prior experience with Arduino or embedded development is required. Each section features hands-on examples and mini projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the examples but also to build on them with your own ideas and applications.
What Will You Learn?
Microcontroller programming in MicroPython with the ESP32 using the Thonny IDE
Working with Digital I/O, read buttons and encoders, control LEDs and relays
Read analog inputs, voltages, and analog sensors
Generating analog output signals and PWM
Use serial communication like UART, I²C and SPI to control displays and read digital sensors and SD cards
Managing time
Working with interrupts
Real-time sensor input and control via buttons, LEDs, and displays
Control actuators like relays and servo motors
Who Is It For?
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
What's Inside the Box?
Access to the full course on the Elektor Academy Pro Learning Platform
ESP32 microcontroller board + USB cable
Book: Programming Microcontrollers in MicroPython
Downloadable project files for every module
Component Box:
2× LED, red, 5 mm
LED, green, 5 mm
3× Resistor, 470 Ω, 0.25 W
LDR
Potentiometer, 10 kΩ, linear
Pushbutton
Rotary encoder module
Relay module
DHT22 Humidity & Temperature Sensor
TM1637-compatible 4-digit 7-segment display
MPU-6050 IMU with headers
SSD1306-compatible I²C OLED display
Micro SD card adapter with header
Buzzer
SG90 Micro Servo
ILI9341-compatible SPI 240×320 TFT display
20× Jumper wires
Breadboard
All Programming Courses (and differences in content)
Course
Arduino
Raspberry Pi Pico with Arduino C/C++
ESP32 with Arduino C/C++
Raspberry Pi Pico with MicroPython
ESP32 with MicroPython
Online Course
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
Board
Uno R3
Raspberry Pi Pico
ESP32
Raspberry Pi Pico
ESP32
Book
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
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
This complete ESP32 microcontroller programming course features a textbook, a component kit, hands-on projects, and a comprehensive online course with simulations. It is ideal for step-by-step learning of embedded systems programming with Arduino using a practical, hands-on approach.
A Practical Introduction to Embedded Systems with the ESP32
This course is designed for people who are new to embedded systems and looking for a structured, example-driven way to get started.
A kit of parts comprising LEDs and resistors, switches, sensors and actuators, displays, a breadboard and wires, and more is included. These are used in the course to illustrate example applications.
No prior experience with Arduino or embedded development is required. Each section features hands-on examples and mini projects designed to reinforce key concepts and inspire deeper exploration. By the end of the course, you’ll be able not only to reproduce the examples but also to build on them with your own ideas and applications.
What Will You Learn?
Microcontroller programming with the ESP32 using the Arduino IDE
Working with Digital I/O, read buttons and encoders, control LEDs and relays
Read analog inputs, voltages, and analog sensors
Generating analog output signals and PWM
Use serial communication like UART, I²C and SPI to control displays and read digital sensors and SD cards
Managing time
Working with interrupts
Real-time sensor input and control via buttons, LEDs, and displays
Control actuators like relays and servo motors
Who Is It For?
Students and self-learners exploring embedded systems
Makers and IoT enthusiasts looking to improve their hardware skills
Educators and trainers seeking ready-to-teach material
What's Inside the Box?
Access to the full course on the Elektor Academy Pro Learning Platform
ESP32 microcontroller board + USB cable
Book: Programming Microcontrollers in C/C++ Using Arduino
Downloadable project files for every module
Component Box:
2× LED, red, 5 mm
LED, green, 5 mm
3× Resistor, 470 Ω, 0.25 W
LDR
Potentiometer, 10 kΩ, linear
Pushbutton
Rotary encoder module
Relay module
DHT22 Humidity & Temperature Sensor
TM1637-compatible 4-digit 7-segment display
MPU-6050 IMU with headers
SSD1306-compatible I²C OLED display
Micro SD card adapter with header
Buzzer
SG90 Micro Servo
ILI9341-compatible SPI 240×320 TFT display
20× Jumper wires
Breadboard
All Programming Courses (and differences in content)
Course
Arduino
Raspberry Pi Pico with Arduino C/C++
ESP32 with Arduino C/C++
Raspberry Pi Pico with MicroPython
ESP32 with MicroPython
Online Course
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
Board
Uno R3
Raspberry Pi Pico
ESP32
Raspberry Pi Pico
ESP32
Book
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
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
40-piece Component Box
Wie enigszins bekend is met moderne microprocessor systemen als Arduino, kent ongetwijfeld ook de problemen met dit soort kaarten. Ze zijn te duur om voor elk project een aparte kaart aan te schaffen en zijn bovendien nogal fors van formaat.
Het aardige van de ATtiny is dat de schijn bedriegt. Het lijkt een klein IC met een beperkt toepassingsgebied, maar het heeft een verbazingwekkend scala aan (speelse) mogelijkheden.
Dit boek beschrijft de enorme veelzijdigheid van de ATtiny microcontroller aan de hand van ongeveer vijftig leuke elektronica projecten, speciaal gericht op de beginner. De meeste ontwerpen zijn volledig uitgewerkt, enkele zijn meer als ontwerpidee gepresenteerd. De inhoudsopgave laat zien dat we ons op vele terreinen zullen begeven, van zonnevolger tot helling indicator. Dit boek is beslist geen theorieboek. Het is een boek dat gelezen zal worden met de soldeerbout in de hand.
Voor het programmeren van de ATtiny maken we dankbaar gebruik van een Arduino kaart. Als de Arduino ingesteld word als programmer, kunnen we er de meeste Arduino “sketches” mee overzetten naar de ATtiny. We wensen u veel plezier met het nabouwen van de schakelingen.