Well, my years-long streak of 100% BGA yield wasn't going to last forever. It looks like I had two pins on the STM32H7 fail open on one of the scope demo boards I made last weekend, perhaps due to insufficient flux, too rapid a thermal ramp, or not enough time above liquidus.
Easily fixed by squirting a bit of flux under the chip and running a second oven cycle (although I then had to swap a few non-reflowable pin headers that I had put on thinking I was done with high-temp processing). So no need to pull the chip.
I'm definitely a ways from trusting the kibbyshop SMT line to run a $$$$ board like the LATENTRED Ethernet switch logic board, but the only way we'll get it dialed in is to use cheaper stuff as crash test dummies to tweak the process. This defect was trivially reworkable and worst case scrapping a STM32H750 isn't that big a deal. Had it been an XCKU5P I'd have cared a lot more.
I think the last BGA defect I had on my home reflow setup was circa 2016 or 17? I know I've had a very small number of opens caused by not heating enough over the years, but all were trivially fixable with some flux and a second oven cycle.
The other thing I want to call out, for the DIYers out there who might still be scared of BGA:
I have *never* had a short under a BGA. Ever. The square-cube relationship between paste deposit area and solder sphere diameter means that you have to have a *massive* excess of solder or, like, a complete lack of flux coupled with massive misalignment for a bridge to happen.
I've had a tiny 2x2 ball WLCSP tombstone once - trivially fixed by adding some flux, heating it with hot air, and tipping it over with tweezers.
And I've had a single digit number of incomplete reflows over the years where a high thermal mass board with a big BGA didn't get quite hot enough to fully melt all of the balls. In every case, it was possible to detect the problem by functional test (no need for X-ray, I just had a signal that didn't work) and fix it with a squirt of flux and a second reflow cycle.
In something like 16 years of doing BGA at home, I've had to remove a BGA from a populated board *twice*. Once was a Spartan-6 FTG256 that actually had nothing wrong with it (I panicked chasing what turned out to be a design error elsewhere on the board, swapping the chip didn't solve it), the other was a Spartan-7 on a board where I had dropped a scope probe ground and accidentally shorted VCCINT to the 12V rail and fried the chip. Neither was an assembly defect.