I recently became the proud owner of three LSM6DS3 (6-axis accel/gyro sensor by STM, same one in my phone!) breakout board (the cheap little purple ones). I excitedly soldered headers on one of them, hooked it up to a breadboard with a STM32L4 Nucleo, fired up some SPI code the same as I have done several times (successfully) before, and I get a weird signal. Unplug the breakout and I see what I expected to see. So I think it's the board. Same thing with the next two boards, being increasingly more careful with the soldering thinking that could be the culprit. But none of them work. One of them just sits there, and the other two give me a very strange result indeed.
I suppose I am looking for confirmation of my analysis. Looking at the captures, I see that my signal out look correct when the boards aren't plugged in: I am setting the SS low, the clock looks good, and the data is 143 (=0b10001111), as expected. With the boards I get a complete mess, but the signals look partially additive, like some of each signal crosses into the others. Am I seeing a short in the board itself here? My contacts are clean and clearly separated, and I cleaned off all the extra flux to be sure that it wasn't conducting, but no difference. My only conclusion is that each board is somehow leaking across contacts, is that right?
I attached two LA captures, the first is the "good" signal, with no sensor attached. The other shows the crazy behavior when I hook up the sensor.
Note: I was sending 0b10001111, which is supposed to be the WHO_AM_I command for the sensor, as you can see in one of the captures. In the other you see that I am only sending 0xF, which was just part some experimentation on my end, but I get the analogous result for any value.