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.
| Scope | Day 1 + Day 2 (Motors, Encoders, OpenAMP, Qt) |
| Outcome | Working prototype controlled from Linux and Encoder |
| Price | €800 net / person |
| Min. group | 5 people |
Option B: FULL EXPERIENCE (3 Days) ⭐ Recommended
Complete training covering key business topics: power saving and reliability. Essential for teams deploying battery-powered or 24/7 operating devices.
| Scope | Full program (Days 1-3) |
| Outcome | Complete energy-efficient system with sleep mode support and watchdogs |
| Price | €1,050 net / person |
| Min. group | 5 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?
| Benefit | Description |
|---|---|
| R&D time savings | Knowledge gained on Day 3 (Low Power/Wake-up) saves an average of 2-3 weeks of documentation struggle and debugging in real projects |
| Uniqueness | This 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 |
| Practice | We 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