Endpreise in CHF – Versand inklusive Schweizer Unternehmen · 076 792 63 50 (WhatsApp/SMS)
Kurse › Arduino › Stufe 31
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

  1. 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.
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. 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.
  8. 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.
  9. 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.
  10. 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.

🔒 Sichere Zahlung · 3D Secure 🔐 SSL-verschlüsselt 🚚 Versand in die ganze Schweiz 🇨🇭 Schweizer Unternehmen