The hardware team needed to make some modifications to our prototype PCBs. Unfortunately resulting in two cold solder joints. The board worked for a while but then had issues after a few thermal cycles. Debugged the code for hours before realizing it was a hardware issue.
Debugged the code for hours before realizing it was a hardware issue.
Hoo boy do I hear this one.
I had two devices on an SPI peripheral. Shared CLK, MISO, MOSI and separate CS- (of course).
One of the devices (an SX1268) worked fine.
The other (a W25Q128) … didn’t.
Scoping it out saw MISO with signals that looked like the attached photo: a weird thing that looked like experimental trinary logic or something.
Problem was something in the SX1268 module we’re using: something in the tin-canned module was screwing with CS-. The fix was to put a pull-up on CS- or it would float (the GPIO drivers on the MCU didn’t push/pull hard enough apparently), periodically activating the SX1268 and having it talk on MOSI.
Guess how many hours of careful code inspection I put in before realizing it was a hardware error?