STM32MP1 Masterclass: Heterogeneous Architecture in Practice

From Bare-Metal to Linux: Building Energy-Efficient Real-Time Systems. Intensive training for embedded engineers who want to fully leverage STM32MP1 capabilities.

About the Course

This is an intensive, hands-on training for embedded engineers who want to fully leverage the potential of SoC (System on Chip) devices from the STM32MP1 family.

Most courses treat the Cortex-M4 core in these devices as an afterthought. We reverse the proportions. You will learn to design AMP (Asymmetric Multi-Processing) systems where:

  • Linux (Cortex-A7) handles what it was created for — GUI, Networking, Logic
  • Cortex-M4 takes full control of hardware — Real-Time, Low Power, Safety

🎯 Project Goal: “Smart Eco-Motion Controller”

During the course, we don’t blink LEDs. We build an industrial drive controller prototype. Participants will create a device that:

Precisely controls a stepper motor using speed ramps (M4 core)

Reacts instantly to a physical encoder and safety sensor (M4 core)

Saves energy — puts Linux to sleep when nobody uses the device and wakes it in a fraction of a second upon presence detection (Wake-on-Event)

Communicates with a modern graphical interface written in Qt (A7 core)


📅 Training Program

DAY 1: The Muscle – M4 Core and Hard Real-Time

Fundamentals of working with the coprocessor. Jitter elimination and time determinism.

Module 1.1: Architecture and Environment

  • STM32MP1 specifics: Resource Manager, power domains, M4 booting
  • Device Tree configuration: How to “take” peripherals from Linux and give them to M4?
  • Dual-core debugging: Simultaneous GDB (Linux) and ST-Link (M4) work

Module 1.2: Motion Control (Stepper Motor)

  • Why Linux is not suitable for generating STEP/DIR? (Jitter problem analysis)
  • Implementing motor driver on M4 hardware timers
  • Ramp algorithms (smooth start/stop) implemented in interrupts

Module 1.3: Advanced Sensing (Encoder and Rangefinder)

  • Hardware encoder handling (Timer Encoder Mode) — CPU-free speed control
  • Ultrasonic sensor handling (HC-SR04) using Input Capture
  • Implementing autonomous “Safety Stop” logic working independently of Linux

DAY 2: The Bridge – AMP Integration and Linux

Inter-core communication and HMI interface building.

Module 2.1: OpenAMP and RPMsg

  • Virtio and vring architecture: How do cores exchange data in RAM?
  • Implementing communication protocol: Sending data structures (speed, position, status)
  • State synchronization: How to solve race condition problems?

Module 2.2: HMI Application (Qt Framework)

  • Creating interface in Qt: Speed slider, distance chart, fault indicators
  • Application backend: Receiving data from RPMsg in a separate thread to not block GUI
  • Integration: Motor control from touchscreen

Module 2.3: Resource Management

  • Optimizing data transfer — how not to “flood” Linux with M4 interrupts?

DAY 3: The Pro Features – Low Power, Safety & Robustness

What separates a prototype from a commercial product. Power management and reliability.

Module 3.1: Power Management (Deep Dive)

  • Power saving modes in STM32MP1 (Run, Stop, Standby)
  • “Always Aware” strategy: Configuring M4 to work while Linux sleeps (Suspend-to-RAM)
  • Wake-up Source: Implementing Linux wake-up from distance sensor signal (via EXTI/IPCC)

Module 3.2: System Robustness (Reliability)

  • Watchdogs: Independent monitoring of A7 and M4 cores
  • What to do when Linux “hangs”? System reset strategies by coprocessor
  • Recovery Mode: Reloading M4 firmware without restarting the entire system

Module 3.3: Final Workshop

  • Integration of all elements into a working “Smart Eco-Kiosk”
  • Power consumption measurements (optional)
  • Q&A and consultation on participants’ own projects

💰 Pricing and Participation Models

I offer a flexible hybrid model, tailored to needs and budget.

Option A: CORE (2 Days)

Ideal for those who want to learn AMP architecture and communication basics, but don’t need advanced power management knowledge.

ScopeDay 1 + Day 2 (Motors, Encoders, OpenAMP, Qt)
OutcomeWorking prototype controlled from Linux and Encoder
Price€800 net / person
Min. group5 people

Complete training covering key business topics: power saving and reliability. Essential for teams deploying battery-powered or 24/7 operating devices.

ScopeFull program (Days 1-3)
OutcomeComplete energy-efficient system with sleep mode support and watchdogs
Price€1,050 net / person
Min. group5 people

Hybrid Promotion: By choosing the 3-day package upfront, you save €100 compared to adding the 3rd day separately (3rd day add-on price is €350).

Small teams: For teams smaller than 5 people - rates are negotiated individually.


🏆 Why is it worth it?

BenefitDescription
R&D time savingsKnowledge gained on Day 3 (Low Power/Wake-up) saves an average of 2-3 weeks of documentation struggle and debugging in real projects
UniquenessThis is the only course on the market combining hard Real-Time (motors, physics) with high-level Linux and Qt in the context of power management
PracticeWe work on a real business scenario, not abstract examples

🛠️ Hardware Requirements

Each participant receives:

  • STM32MP157C-DK2 board (Discovery Kit)
  • 16GB microSD card (class 10)
  • USB Type-C cable
  • Additional accessories used during the course

🎁 Hardware stays with participants after the workshop!

Want to reserve a date for your team? Contact me to arrange details and availability.

Interested in the training?

Contact me to discuss details, customize the program for your team, or schedule a date.

Contact ← All Trainings
Training Information
  • Duration:
    2-3 days
  • Level:
    Intermediate
  • Requirements:
    Linux basics, C/C++
Categories
Embedded Linux STM32MP1 Real-Time AMP
Ask about Training

I customize the program to participants' needs. Trainings conducted on-site, remotely, or hybrid.

Contact