cancel
Showing results for 
Search instead for 
Did you mean: 

SPI problem on STM32H7

bacaneriaslocas
Associate III

Hello, I’m having a problem with a board I’m developing based on the STM32H747BIT6. The issue is related to SPI communication.

When I connect any device to the SPI bus, the signal level drops from 3.3 V to around 1.5 V. I have tested different SPI peripherals, but they all show the same behavior.

Could this be related to the drive strength or power capability of a specific pin?

6 REPLIES 6
TDK
Super User

Sounds like two pins are trying to drive the same line. How exactly are you connecting things? What things, what pins, what signal is dropping, etc?

If you feel a post has answered your question, please click "Accept as Solution".
 

Captura de pantalla 2026-03-20 151019.png

This is the schematic of the sensor. My board was working fine until I had to replace the MCU due to a short circuit. After soldering the new MCU, the SPI signals driven by the M7 core are at around 1.5 V, while the SPI from the M4 core is working correctly.

The low voltage levels appear on SCK and MOSI. I’m assuming it’s a hardware issue, probably related to the power supply, but I haven’t been able to identify the source. The MCU pins seem to be correctly soldered.

I guess I just need to spend more time debugging, but I’m asking here in case someone has encountered a similar issue and can point out whether this is likely a power-related problem or something else.

Please show a complete schematic

How to write your question to maximize your chances to find a solution

 

Before getting into a custom design, have you tested this on a known-good ST board?

 


@bacaneriaslocas wrote:

The low voltage levels appear on SCK and MOSI..


If you just treat them as basic GPIO, can you set them high & low ?

A complex system that works is invariably found to have evolved from a simple system that worked.
A complex system designed from scratch never works and cannot be patched up to make it work.

I don't have my crystal ball. Without full schematic I can only guess. The fact there was a short circuit that fried the MCU can also mean it fried the slave device.
The only way to test is to test things in isolation. Disconnect the communication pins and only connect power. Measure VCC. Is VCC of master and slave 3.3V? Is the MCU MOSI pin 3.3V? What happens when you connect the MOSI? Does the VCC drop? You can also load the MOSI pin with a resistor instead of the slave to see if the MCU pin is broken. Or you can connect the slave via resistors. The voltage drop tells you the current draw. There should not be any current pulled from the MOSI by the slave. Unless the power supply voltage of the slave is 0 and you are basically supplying power via the MOSI pin.
What is the total current draw?

Kudo posts if you have the same problem and kudo replies if the solution works.
Click "Accept as Solution" if a reply solved your problem. If no solution was posted please answer with your own.
Chris21
Senior III

What happens if you remove the pull-up connected to the CS pin?

> My board was working fine until I had to replace the MCU due to a short circuit.

If the hardware is damaged, you'll have to replace it. No debugging will bring it back to life.

If you feel a post has answered your question, please click "Accept as Solution".