Approach for diagnosing non-functional circuit?

Continuing the discussion from Recommendations for simple lipo chargers?, since this really takes that thread into a direction that has nothing to do with lipo charging:

So, I’ve managed to remake a board with only the MAX77960 circuit, and I have that working properly. I also connected that board’s ground & MAX77960 output to the other board with the microcontroller, and it’s able to provide power to the “rest of the board, but off-board”.

I then tried using my hot air gun to make the MAX77960 circuit on the board that was receiving power. This, unfortunately, only half-worked: the uC is able to successfully communicate with and program the MAX77960, but the MAX77960 doesn’t do its buck/boost power thing. Instead of seeing the switching waveform on the inductor (which I see on the working circuit), it just hangs out around at a constant ~0.9V.

Could it be that my lack of ESD safety is damaging the switcher circuit but not the I2C comms? Or could excessive heat from my newbie reflow technique be destroying the switcher but not the I2C comms? The MAX77960’s LDO is functioning, too, and the I2C status reports things are working.

How do you approach distinguishing between:

  • My circuits interact such that they work fine separately, but together they don’t
  • I’ve partially destroyed ICs due to heat
  • I’ve partially destroyed ICs due to ESD

Thanks for your advice!

Have you written down what the differences are between the integrated circuit version and the off-board version? Without the schematics in front of us I’m guessing that the off-board version may not implement the I2C interface, so could that be an issue? What logic level is any enable pin tied to? Or not? Writing down the differences would be a good start for diagnosis.

Hot air destruction is possible. Do you have a temperature controlled hot air source? If you are able to make up a second off-board version, can you transplant the chip from the non-functioning integrated circuit to the off-board version and see if it works in standalone mode? That way you can determine if there is significant damage to the individual chip. For bringing up prototypes that aren’t expected to reach extreme temperatures, I’d seriously consider using low temp solder paste. That way, you can keep your hot air at lower temperatures and be more confident that you aren’t damaging parts as you assemble the board.

I would consider ESD damage unlikely but if you carry out good ESD practices from now on as you execute your diagnosis, you can have more confidence that going forward ESD will be unlikely to affect your ongoing results. There are some good, low tech, behavioural ESD control practices offered in this thread that won’t cost or delay you working on this.

I have written down the differences, but I realize my prose wasn’t exactly clear on this: it’s the same PCB assembled all three times: one has both circuits populated, while the other two have either the microcontroller or the MAX77960 populated. Then, the latter 2 boards have wires connecting their power and grounds together. The off-board one has the I2C interface connected to an AD2, since I was first testing the MAX77960 alone before trying to power the rest of the board.

The one way (I’m not sure of) that could explain the problem is if somehow there exists a current path via the 3V3 regular and I2C pullups that gets everything “stuck”.

The gpio-style pins have the same pullup/pulldown configuration. The only difference is that in the fully populated board, the pullups are attached to a 3V3 switching regulator which is powered by the MAX77960 output, while in the only MAX77960 populated board, the pullups are powered by the AD2. However, the only MAX77960 board starts up without the AD2 powering the pullups (this is the intended boot sequence–first the MAX77960 starts in a 100mA power “safe-mode”, which is enough to power up the 3V3 regulator and microcontroller, and then the microcontroller configures everything to full power mode).

I’m using a cheap $40 hot air station from aliexpress–if one believes the temperature setting, I’m running it at 350C and full air power (with lots of flux). Once I get my ESD safety setup, I’ll try this transplant.

I’ll work on practicing those ESD safety tips, and I’ll also use some real ESD safety gear. My workstation is underground in Colorado (probably 15-20% humidity) on a plastic tile floor, and I work on a cheap picnic table that is very good and generating ESD when any fabric rubs on it with an insulating silicone solder mat on top. I’m going to be covering the table with an ESD mat connected to ground, and I’ll wear a wrist strap, which will hopefully eliminate ESD from the mix. I’ll also recheck that my soldering tools have grounded tips.

I uploaded part of the schematic–page 1 has the microcontroller and functional units; page 2 has the MAX77960 circuit on the right and bottom (the MAX17320 circuit on the left is currently unpopulated); page 3 has the 3V3 supply in the middle; page 4 has another possible current path I don’t understand; and I removed another 10 pages of other circuits that I don’t think are relevant.
segment_board.pdf (360.6 KB)

While ESD is a real thing, for most routine circuit building, ESD damage is unlikely to affect the result of your prototyping unless it’s a particularly sensitive device. Most devices have some amount of ESD protection, and if you are mindful of ESD, you’ll likely avoid discharging enough energy to kill a device outright. ESD can do damage, especially in the long term, ‘out in the world’ use. I personally think that only large-volume products get to truly see the fruits of their ESD mitigation work with real stats to see the results.

