2024-12-20 01:26 AM
Hi everyone,
I’ve noticed that many STM32 development boards include two microcontrollers: a main controller and an additional smaller-range controller. For example, I have the STM32L476 Evaluation Board, which features the STM32F103CBT6 as the secondary microcontroller.
I’m curious about the purpose of this secondary microcontroller. Does it serve a specific function that cannot be achieved without it? Additionally, could the board still function effectively without this secondary controller?
For reference, I’ve attached the schematic of the board to help clarify my question.
Thanks in advance for your insights!
Solved! Go to Solution.
2024-12-20 01:40 AM - edited 2024-12-20 03:43 AM
Hello,
This is the onboard STLINK-V2 module (STM32F103) to program/debug the target MCU (STM32L476).
You need to read the title of each schematics sheet at the bottom left corner:
Hope that answers your question.
2024-12-20 01:40 AM - edited 2024-12-20 03:43 AM
Hello,
This is the onboard STLINK-V2 module (STM32F103) to program/debug the target MCU (STM32L476).
You need to read the title of each schematics sheet at the bottom left corner:
Hope that answers your question.
2024-12-20 03:41 AM - edited 2024-12-20 03:46 AM
@Sujith wrote:I’m curious about the purpose of this secondary microcontroller. Does it serve a specific function that cannot be achieved without it?
Yes: as @SofLit said, it is the ST-Link:
@Sujith wrote:could the board still function effectively without this secondary controller?
Yes - but you would then need a separate, external ST-Link (or equivalent) to program, debug, and provide VCP.
In fact, the Nucleo-64 boards (as shown above) are specifically designed so that you can snap-off the ST-Link part!
PS:
Note that this practice of providing an on-board debugger is now standard throughout the industry - it's not just ST (in fact, ST were rather late to this particular party).
Naturally, manufacturers will tend to use a chip of their own to provide this feature; eg, Atmel (now Microchip) used an AVR; TI will use a TI chip; NXP use an NXP chip; etc, etc.
PPS:
Segger provide a (reversible) utility to convert the on-board ST-Link to a J-Link:
https://www.segger.com/products/debug-probes/j-link/models/other-j-links/st-link-on-board/
2024-12-20 03:57 AM - edited 2024-12-20 04:01 AM
Some of the EVAL boards also have an additional MCU doing IO Expansion, basically mundane stuff like IO for LEDs as frequently all the pins of the primary MCU are soaked up demonstrating primary function, ie external memory, LCD/video interfacing, etc where pin usage/escape options are limited. The board and primary MCU are relatively expensive, and the MFX devices are cheap sub-dollar IC.
Think doing Servo encode/decode, 32-bit shaft encoder, keyboard, multiple UARTs, data logging, radio comms, etc.
You can partition the design, reduce complexity, remove mundane donkey work from primary function/goals.
2024-12-20 04:06 AM - edited 2024-12-20 04:34 AM
Yes for some boards there is another MCU used as MFX or IO expender and it's not STM32F103 but I think it's STM32L1x and for STM32L476 there is no MFX module on it.
This is the MFX on STM32F769-EVAL:
2024-12-20 04:27 AM - edited 2024-12-20 08:17 AM
I also recollect a DISCO board with additional MCU doing current measurement.
Think also of usage for development and diagnostics, additional parts can aid there but don't need to be populated in final design, or you have option tiers where customers want features/functions and there's a price premium.
AdaFruit and others have simple board/IC to do specific functions, say for encoders, joystick or Neopixel drivers. ATMEL had debug chips at retail similar to ST-LINK for debug of ARM or AVR, often found on Arduino boards, and come preprogrammed.
TM13xx devices to drive keypads, buttons, LEDs, 7-Segments, etc
OpenLog / OpenLager