cancel
Showing results for 
Search instead for 
Did you mean: 

STM32H563 Peripheral Saturation – Moving to Multi-MCU (Stepper + DC Load Slaves) – Architecture Review

Prathapraj
Visitor

Hello ST Community,

I am working on a commercial vending machine controller and would like to get feedback from ST engineers and experienced STM32 designers regarding a system architecture change.


Problem Statement

Our current system uses a single MCU, but we are now hitting hard peripheral limits, mainly:

  • Timer availability (stepper + DC motor control)

  • GPIO interrupt count

  • GPIO pin availability

  • Increasing real-time jitter when multiple loads are active

This is not a software optimization issue anymore; it is a resource saturation issue.

Because of this, we are planning to move from a single-MCU architecture to a multi-MCU system.


Proposed Architecture

  • Master MCU: STM32H563ZIT6

    • Handles:

      • All sensors (ADC / digital)

      • Control logic & state machine

      • Recipe execution

      • Safety checks

      • UI communication

    • No direct motor timing generation

  • Slave MCUs (2x):

    • Dedicated load-handling controllers

    • One for stepper motors

    • One for DC motors / PWM-based loads

    • Slaves perform only deterministic actuation

    • No sensors, no business logic

  • Inter-MCU Communication:

    • Considering CAN (FDCAN) as primary bus

    • RS485 as an alternative / secondary option

I have attached a block-level architecture diagram for reference.

Current Peripheral Usage on STM32H563 (New Approach)

Peripheral Instances Used Usage
ADC112 channels
I2CI2C1, I2C2, I2C33
TIMTIM1, TIM2, TIM3, TIM4, TIM5, TIM86
UART / USARTUSART1, USART2, USART3, UART5, UART7, UART8, UART9, UART128
DACDAC11
GPIO Interrupts14
GPIO Inputs20
GPIO Outputs5
CANFDCAN11

Even with this split, the master MCU is still heavily utilized, which is why motor timing is fully offloaded to slave MCUs.

Questions for Discussion

  1. Is this master + load-slave MCU split the correct long-term approach for vending machine / appliance-class products?

  2. From an STM32 architectural perspective, are there recommended design patterns for timer- and interrupt-heavy motor systems?

  3. CAN vs RS485 for multi-MCU control:

    • CAN seems preferable for arbitration and fault handling

    • Any STM32H5-specific considerations?

  4. Are there common pitfalls (boot sequence, synchronization, fault recovery, debugging) that should be addressed early?

  5. From a product lifetime standpoint (8–10 years), does this architecture look robust and maintainable?


I would appreciate feedback from:

  • ST application engineers

  • Developers with multi-MCU STM32 designs

  • Anyone with experience in CAN-based industrial / appliance systems

Thank you in advance for your insights.

Best regards,
Prathapraj S,

Boatload Minds Pvt Ltd.

@stm32h5,can,motor-control,system-architecture,multi-mcu

0 REPLIES 0