Arduino from Zero to Professional
400 hands-on lessons that take you from your first blinking LED to a tested, protected, updatable product you can ship.
Einsteiger
Stufe 1First Contact: Your Board, the IDE and a Blinking LED
🔒
Understand what a microcontroller is, install Arduino IDE 2 and upload and modify your first sketches. Details zur Stufe →
1.1What a Microcontroller Is and Where It Hides in Daily Life1.2A Guided Tour of the UNO-Compatible Board1.3Handling the Board Safely: Short Circuits, Static and USB Power1.4Installing Arduino IDE 2 and the USB Serial Driver1.5Selecting Board and Port, Then Uploading Blink1.6Anatomy of a Sketch: setup, loop and Statements1.7Changing Blink Timing with delay1.8Reading Compiler and Upload Error Messages1.9Comments, Naming and Saving Sketches Sensibly1.10Sending Morse Code with the Onboard LEDStufe 2Electricity You Can Measure: Voltage, Current and Resistance
🔒
Build simple circuits on a breadboard, calculate resistor values and verify them with a multimeter. Details zur Stufe →
2.1Voltage, Current and Resistance in a Water-Pipe Picture2.2How a Breadboard Is Connected Inside2.3Your First External Circuit: LED, Resistor and the 5 V Pin2.4Ohm's Law and Choosing an LED Resistor2.5Reading Resistor Colour Bands2.6Measuring Voltage with a Multimeter2.7Measuring Current and Resistance without Blowing the Fuse2.8Series and Parallel Circuits on the Breadboard2.9Continuity Testing and Finding a Broken Connection2.10Drawing and Reading Simple SchematicsStufe 3Digital Outputs and the Building Blocks of C++
🔒
Control several LEDs from digital pins using variables, loops and your own functions. Details zur Stufe →
3.1Driving an External LED from a Digital Pin3.2Variables and Constants: Giving Pins and Times a Name3.3Integer Types and Arithmetic in Sketches3.4Repeating Work with for Loops3.5while Loops and Counting Down3.6Writing Your Own Functions with Parameters3.7Functions That Return Values3.8Pin Current Limits and Sharing Load Across Pins3.9Six-LED Running Light on Consecutive Pins3.10Sequencing a Traffic Light with Named PhasesStufe 4Digital Inputs: Buttons, Switches and Decisions
🔒
Read switches reliably and make programs react with conditions and modes. Details zur Stufe →
4.1Reading a Push Button with digitalRead4.2Floating Inputs and the Pull-Down Resistor4.3INPUT_PULLUP and Inverted Logic4.4Decisions with if, else and Comparison Operators4.5Boolean Variables and Logical Operators4.6Detecting a Press Edge Instead of a Held Level4.7Contact Bounce and a First Software Debounce4.8Toggling and Cycling Modes with One Button4.9Slide, Tilt and Reed Switches as Inputs4.10Selecting Behaviour with switch-caseStufe 5The Serial Monitor: Making Your Board Talk and Listen
🔒
Exchange text and numbers with the computer to inspect, control and graph your programs. Details zur Stufe →
5.1Opening the Serial Monitor and Printing Text5.2Printing Variables, Number Bases and Tidy Columns5.3Tracing Program Flow with Serial Prints5.4float, char and bool: Choosing the Right Data Type5.5Arrays: Many Values Under One Name5.6Text as char Arrays versus the String Class5.7Receiving Single Characters from the Keyboard5.8Reading Whole Numbers and Lines of Text5.9Live Graphs with the Serial Plotter5.10Building a Serial Command MenuStufe 6Analog Inputs: Measuring a Continuous World
🔒
Read analog voltages, convert them into physical units and make stable decisions from noisy signals. Details zur Stufe →
6.1Analog versus Digital Signals and the 10-Bit Converter6.2Reading a Potentiometer with analogRead6.3Converting Raw Readings to Volts6.4Voltage Dividers: Theory and Measurement6.5Light Sensing with a Photoresistor6.6Scaling Values with map and constrain6.7Temperature from an LM35 Analog Sensor6.8Smoothing Noisy Readings by Averaging6.9Thresholds and Hysteresis for Stable Switching6.10Analog Joystick: Two Axes and a ButtonStufe 7PWM, Colour and Sound
🔒
Produce brightness, colour and tones with PWM and timed signals and store patterns in arrays. Details zur Stufe →
7.1Pulse Width Modulation and Duty Cycle7.2Fading an LED with analogWrite7.3A Potentiometer-Controlled Dimmer7.4Mixing Colours on an RGB LED7.5Perceived Brightness and Gamma Correction7.6Active versus Passive Buzzers7.7Playing Notes with tone and noTone7.8Storing a Melody in Arrays7.9Random Numbers with random and randomSeed7.10A Light-Controlled Pitch InstrumentStufe 8Sensor Modules and Using Libraries
🔒
Add common sensor modules with libraries, read their datasheets and handle bad readings. Details zur Stufe →
8.1Installing Libraries with the Library Manager8.2Learning a Library from Its Examples8.3Temperature and Humidity with DHT11 and DHT228.4Distance with an HC-SR04 Ultrasonic Sensor8.5Motion Detection with a PIR Module8.6Soil Moisture: Resistive and Capacitive Probes8.7Sound Level and Clap Detection8.8Comparator Modules and Their Trim Potentiometer8.9Reading a Sensor Datasheet for Range, Accuracy and Timing8.10Validating Readings and Handling Sensor FailureStufe 9Displays: Showing Information Without a Computer
🔒
Drive segment, character and graphic displays and design screens that are easy to read. Details zur Stufe →
9.1Driving a Single Seven-Segment Digit9.2Four Digits with a TM1637 Module9.3Wiring a 16x2 Character LCD in 4-Bit Mode9.4Cursor Positioning and Number Formatting on the LCD9.5Custom LCD Characters and Bar Graphs9.6An LCD on Four Wires with an I2C Backpack9.7Finding a Module's Address with a Scanner Sketch9.8First Pixels on a 128x64 OLED9.9Shapes, Icons and Large Digits on the OLED9.10Readable Screens and Page Switching with a ButtonStufe 10Actuators and Your First Complete Device
🔒
Switch loads beyond what a pin can drive, move things with servos and plan and assemble a finished device. Details zur Stufe →
10.1Why Pins Cannot Drive Motors: The Transistor as a Switch10.2Flyback Diodes and Switching a Small DC Motor10.3Relay Modules and Safe Low-Voltage Load Switching10.4Hobby Servos: Angles, Pulses and the Servo Library10.5Separate Supplies and Common Ground for Motors and Servos10.6Decoding an Infrared Remote Control10.7Scanning a 4x4 Matrix Keypad10.8Soldering Your First Joints: Header Pins and Wires10.9Planning a Project: Requirements, Block Diagram and Pin Map10.10Assembling and Testing a Device Stage by StageStufe 11Time Without delay: millis and State Machines
🔒
Write responsive programs that do several things at once using timestamps and explicit states. Details zur Stufe →
11.1Why delay Freezes Everything Else11.2Measuring Elapsed Time with millis and unsigned long11.3Rollover-Safe Interval Arithmetic11.4Several Independent Timers in One Loop11.5Thinking in States: Drawing a State Diagram11.6Implementing a State Machine with enum and switch11.7Non-Blocking Debounce with Timestamps11.8Detecting Short, Long and Double Presses11.9Timeouts, Retries and Fail-Safe States11.10Splitting loop into Cooperative Task FunctionsStufe 12Interrupts and Precise Timing
🔒
React to fast external events and measure time accurately with interrupts and microsecond timing. Details zur Stufe →
12.1Polling versus Interrupts: Choosing the Right Tool12.2External Interrupts with attachInterrupt12.3volatile Variables and Short Service Routines12.4Atomic Access to Shared Multi-Byte Data12.5Pin-Change Interrupts on Any Pin with a Library12.6Reading a Rotary Encoder Reliably12.7Hardware Debouncing with an RC Filter and Schmitt Trigger12.8Counting Pulses: Frequency and RPM Measurement12.9Periodic Timer Interrupts with a Timer Library12.10Microsecond Timing with micros and Pulse MeasurementStufe 13C++ for Embedded Work: Structure, Classes and Memory
🔒
Organise growing programs with structs, classes and multiple files while keeping RAM use under control. Details zur Stufe →
13.1Scope, Lifetime and static Local Variables13.2Fixed-Width Integer Types and Overflow13.3Bitwise Operators, Masks and Flags13.4Grouping Related Data with struct13.5Pointers and References Explained with Memory Maps13.6Passing Arrays and Structs to Functions13.7Classes: Wrapping a Button into a Reusable Object13.8Constructors, Private Members and Multiple Instances13.9Splitting a Sketch into Header and Source Files13.10RAM, Flash and the F Macro: Measuring Memory UseIntermediate
Stufe 14UART in Depth: Serial Links Between Devices
🔒
Understand asynchronous serial at signal level and build robust links to modules and other boards. Details zur Stufe →
14.1Anatomy of a UART Frame: Start, Data, Parity, Stop14.2Baud Rate Error and Why High Speeds Sometimes Fail14.3Capturing Serial Traffic with a Logic Analyzer14.4USB-to-Serial Adapters and Crossing TX with RX14.55 V and 3.3 V Logic: Level Shifting Done Right14.6SoftwareSerial and Its Limits14.7Multiple Hardware Serial Ports on a Mega-Compatible Board14.8Designing a Framed Message Protocol with Checksum14.9Parsing NMEA Sentences from a GPS Module14.10Wireless Serial with an HC-05 Bluetooth ModuleStufe 15I2C in Depth: Sharing Two Wires Among Many Chips
🔒
Understand I2C electrically and logically and talk to sensors, clocks and expanders at register level. Details zur Stufe →
15.1I2C Bus Electricals: Open Drain, SDA, SCL and Pull-Ups15.2Addresses, Start, Stop and ACK on the Logic Analyzer15.3Wire Library Transactions: Writing and Reading Registers15.4Driving a Sensor from Its Register Map without a Library15.5Tilt Angles from an MPU-6050 Accelerometer and Gyroscope15.6Pressure, Temperature and Altitude with a BME28015.7Keeping Time with a DS3231 Real-Time Clock15.8More Pins with a PCF8574 Port Expander15.9Address Conflicts and the TCA9548A Multiplexer15.10Bus Speed, Cable Length and Recovering a Stuck BusStufe 16SPI, Shift Registers and Fast Peripherals
🔒
Use SPI and related clocked interfaces to drive displays, radios, card readers and LED strips. Details zur Stufe →
16.1SPI Signals: Clock, MOSI, MISO and Chip Select16.2Clock Polarity, Phase and the Four SPI Modes16.3Output Expansion with a 74HC595 Shift Register16.4Reading Many Switches with a 74HC16516.5LED Matrices and Scrolling Text with a MAX721916.6Colour TFT Displays: Drawing Quickly over SPI16.7Reading RFID Cards with an RC522 Module16.8Sharing One SPI Bus Between Several Devices16.9Packet Radio with nRF24L01 Modules16.10Addressable WS2812 LED Strips: Timing, Power and DataStufe 17Storing Data: EEPROM, SD Cards and File Formats
🔒
Keep settings and measurements across power loss and log data safely to removable storage. Details zur Stufe →
17.1Internal EEPROM: Bytes That Survive Power Loss17.2Storing Structs with EEPROM.put and EEPROM.get17.3Write Endurance and Wear-Reducing Strategies17.4Validating Stored Settings with a Version Byte and CRC17.5microSD Cards: Wiring, Voltage and FAT Formatting17.6Creating, Appending and Reading Files17.7CSV Logging with Real-Time Clock Timestamps17.8Surviving Power Cuts: Flush Intervals and File Rotation17.9Reading Configuration Files from the Card17.10External I2C EEPROM and FRAM for Larger DataStufe 18Motors, Drivers and Motion
🔒
Select and drive DC motors, steppers and multiple servos with correct drivers, current limits and motion profiles. Details zur Stufe →
18.1DC Motor Behaviour: Stall Current, Back-EMF and Electrical Noise18.2Logic-Level MOSFETs for Heavy Loads18.3H-Bridges: Direction and Speed with TB6612 and L298N Drivers18.4Soft Start, Braking and Coasting18.5Stepper Motor Principles with a 28BYJ-48 and ULN200318.6Driving a NEMA 17 Stepper with an A4988 and Setting Its Current Limit18.7Acceleration Profiles with a Stepper Library18.8Many Servos at Once with a PCA9685 Driver18.9Measuring Motor Current with an INA219 Sensor18.10Homing with Limit Switches and Detecting a StallStufe 19Power for Projects and Systematic Fault-Finding
🔒
Supply projects correctly from mains adapters and batteries and locate faults methodically with meter and logic analyzer. Details zur Stufe →
19.1Power Budget: Adding Up What Every Part Draws19.2Linear Regulators, Dropout and Heat19.3Buck and Boost Converter Modules19.4Battery Chemistries and Lithium Cell Safety19.5Charging and Protecting a Li-Ion Cell with a TP4056 Module19.6Decoupling Capacitors, Brown-Outs and Random Resets19.7A Fault-Finding Method: Divide, Measure, Confirm19.8Meter Techniques: Voltage Drop, Diode Test and Shunt Measurement19.9Logic Analyzer Triggers and Timing Measurements19.10Moving from Breadboard to PerfboardStufe 20The Robot Car: A Complete Mobile System
🔒
Integrate mechanics, power, sensors, motor control and communication into an autonomous and remotely controllable vehicle. Details zur Stufe →
20.1Assembling a Two-Wheel-Drive Robot Chassis20.2Wiring the Motor Driver and Battery Pack Safely20.3Differential Drive: Straight Lines, Turns and Spins20.4Wheel Encoders and Driving a Set Distance20.5Obstacle Detection with a Servo-Swept Ultrasonic Sensor20.6Line Following with Infrared Reflectance Sensors20.7Remote Driving over Bluetooth from a Phone20.8A Behaviour State Machine: Explore, Avoid, Follow20.9Battery Monitoring and Low-Voltage Cut-Off20.10Field Testing, Tuning and Logging a Robot RunStufe 21Under the Hood: AVR Registers, Timers and the Bare Chip
🔒
Control the ATmega328P directly through its registers and run it outside a ready-made board. Details zur Stufe →
21.1Navigating the ATmega328P Datasheet and Pin Functions21.2Port Registers: DDRx, PORTx and PINx21.3What digitalWrite Costs: Timing Direct Port Access21.4Timer Hardware: Prescalers, Counters and Compare Units21.5Generating Precise Frequencies in CTC Mode21.6Custom PWM Frequency and Resolution with Timer121.7Input Capture for Accurate Pulse Timing21.8ADC Registers, Reference Selection and Free-Running Mode21.9Writing Interrupt Vectors by Hand21.10Fuses, Bootloader and ISP Programming a Bare ATmega328PStufe 22Low-Power Design and Running from Batteries and Sun
🔒
Cut consumption from milliamps to microamps and size batteries and solar harvesting for long unattended operation. Details zur Stufe →
22.1Where the Milliamps Go: Profiling an UNO-Compatible Board22.2Measuring Microamps Without Disturbing the Circuit22.3Sleep Modes of the ATmega328P22.4Waking Periodically with the Watchdog Timer22.5Waking on External and Pin-Change Events22.6Switching Off the ADC, Brown-Out Detector and Unused Peripherals22.7Clock Speed, Supply Voltage and the 8 MHz 3.3 V Option22.8Power-Gating Sensors and Radios with a MOSFET22.9Estimating Battery Life from a Duty-Cycle Profile22.10Solar Harvesting: Panel, Charger and Storage SizingStufe 23ESP32 Fundamentals and Getting Online
🔒
Move to a 32-bit Wi-Fi microcontroller, respect its electrical differences and fetch time and data from the network. Details zur Stufe →
23.1ESP32 Architecture and Choosing a Development Board23.2Installing the ESP32 Arduino Core and Uploading over USB23.33.3 V GPIO Rules, Strapping Pins and Input-Only Pins23.4ESP32 ADC Nonlinearity, Attenuation and the Wi-Fi Conflict23.5LEDC PWM, Capacitive Touch and DAC Outputs23.6Joining a Wi-Fi Network and Surviving Disconnects23.7Network Time with NTP and Time Zones23.8HTTP GET Requests to a Web API23.9Parsing and Building JSON Documents23.10Porting a Sketch to an ESP8266 BoardStufe 24ESP32 Web Servers, Configuration Portals and OTA Updates
🔒
Give a device a browser interface, store its settings, set it up without hard-coded credentials and update it wirelessly. Details zur Stufe →
24.1Serving a Web Page from the ESP3224.2Routes, Query Parameters and HTML Forms24.3A JSON REST API for Sensors and Outputs24.4Storing Web Assets in LittleFS24.5An Asynchronous Web Server and Non-Blocking Handlers24.6Live Updates with WebSockets24.7Persistent Settings in NVS with Preferences24.8First-Time Setup: Access-Point Mode and a Captive Portal24.9Local Names with mDNS24.10Over-the-Air Firmware Updates on the Local NetworkStufe 25Connected Devices: MQTT, Bluetooth Low Energy and ESP-NOW
🔒
Link many devices through a message broker, build dashboards, and use BLE and ESP-NOW where Wi-Fi infrastructure does not fit. Details zur Stufe →
25.1Publish and Subscribe: How MQTT Decouples Devices25.2Running a Local Mosquitto Broker and Command-Line Clients25.3Publishing Sensor Data from an ESP3225.4Subscribing to Commands and Designing Topic Trees25.5Quality of Service, Retained Messages and Last Will25.6Robust Reconnect Logic with Backoff25.7Dashboards and Automation Flows with Node-RED25.8BLE Fundamentals: GATT Services and Characteristics25.9A BLE Peripheral with Notifications to a Phone25.10Router-Free Links with ESP-NOWStufe 26Real-Time Multitasking with FreeRTOS on ESP32
🔒
Structure firmware into tasks that communicate safely and diagnose the typical failures of concurrent code. Details zur Stufe →
26.1Tasks versus the Super Loop: When an RTOS Helps26.2Creating Tasks, Stack Sizes and Priorities26.3Blocking Delays and Periodic Tasks with vTaskDelayUntil26.4Passing Data Safely Through Queues26.5Mutexes and Protecting Shared Buses26.6Binary Semaphores and Deferred Interrupt Handling26.7Task Notifications and Software Timers26.8Pinning Tasks to Cores and Coexisting with Wi-Fi26.9Finding Stack Overflows, Starvation and Deadlocks26.10Task Watchdogs and Recovering from HangsAdvanced
Stufe 27Writing and Publishing Your Own Libraries
🔒
Turn working code into versioned, documented, portable libraries that others can install and trust. Details zur Stufe →
27.1Version Control with Git for Firmware Projects27.2Anatomy of an Arduino Library Folder27.3Designing a Clean, Non-Blocking Public API27.4Writing a Device Driver from a Datasheet27.5Hardware Abstraction: Injecting Wire, SPI and Stream Objects27.6Supporting Several Boards with Conditional Compilation27.7Example Sketches, keywords.txt and library.properties27.8Documentation, Semantic Versioning and Changelogs27.9Error Codes, Return Values and Defensive Checks27.10Publishing a Library, Choosing a Licence and Handling IssuesStufe 28Closed-Loop Control and PID
🔒
Design, implement and tune feedback controllers for speed, temperature and position. Details zur Stufe →
28.1Open Loop, Closed Loop and Feedback28.2On-Off Control with Hysteresis and Its Limits28.3Proportional Control and Steady-State Error28.4Integral Action and Anti-Windup28.5Derivative Action and Noise Filtering28.6Fixed Sample Time and a Reusable PID Class28.7Step-Response Tuning by Experiment28.8Motor Speed Control with Encoder Feedback28.9Temperature Control of a Low-Voltage Heater28.10PID Line Following and Feed-ForwardStufe 29Measurement, Signal Processing and Data Logging
🔒
Acquire trustworthy measurements with proper sampling, filtering and calibration and move them into files and databases for analysis. Details zur Stufe →
29.1Sampling Rate, Aliasing and Timing Jitter29.2Oversampling and Digital Filters: Moving Average, Median and Exponential29.3Two-Point Calibration and Linearisation29.4High-Resolution Voltage with an ADS1115 Converter29.5Weighing with a Load Cell and HX711 Amplifier29.6Thermocouples and Their Converter Modules29.7Ring Buffers and Burst Capture29.8Binary Log Formats versus CSV29.9Sending Measurements to a Time-Series Database29.10Analysing a Log: Plots, Statistics and OutliersStufe 30PCB Design with KiCad and Soldering Surface-Mount Parts
🔒
Design a two-layer board from schematic to manufacturing files, assemble it including SMD parts and bring it up methodically. Details zur Stufe →
30.1From Breadboard to Board: Planning a PCB Project30.2Schematic Capture in KiCad30.3Symbols, Footprints and Reading Package Drawings30.4Electrical Rules Check and Designing for Debugging30.5Component Placement and Board Outline30.6Routing Traces, Widths, Vias and Ground Pours30.7Design Rules Check, Gerber Files and Ordering Boards30.8Through-Hole Assembly and Inspecting Joints30.9SMD Soldering with Iron, Paste and Hot Air30.10Board Bring-Up: Power First, Then One Block at a TimeStufe 31The Professional Toolchain: arduino-cli, PlatformIO, Testing and CI
🔒
Build firmware reproducibly from the command line, test logic automatically and let a CI service check every change. Details zur Stufe →
31.1Building and Uploading from the Terminal with arduino-cli31.2Reproducible Builds: Pinning Core and Library Versions31.3PlatformIO Projects, Environments and platformio.ini31.4Compiler Warnings, Static Analysis and Automatic Formatting31.5Separating Logic from Hardware for Testability31.6Unit Tests on the PC with a Test Framework31.7Fakes and Mocks for Sensors, Time and Buses31.8On-Target Tests and Hardware-in-the-Loop Rigs31.9Continuous Integration: Build and Test on Every Push31.10Release Artifacts, Version Stamping and Build MetadataStufe 32STM32 with the Arduino Core
🔒
Apply your skills to ARM Cortex-M boards, use a hardware debugger and exploit STM32 peripherals. Details zur Stufe →
32.1ARM Cortex-M versus AVR: What Changes for Your Code32.2Setting Up the STM32 Arduino Core and a Debug Probe32.3Clock Tree, Alternate Pin Functions and 5 V Tolerance32.412-Bit ADC, DAC and Hardware Timers on STM3232.5Step-Through Debugging with Breakpoints and Watches32.6Hard Faults: Reading the Stack Frame to Find the Cause32.7Native USB: Appearing as a Serial Device or Keyboard32.8Calling HAL Functions from a Sketch for DMA Sampling32.9Independent Watchdog, Reset Causes and Backup Registers32.10Porting an AVR Project to STM32 Step by StepStufe 33RP2040 with the Arduino Core and Choosing the Right MCU
🔒
Use the RP2040's dual cores, programmable I/O and USB features and select the best microcontroller family for a given product. Details zur Stufe →
33.1RP2040 Architecture and Its Arduino Core33.2UF2 Drag-and-Drop, BOOTSEL and Recovering a Board33.3Using Both Cores: setup1, loop1 and Safe Data Exchange33.4Programmable I/O: Writing a First PIO Program33.5Custom Protocols with PIO State Machines33.6Building a USB HID Device33.7Flash Filesystem and Emulated EEPROM on RP204033.8RP2040 ADC Limits, Reference Pin and Noise33.9Wi-Fi on RP2040 Boards with a Radio Module33.10Choosing Between AVR, ESP32, STM32 and RP2040 for a ProductStufe 34Industrial Interfaces: RS-485, Modbus, CAN and Isolation
🔒
Connect devices over long cables in noisy environments with standard fieldbus protocols and proper isolation. Details zur Stufe →
34.1Differential Signalling and Why Long Cables Need It34.2RS-485 Transceivers, Termination and Biasing34.3Half-Duplex Direction Control and Bus Timing34.4Modbus RTU Frames, Function Codes and CRC34.5Building a Modbus RTU Server Device34.6Polling Field Devices as a Modbus Client34.7CAN Bus Physical Layer, Arbitration and Error Handling34.8Sending and Filtering CAN Frames with an MCP2515 Module34.9Designing a CAN Message Dictionary34.10Galvanic Isolation and 24 V Industrial Inputs and OutputsStufe 35Long-Range Radio: LoRa and LoRaWAN
🔒
Design and test kilometre-range, low-power radio links and connect devices to a LoRaWAN network within regulatory limits. Details zur Stufe →
35.1Sub-GHz Radio Basics: Link Budget, Antennas and Duty-Cycle Rules35.2LoRa Modulation: Spreading Factor, Bandwidth and Coding Rate35.3Point-to-Point Links with an SX127x Module35.4LoRa Packet Design, Addressing and Acknowledgements35.5Range Testing and Mapping Signal Strength35.6LoRaWAN Architecture: Devices, Gateways and Network Server35.7Joining with OTAA and Sending Uplinks35.8Downlinks, Confirmed Messages and Adaptive Data Rate35.9Compact Payload Encoding and Decoder Functions35.10Battery-Optimised LoRa Nodes: Airtime and Sleep BudgetStufe 36Security for Connected Devices
🔒
Analyse threats and protect device secrets, communication, updates and boot chain with practical measures. Details zur Stufe →
36.1Threat Modelling a Connected Device36.2Keeping Keys and Passwords Out of Source Code36.3Hashes, Message Authentication and Key Types in Practice36.4TLS on ESP32: Certificates, Validation and Pinning36.5MQTT over TLS with Per-Device Credentials36.6Authenticating Local Web and BLE Interfaces36.7Signed Firmware Images and Verified OTA36.8Secure Boot and Flash Encryption on ESP3236.9Hardening: Debug Ports, Readout Protection and Rollback Prevention36.10Vulnerability Handling and a Security Update PolicyStufe 37Robust Hardware: Protection Circuits, ESD and EMC
🔒
Specify a product and design its electronics to survive wiring mistakes, surges, static discharge and electrical noise. Details zur Stufe →
37.1Writing a Product Requirements Specification37.2Reverse-Polarity and Over-Voltage Protection37.3Fuses, Resettable Fuses and Current Limiting37.4ESD Protection on Connectors and Buttons37.5Protecting Inputs: Clamps, Series Resistors and Filters37.6Driving Inductive and Long-Cable Loads Robustly37.7EMC Basics: Emissions, Immunity and Return Paths37.8PCB Layout for Low Noise: Loops, Planes and Decoupling37.9Pre-Compliance Checks on the Bench37.10Failure Mode Analysis and Component DeratingStufe 38Enclosures, Manufacturing and Compliance
🔒
Turn a working board into a manufacturable, documented, legally sellable device. Details zur Stufe →
38.1Choosing Enclosures and Understanding IP Ratings38.2Fitting a PCB into an Enclosure: Mounting, Cut-Outs and Indicators38.3Connectors, Cable Glands and Strain Relief38.4Thermal Design and Condensation Control38.5Design for Manufacturing and Assembly38.6Bill of Materials, Second Sources and Component Lifecycle38.7Production Test Jigs and Factory Firmware38.8Serial Numbers, Provisioning and Calibration Records38.9CE, UKCA and FCC Fundamentals: Which Rules Apply38.10Technical File, Labels, Manuals and Declaration of ConformityStufe 39Fleet Management and OTA at Scale
🔒
Operate many deployed devices: identify, update, monitor, configure and diagnose them remotely and responsibly. Details zur Stufe →
39.1Device Identity and Onboarding at Scale39.2OTA Architecture: Partitions, A/B Slots and Rollback39.3An Update Server with Manifests and Staged Rollouts39.4Updates over Unreliable Links: Resume, Verify, Commit39.5Telemetry, Heartbeats and Health Metrics39.6Remote Logs, Crash Dumps and Reset-Reason Reporting39.7Remote Configuration and Feature Flags39.8Fleet Dashboards and Alerting39.9Field Failure Analysis and a Returns Workflow39.10Data Protection, Retention and End-of-Life PlanningStufe 40Capstone: Shipping Your Product
🔒
Integrate, verify and release the product you specified, designed, enclosed and connected in levels 37–39. Details zur Stufe →
40.1Freezing Scope and Planning the Release40.2Firmware Architecture Review and Refactoring into Modules40.3Integrating Sensors, Communication, Storage and Power Management40.4Deriving a Verification Test Plan from the Requirements40.5Environmental and Soak Testing40.6Validating Power, Range and Performance Against Targets40.7Security Review and Release Signing40.8Pilot Production Run and First-Article Inspection40.9User Documentation, Support Channels and Warranty Basics40.10Launch Retrospective and Planning Revision B