I put an ordered on Jan 8th this year for JLCPCB to build some circuit boards and had their pick and place service solder the popular Atmega328p part on. The Atmega328p accepted a flash no problem, but that's all they would do. I tried toggling a simple pin, like a blink sketch, no go. I tried a simple "Hello World" serial test, and only 4 out of the 10 would pass that test. I spent days going mad trying to figure out what could possibly be wrong.
I removed their 16mhz crystal, and put another 16 mhz crystal that is a known working part. No improvement.
I replaced the Atmega328p and replaced it with one I had in stock, and presto, it worked perfectly.
I go ahead order new Atmegas from mouser and the problems are all gone.
I sent a message to JLCPCB using the "Quality Complaint button" but it's been over a week and no response from them.
Photos: I removed the JLCPCB Atmega, and replaced it with one I had in stock.
I am worried that the hot air flow will make components fly off, so I tape them down with yellow kapton tape and remove all JLCPCB atmegas off.
Mouser's atmegas are soldered in and JLCPCB's atmegas are all removed.
Since JLCPCB did not get back to me at all, I am too afraid to use their atmega328p again. De-soldering / re-soldering those were a pain for me, wasted another day on that. Lesson learned, design PCB to use through hole atmegas and order microcontrollers from mouser.