Skip to main content
Associate
September 21, 2026
Question

STM32N6570-DK intermittent black screen during inference on macOS when powered through USB hub

  • September 21, 2026
  • 3 replies
  • 23 views

I am facing an intermittent issue with the STM32N6570-DK when using it with macOS.

Setup

  • Board: STM32N6570-DK

  • Host: MacBook Pro

  • STM32CubeProgrammer: v2.23.0

  • Connection: USB-C hub with USB-A ports ( I am currently using the following USB hub: https://amzn.in/d/02O7R7zS)

    • One USB-A port is connected to the STM32N6570-DK USB1 USB-C port

    • Another USB-A port is connected to the STM32N6570-DK ST-LINK USB-C port

  • Application: AI inference application using the onboard display and USB communication to stream data back to the host

  • Initially, JP2 was configured on pins 1–2 (5V_STLK).

Issue

When using a direct USB-C-to-USB-C connection on Windows, I do not encounter this issue.However, on macOS, a direct USB-C-to-USB-C connection results in DEV_USB_COMM_ERR. Based on a suggestion from a related ST Community discussion (

ST-LINK stuck in DEV_USB_COMM_ERR until USB replug after connecting with no target | Community

),

Also, we found out that a known issue/ limitation regarding this (USB interoperability issue in macOS) has been mentioned in the release Notes:
STM32CubeProgrammer errata 2.23.x - stm32mcu

When the board is connected to the Mac through this USB hub, flashing and chip erase operations complete successfully.

The application also boots and runs normally. However, the following issue occurs intermittently when inference is started:

  1. The application is running normally, and the LCD displays the expected output.

  2. Inference is started.

  3. During inference execution and USB communication with the host, the LCD suddenly goes completely black.

  4. Both LD3 and LD4 turn red. The board recovers only after a power cycle.

  5. With the same firmware and hardware setup, using a direct USB-C-to-USB-C connection on Windows works normally.

  6. No firmware changes are required for the issue to disappear when switching to the Windows setup.

This makes us suspect that the issue may be related to the available power/current through the USB connection when the workload increases during inference and USB communication.

Observation After Changing JP2

As a test, we changed JP2 from pins 1–2 (5V_STLK) to pins 3–4 (USB_SNK) and powered the board through the corresponding USB power path.

With JP2 configured on pins 3–4, the black-screen issue has not been observed so far, and the inference application is working as expected.

However, with this configuration, LD3 is no longer ON.

STM32CubeProgrammer can still successfully:

  • Detect the ST-LINK and target

  • Connect to the target through SWD

  • Perform a mass erase

  • Program the external flash

  • Verify the programmed image

For example, STM32CubeProgrammer reports a target voltage of approximately 3.29 V, and programming and verification complete successfully.

Ideally, I would like to keep JP2 on pins 1–2 (5V_STLK) and have the application run reliably on macOS without requiring a change to the JP2 configuration.

Questions

  1. Is the intermittent black-screen behavior with JP2 on pins 1–2 (5V_STLK) consistent with insufficient power/current being available through the ST-LINK USB power path when the AI inference workload and USB communication start?

  2. Is there any limitation or concern with keeping JP2 permanently on pins 3–4 (USB_SNK) during development, including:

    • Flashing

    • SWD debugging

    • Repeated AI inference

    • USB communication with the host

  3. When JP2 is configured on pins 3–4 (USB_SNK), is it still possible to perform a complete board power cycle using STM32CubeProgrammer commands such as:

    STM32_Programmer_CLI --power off index=0 --power on index=0

    Or does this command only control the power supplied through the ST-LINK power path, meaning that it cannot power-cycle the board when the board is powered through USB_SNK?

  4. Are there any specific USB-C power-source, USB-PD, or externally powered USB hub requirements/recommendations for using the STM32N6570-DK with a MacBook, particularly when running workloads such as AI inference that may increase the board's power consumption?

  5. Are there any known differences in USB power negotiation or available current between a direct MacBook USB-C connection and a USB hub that could explain why the behavior differs between these configurations?

The main requirement is to have a stable macOS setup that supports flashing, USB communication, repeated inference, and software-controlled power cycling, preferably while keeping JP2 on pins 1–2 (5V_STLK).

Any recommendations on the appropriate power/USB configuration for this use case would be appreciated.

Thanks.
 

3 replies

Ozone
Principal
September 21, 2026

While I have no experience with the STM32N6570-DK board, I destroyed several SD cards with Raspberry Pis due to insuffient power supply capacity.
The boards started up fine, but suddenly stopped under higher load (usually “apt update / apt upgrade”), destroying the file system.

I would recommend to try a good-quality external supply, instead of internal PC / Notebook USB ports.
Current capacities differ, even between ports on the same PC.

ST Technical Moderator
September 21, 2026

Hi ​@viruthi 

Could you check whether the issue is reproducible only on macOS with direct USB-C connection, and whether using a USB hub or changing JP2 to USB_SNK makes the board stable? If so, this would suggest a USB interoperability limitation. Check FAQ: Possible communication failure between STLINK-V3 and some recent computers | Community

To give better visibility on the answered topics, please click on "Best answer" on the reply which solved your issue or answered your question.Best regards,FBL
Associate II
September 21, 2026

 

These are my thoughts and opinions alone and not meant as any criticism of ST or your usage of the STM32N6570-DK.

Power supply for a board like this is important, its best if voltage cannot go above 5V and current into the board is limited to a maximum value. Running on USB is allowed of course but you have no visibility. Using USB hubs is best avoided.

Ideally it would be better to run from a bench power supply that cannot go above 5 Volts and with a current limit facility, setting the current limit to just enough current. Perhaps 250mA would be enough current but it might need a little more?

If the board design will allow (nothing on the board that must have 5V) run it at 4V max - its safer. Inadvertently shorting 5V (from USB or bench power supply) to the processor pins is outside Absolute Maximum ratings and during development it can happen.

By using a good bench power supply you can also see the current changing as the processor demands more current to run cpu intensive routines such as AI inference, and that is very useful.

You could set JP2 to pins 5 and 6 and input the 5V on CN8 or wherever is intended by ST.

 

 

That will take the considerations of Mac/Windows USB’s and Hubs out of the equation and allow STLINK via USB without any current drawn from that USB.

I will try to comment on your questions:-

  1. Typically the PCB is likely to draw more current during AI Inference so it seems consistent with insufficient power/current being available from your USB sources.
  2. Personally I would protect my PCB by using a well controlled bench power supply. You don’t want to be balancing USB power problems for this development work, seeing the current consumption during various tasks and activities is an advantage.
  3. ST Core Programmer via ST-LINK will be able to reset the processor. Cycling power is best avoided unless you want to investigate something like memory retention.
  4. As I mentioned take all of that out of the equation for development work and rely on a good bench power supply.
  5. Its best not to need to worry about how various USB’s are providing clean power during development.