The Reset Dance is a simple and fun routine you can perform to recover any Arduboy that has problems uploading. Perform the dance in order, as some of them to the end are more dangerous and can damage the Arduboy so should be considered only in the method of last result.
- Turn on the Arduboy while holding the UP button to enter flashlight mode. While in flashlight mode, attempt to upload.
Games that require flashlight mode: TBD
Flashlight mode will work for your Arduboy if plugging it into USB still gives you a detection chime and attempting an upload resets the device but it will not program. This is a symptom of an application that includes the USB stack but the program is disturbing a memory address in RAM needed for the bootloader to function. Flashlight mode holds the Arduboy in a loop that prevents the game code from running.
- Turn on the Arduboy while holding the DOWN button to force bootloader recovery mode. Continue holding the down button to remain in bootloader mode while attempting to upload. The Arduboy will reset several times. – Try this dance move a couple times if it seems like the Arduboy is resetting, it is timing dependent
Games that require down button reset: TBD
Holding the down button is used on games that remove the USB code from the main sketch, and thus do not show up as a serial connection to the PC. The Arduboy cannot be reset by the USB method and so by holding down, the sketch actually just resets the Arduboy to the bootloader repeatedly. This is why the timing is important as most applications have a specific window where it will attempt to upload and this has to match the reset window of the Arduboy.
If the other two dance moves do not work and you are using an application other than Arduino, you should attempt dances moves 1 and 2 again using the Arduino software.
If all else fails, use the reset button and the Arduino software to recover your device. Press upload on the Arduino to initiate the series of attempts from the software, and then quickly but carefully press the reset button on the Arduboy while it is powered on and connected to the PC.
The only circumstance that should require the reset button is a corrupted bootloader, or a very poorly written application that removes the USB code but also does not provide one of the approved methods for recovery. Be careful, the reset button can be damaged by excess force.
If you have authored a game or are otherwise aware of a need to have a special reset procedure and it is not already listed above, please comment below. If you are having a problem using this guide please search the forums first for your specific issue and then make a new post if you cannot find one.
This post will be updated with video soon…