I’m posting this so that others can keep an eye out for this sort of thing, and hope that if there are people experiencing this they end up here and find some helpful info and advice.
Pixelblaze V3 has a new fail-safe system that helps protect against getting into a state that is unrecoverable. In the event of a flash corruption, bug, configuration problem, or power issue, Pixelblaze may restart. V3 detects resets, and if multiple resets are detected it will start to disable parts of the system in an attempt to recover.
In the previous version, V2, this can sometimes be very hard to recover from, especially if the problem happens right at startup like a corrupted pattern or configuration. While this was pretty rare, it accounted for the majority of warranty requests (indeed, if you have bricked a V2, please let me know and we’ll sort it out).
The fail-safe system in V3 detects reset loops and will systematically start going into a safer and safer setup so that it can still be accessed and the issue resolved.
- 2 reboots: skips loading the previously selected pattern, and disables the sequencer/playlist from automatically switching.
- 3 reboots: sets LED type to none and 100 pixels. This won’t send out new data to the LEDs, though attached LEDs may still remember their last pixel value and can still cause power related brownouts.
- 4 reboots: skips loading the pixel map and output expander config.
- 5 reboots: goes in to WiFi setup mode. This helps protect against corrupted WiFi credentials in rare cases.
If the reset is caused by a brownout, which is a temporary dip in voltage caused by a weak power supply, the reset may appear to be a minor hiccup. This can happen quite easily with a low current power supply and a large number of LEDs, like when powering everything from USB. It can also happen if there is a lot of resistance or inductance between Pixelblaze and the power supply - and you get more of both with long wires - sometimes adding a bulk capacitor can help. This is far more common than a crash-causing corruption or bug, but will trip the fail-safe just the same.
The app interface will reflect these changes, and interacting with the interface may persist some of these otherwise temporary changes. It can make it look as though Pixelblaze has just forgotten some of its settings.