For testing I'm using power from the download cable direct from my PC.
Some units work, others fail.
I've started down a different debug path.
One thing I have noticed is that a brand new Huzzah board does not show the very dim DIO0 LED when it goes into deep sleep. These seem to work very reliably for a while.
But, I board that I've been using for a while, doesn't start with a dim DIO0 LED, but if I put a DVM on that pin, it light up and stays lit.
And finally, a board that fails regularly, always lights the DIO0 pin dimly when it goes into deep sleep. And I've seen others mention the dim LED.
I decided to figure out why the LED behavior would change over time. The thing I found with all the boards (old to new) is that they all have 1.75V on the DIO0 pin when it goes into deep sleep. This struck me as strange because it's at 3.0V when the code is running (but not accessing that pin).
The more I looked at it, I realized that because of how the Huzzuh is wired, it's not a pure pullup on the DIO0 pin, but instead it's a pullup through a LED, and that LED is dropping some of the voltage. So, the fact that the LED is lit dimply means that current is flowing and being wasted while it's in deep sleep.
but more importantly, the deepsleep level on that pin is not a proper 3.0V. It's right in the in-between range. And, depending on the given state of the LED, resistor and input gate, there may be some issues when it tries to startup and read that pin.
So, I've added an additional 22K pullup to 3.0 V on the DIO0 pin to see whether this helps to stabilize the reset.
The first think I notice is that the LED is no longer coming on dim. It goes off like on a new Huzzah module.
Time will tell if this fixes the problem.