While out walkies this morning, and pondering a future product, I came up with a bit of an issue: since the product in question needs to support user-fiddled firmware installed via DFU, there has to be some way of getting back into the DFU firmware even if the installed operating firmware is totally b0rked.
There's no easy way to cycle power, and the only button is for user-interface purposes.
What I need is a reset circuit that recognizes a really long button press as a call for a hard reset of the main MCU, combined with a signal indicating that this is what happened, so that the bootloader will go into DFU mode rather than launching the (non-)operating firmware.
So, do I go looking for a reset chip that meets these criteria?
I do not.
I look for a cheap MCU in a tiny package. Maybe an ATtiny13A, or maybe even an ATtiny4.
Not sure where I'll find a programming socket for these li'l puppies, though. Hmmm... 3D printer, small PC board, and some ZEBRA strip? Might be worth a try.
Update: If I go the tiny4 route, I need a SOT23-6 programming socket, and those aren't horribly expensive as capital equipment goes; see, e.g., here. In-system programming is out, because space is at a premium and the programming header (even Tag-Connect style) takes up more space than the chip I'm trying to program.