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.

  • @ttmrichter
    link
    English
    31 year ago

    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.

    Cursed scope trace.

    Guess how many hours of careful code inspection I put in before realizing it was a hardware error?