I have device with an STM32F401 and a SIM800L. When the SIM800L sends data I have noise (usually 1 byte) received by the STM32 on UART2 connected to the SIM800. If I use FTDI instead of STM32 I never have noise.
The signal on UART2 RX looks clean. During the test the device was powered 4.0 V from a laboratory power supply (instead of a battery). The power on 5 V, 3V3 and VB looks good. A tantalum capacitor of 470 μF between 5 V and GND, or 3V3 and GND changes nothing. Replacing the SIM800L onboard capacitor from 100 μF to 470 μF decreases noise (instead of every time it appears seldom).
UART2
Overview: RX yellow, TX green
RX Noise
RX Signal
UART2 RX never going lover than 2.2V during "noise". Input above 1.88V should be interpreted as HI.
Why do I have noise on UART2?
I have seen this post, and found it useful, nevertheless I rather want to understand why I have noise than blindly add a lot of capacitors.
Update
Assuming that my STM32 instance incorrectly detects the input signal level, I tested it by sending a signal from FTDI to UART2, smoothly changing its lower limit. STM32 began to receive a signal at a lower limit of 1.2V.
Even more confused. Any ideas please?
Nothing received on UART2
Correct input on UART2