Heat damage is definitely far more likely, especially if you are doing a lot of experimenting/prototyping. I easily go through many tens of pieces of devices damaged during prototyping, some of them from being “overworked” during prototyping. However, I usually “know” when that happens, because I’ve been working the part. If a device doesn’t work but it hasn’t been through more than one or two rework cycles that went well, it’s probably not heat damaged. (OTOH, I’ve occasionally botched rework and killed parts on the first try.)

Many power circuit ICs have much more robust dies, and have thermal protection built into them that cuts them off at Tj of ~150C to keep them safe. But if you read datasheets, they often have guidance for max reflow temp that is well above 250C, with exposure time around 40 seconds – if you are closer to around 220-230C, most devices can take a bunch of cycles and survive. (Like ESD, they might no longer be perfect, but they are likely to continue to function well.)

As I was typing this message, your most recent comment was posted and you said you’re heating with 350C air and full air power – you might want to be a bit gentler – turn on the hot air tool and let it take half a minute to fully warm up. Then heat the general area up before focusing on the part to be removed. You don’t need much air (I usually have my air turned waaaay down) at that point. Don’t use a hot air tool like a soldering iron. Think “sauna” not “welding”.

As for how to debug this – given that you have a working circuit on partially populated board, my first guess is that the loading from the rest of the board is putting your converter into a weird state. If I was in your situation, I would test the fully loaded board by disconnecting the system load, cutting the trace that connects the 77960 section to the rest of the system PWR_3S (to the right of D13 in the schematic ):

This will at least verify that the 77960 section is working or not.

I searched the datasheet around the packaging information and searching for the words “reflow”, “solder”, “assembl”, and “manufact”, but found nothing. I worry that perhaps this chip is new and not widely used, and therefore more sensitive.

I was using 300C for my first few reflow jobs, but it takes one or two minutes to melt solder at that temperature. I also used medium and high airflow, and have only continued with high since I watched a Youtube video about reworking with hot air that was informative and called the high air setting “full whacker”. I can record a video of myself in case there’s something wrong with what I’m doing (I’m brand new to using a hot air tool), but also this area of the board is designed for maximum thermal dissipation, so there’s a 2x 2oz outer layers and sometimes also 2x 0.5oz inner layers via stitched in that area. I’ve attached this part of the board (I’ve never made a 4 layer board nor a board that needs to dissipate much heat, so I don’t have context as to whether this is a potential explanation).

I’ll try cutting that trace (easier said that done). As it turns out, on inspection, I actually placed the top 5V power supply’s high side mosfet on 2 layers with via stitching. I’d have to desolder it to fully cut the trace, but I think I can leave it in place because the uC won’t have power, and the pulldown defaults it to off. I’ll remove the mosfet for confirmation too if cutting the trace doesn’t work.

The MAX77960 slightly north of the image’s center. To the west of the MAX77960 is the heat sink fills for its power pads. The bottom-most pad is connected to PWR_3S, whose net is called +12V. The 5V supply’s high side mosfet is via stitched first, and next is the Schottky diode, and then there’s the short segment here +12V is on the 1st layer only, where i could cut it before the other two default-on power supplies.

You need a board heater so that you’re not sinking your heat too quickly. Even something like this $20 griddle will do the job.

I have one, and it’s great, but it does struggle a bit if you want to directly work on larger boards with lots of copper. It’s also a bit cumbersome on large boards unless you set up supporting the board perimeter.

Since @dgrnbrg already has a hot-air tool, I think the large and inexpensive skillet, combined with hot-air, would be pretty easy and inexpensive improvement over hot air alone.

I see, I’ll add that to my kit. When using the hotplate/heater, should I start by desoldering the SMT components on the back side (there are 3; 2 resistors and a 2n7002) as well as the connectors (I put most of the connectors on the back side)? Or can I leave the SMT components and just remove the headers? Also, am I just going for “make it warm/hot”, or is there a temperature I should target? My cheap-o 8x8 thermal camera hasn’t arrived yet, so I don’t have a good way to track temperatures.

The main thing is to get the board warm (not hot) overall – so that it’s less of a heatsink. Even getting the board from 25C room temp to 60C will make a noticeable difference.

1 Like

So, I got my ESD mat & strap for my work space, and I got that walmart griddle to preheat the board. I heavily reworked another max77960, preheating for a few reworks and only using the air gun for another. In spite of a similar amount of thermal exposure, the circuit works in the fully integrated context. So, I think it’s somewhat likely that ESD was ruining the parts. Either way, I’ll continue to use better preheating & ESD practices going forward.

Thank you all for your help, especially @ToyBuilder! I’m so relieved to see the design coming together.