Arduino · Advanced · Stufe 31 / 40
The 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.
Advanced freischalten · CHF 29.90 Stufen 27–40, einmalig, kein Abo
10 Lektionen in dieser Stufe
- Building and Uploading from the Terminal with arduino-cli
Install cores and libraries, compile and upload without the IDE. · Lab: Compile and upload a sketch for two different boards with one shell script. - Reproducible Builds: Pinning Core and Library Versions
Record exact dependency versions so the same source gives the same binary later. · Lab: Create a build profile with pinned versions and rebuild on a second computer or clean folder. - PlatformIO Projects, Environments and platformio.ini
Structure a project with several board environments and declared dependencies. · Lab: Convert a sketch into a PlatformIO project that builds for AVR and ESP32. - Compiler Warnings, Static Analysis and Automatic Formatting
Raise warning levels, run a static analyser and apply a consistent code style. · Lab: Enable all warnings on an old project, fix every finding and format the code. - Separating Logic from Hardware for Testability
Move decisions into plain C++ that does not depend on pins or timing functions. · Lab: Extract the thermostat decision logic into a hardware-free class. - Unit Tests on the PC with a Test Framework
Write and run automated tests in the native environment. · Lab: Write ten tests for the extracted logic including edge cases and make them pass. - Fakes and Mocks for Sensors, Time and Buses
Replace hardware and the clock with controllable stand-ins. · Lab: Test timeout behaviour by advancing a fake clock instead of waiting. - On-Target Tests and Hardware-in-the-Loop Rigs
Run tests on the real board and let a second board stimulate and observe it. · Lab: Build a rig where one board presses the device's inputs and checks its outputs automatically. - Continuous Integration: Build and Test on Every Push
Configure a hosted pipeline that compiles all environments and runs native tests. · Lab: Add a pipeline file, push a breaking change and watch it fail, then fix it. - Release Artifacts, Version Stamping and Build Metadata
Embed version and commit identifiers in firmware and publish binaries from tagged builds. · Lab: Make the device report its version and commit over serial and produce a release binary from a tag.
Abschlussprojekt
A repository for one of your earlier projects that builds for two boards with pinned dependencies, runs unit tests on the PC and on the target and passes a CI pipeline on every push.
Teile für diese Stufe
- 1 × Computer with Git, arduino-cli and PlatformIO installed
- 1 × UNO-compatible board
- 1 × ESP32 development board
- 2 × USB cable matching each board
- 1 × Solderless breadboard 830 points
- 1 × Jumper wire set male-male and male-female
- 1 × BME280 pressure, humidity and temperature module
- 1 × Relay module 3.3 V compatible single channel
- 1 × USB logic analyzer 8 channel
- 2 × Tactile push button
- 2 × LED 5 mm assorted
- 2 × Resistor 220 ohm
In jeder Lektion legst du die passenden Teile direkt in den Warenkorb. Arduino-kompatibel →
Voraussetzung: Levels 1–30: Git, library structure, classes, hardware abstraction and several board families.