One other thing - modules that exhibit high current when asleep - does this fall in a consistent narrow range?
"we" meaning instructions from my new EEVBlog friend, have been to modify the board with some small caps and ground wires to fix layout issues. With this device we are datalogging current but from all accounts, this bad device has had any layout defects fixed.
The answer to your question, if you are asking if the current range is fairly narrow on bad devices, I would say yes. Kinda. However we are seeing some that "climb" from say 160µA to 500µA and then go back down. All with no input. And they should be very low, say 1.6µA for 59 minutes save for watchdog spike.
We have a device now that is fairly unstable.
But generally bad devices will go to 2.3mA, for example, and stay there. They will join LoRa just fine and have the big pulse during TX as any othe rdevice would. Just background current is very high and consistent.
Could it be ESD damage?
Anything is possible at this point. I assemble these on an ESD mat that is grounded but I can't say I'm super careful with them. I have a slate floor in my office, no rugs or anything. I ground my arms on the mat. I used to wear an ESD wristband but I haven't in awhile.
In the list of suspects I would include ceramic (decoupling) capacitors that could receive mechanical stress during manufacturing or use, like those close to mounting screw. Try to replace caps, measure leakage.
Caps seem to be the 1 common link between fixing devices. For whatever reason by soldering/desoldering caps, sometimes a board will fix itself.
I had a device behaving poorly last night with high current (2.3mA steady). Had done nothing to it other than let it sit. Tested today, 1.6µA. WTF.
Could it be ESD damage?
I am wondering that too.
sailah, did you recently change offices? Maybe to one with carpet? Or start wearing sweaters?
The people at my work ignored my esd precautions and got away with it until we moved to an office with carpet then 'all of a sudden' boards started dieing.
No my office has always been the same, stone floors, no carpet no static shocks ever. We have these made by a good CM in New Hampshire from domestic PCBs. They ship in ESD bags. I assemble into die cast housings and flash them on an aluminum chassis programming jig based on STM32 discovery board with pneumatic pogo pins. Always been that way.
One thing of note, since the piezo was brought up, we bond these in place with a special CNA glue. And clamp them in pneumatic fixture with a small air piston holding a rubber foot. It's about the same pressure as a steady thumb would exert but it's fairly flat.
Last test for night, getting frustrated and been working on this all day
Took bad board, and removed:
R15-no change
U5-no change
U4-no change
U2-no change
Device is currently reading 2.38mA. Should be 1.6µA. So other than Murata module, all the ICs are removed. Not sure I'm going to be able to mount them back on successfully.
On the plus side, there are less parts to troubleshoot now. Now keep removing until current goes down. Remove code , caps, transistor.
I would start with writing minimal code. Just boot up and put everything to sleep.
You might get to a point where all you have on the board is that module and then you can try digging into the module, swapping modules and or improving the FW.
We are working on that now. Hopefully the device we have is a good known state and can debug from there.
I'm learning drinking from a fire hose so thank you to everyone, it is sincerely appreciated.