Sunday, October 29, 2017

My board eats chips

After a very frustrating time spent with the innards of Probey, I have come to a disturbing conclusion: My circuit board eats chips.

By which I mean, for some reason, the circuit I designed and built has been destroying the ($50 each, thank you very much ... did I mention nothing in aviation is cheap?) pressure sensor chips. Right under my very own eyes, one chip that was doing just fine and answering as it should at I2C address 0x29, after being plugged into the board to test the various sockets, just stopped working and did not respond to I2C messages at all.

I am ensuring the board is powered off prior to connecting and disconnecting things. BUT it may well be that the Fio V3 is not really powering off the buses when it's turned "off" so long as it has a battery connected, and perhaps the resulting discharge when parts are connected and disconnected causes them to fail. I am trusting the Fio to turn itself off while I swap chips with the battery connected. Maybe I should disconnect the battery before swapping chips.

Perhaps also the All Sensors chips are particularly sensitive to power transients and ESD? I don't know.

I put together an independent breadboard test rig to test the chips away from any other weird circuitry:


This rig is my determinant of whether a chip has been eaten or not. And in fact, again, a "good" chip showed up on 0x29 in the test rig and in the probe, then stopped responding in the probe, and back in the test rig was also not responding. So the probe board eats chips. Simple as that.

3 comments:

  1. I would suggest disconnecting all power sources (plug-in or battery) before making any modifications to a board (changing chips out).

    I've made a number of electronic projects over the years and the only time I've fried components is when they were still plugged in or if I screwed up the design of my PCB layout (reversing + and -)

    Good luck in your project. I've been following along since your presentation at airventure.

    ReplyDelete
    Replies
    1. Thank you so much! So it turns out that there are two miseries --

      1. The battery is connected to an analog input of the microprocessor with a voltage divider circuit allowing the micro to read the current battery state. This connection does not get turned "off" with the regular on/off switch, so it back-drives the entire circuit such that VCC remains at 1V; and

      2. Even if you disconnect the battery entirely, there are some capacitors which take several minutes to drain from the 1V remnant down to 0V.

      I found this out after I invested in a USB oscilloscope, a Saleae Logic 8:

      https://www.saleae.com/

      and now I'm wondering how I managed to circuit my way out of a paper bag without it! :) It's really eye-opening to actually see the voltages on the scope, and be able to tell what looks like a sudden drop versus an exponential decay, and reason back from that to what must be happening.

      DId I mention I learn slowly? :)

      So my new SOP is to disconnect the battery AND jumper VCC and GND to drain the circuit before messing with anything.

      Now of course I accidentally powered up my one "good" prototype while VCC and GND were jumpered, and fried the power chip. Another thing to learn.

      But the good news is, my board design as it stands is functional. All I have to do is not screw it up. :) So I'm tooling up to make a run of up to 6 of the boards, so I'll have spares, and order some more of the (ouch! expensive) pressure sensor chips.

      Meanwhile as you can see, I'm getting my hardware ready for some ground testing.

      Thank you for following along! Feel free to email me if you want; I'm at @ gmail.com.

      Delete
    2. Sorry that was [firstname] [dot] [lastname] @ gmail.com.

      Delete