Update January 12, 2016: This seems to be very popular, and fixing a LOT of GoPro cameras! I’m going to re-visit this soon, and update it. I hope it can continue helping everyone save GoPros from the trash bin!
If you try this fix, remember to post a comment and let everyone know how it worked out!
Just recently, I had a problem where my GoPro HD Hero2 would not turn on, with battery or USB connection for power. Reading up on it a bit, I found that many others have had this issue, and aside from the few voodoo “fixes” which involved insert-remove-power-button-blah sequences, the only real fix was to re-flash the firmware. This seems to me to be a symptom of bit-rot in the firmware flash chip, with a weak cell or block, that would read out properly once in every 50 attempts to boot.
GoPro’s instructions for updating firmware involve downloading their CineForm software that has a magic flasher integrated somewhere. I don’t like big bloated software downloads to do little things, so I found a way to do it without it, on YouTube by user WellingtonBikeCam01. So, here is the fix, with much credit given to that video (which is marked CC-BY-NC, so here’s a modified version of the instructions with my own experience mixed in). Try this at your own risk. If your camera is under warranty, and you are not experienced with firmware flashing, just send it back to GoPro instead.
UPDATE: Check Dan’s comment below – and try putting the thing in the fridge for a few hours first! It’s worked for me on jinky hard drives, too.
For those who are curious about the fridge thing: Cold spray (in a can!) is commonly used as a diagnostic tool for electronics, because it does two things: first, it alters the physical dimensions of the device, which can cause micro-cracks to open or close or otherwise make themselves known; second, it alters the electrical characteristics of the device, possibly pushing it just into or just outside of a tolerance limit. This lets you identify broken parts, and (in our case) possibly coax something into working when it is otherwise not doing so. I suspect the flash memory chip, since they can fail by having their data fade away. Pushing the tolerance of “data won’t read” into “data just barely does read” by making it cold is possibly why this works for us here.
- Read all instructions and understand that if there’s a problem, it’s your problem, not mine. Make sure the camera battery is fully charged.
- Optional, for difficult cases: Put camera in fridge/freezer, inside a ziplock bag. See comments below for info.
- Download the latest firmware from GoPro here: http://software.gopro.com/Firmware/HD2/HD2-firmware.bin (“wget” and “fetch” also work, for those who prefer CLI)
- Copy the firmware file to an SD card.
- Optional: Remove camera from fridge/freezer.
- Insert the SD card into the camera.
- (Retry from here, see below) Remove and re-insert the battery.
- Place the camera on a solid table surface.
- Hold down the top “shutter” button while turning the camera on with the front “power” button.
- Release the shutter button only after the camera display appears.
- If the display doesn’t turn on within a few seconds, this boot attempt failed (yay bad flash chip). Go to the remove/insert battery step above where it says “Retry from here”, and do it over and over until it actually boots. It may take many tries!
- Press and release the power button, you need to do it quickly after the camera turns on and you release the shutter button (so I have read).
- A prompt will appear that says “press 1” – Press and release the power button. A prompt will appear that says “press 2” – Press and release the power button again.
- The camera will install the first update and turn itself off. The red light will blink, and it will show an updating icon on the screen. Don’t touch the camera at all! If the power is interrupted by a jinky battery connection during the flash, you may brick the camera! Don’t even wiggle the table. Just wait. My display said it was installing version 77 (bootloader maybe?).
- (v198 only, says the original YouTube instructions. Not sure if that’s the case?) Power the camera on, and the update will continue for about a minute, installing the next part of the firmware, and the camera will turn itself off. My display said it was installing version 222 (operating software maybe?).
- Delete the “HD2-firmware.bin” file from the SD card.
- After formatting the SD card in the camera, there will be a “version.txt” file in the “MISC” folder of the SD card. It will contain the long version of the firmware number, so instead of “v70” or whatever you had, you’ll see this: “firmware version”:”HD2.08.12.222.WIFI.R56.00″ (or whatever you put on)
- It’s recommended to delete all files from the SD card and format it freshly before doing a firmware upgrade.
- All camera settings will revert to defaults after the upgrade. If you have any special settings, write them down first.
- You may have to reformat your SD cards in the camera for them to be recognized. It’s always best to format cards using the device they are used in, instead of on a computer.
- It’s a good idea to verify the hash of the new file before installing it.
v222 – 15a3858dec60467439fafd7804ea7d649b487634
v198 – 5031a90ce730591e207ddf3d6ae4546e22037eb8
v124 – a923d64ed486054244997863972c6aedd3ea197e
v70 – 47c8de1e88e6709f53de98462037e3dcb1e44758
v58 – 7468e67f62560eee40acbfa3f7cadd9e5ce0eb05
v50 – 328d97d4bde572fe83ccefb7a5f7f28fc209c539
I found in the process that there’s this thing called ProTune, which activates new framerates and resolutions that are useful for professional film shoots. It also applies a more neutral color curve to the recorded image, leaving greater latitude for color correction in post-production. Very handy!
I hope this helps someone else out there un-brick their GoPro. Great little cameras! And GoPro, use some better-spec flash chips, will ya? Thanks =)
And, finally, in the spirit of the YouTube author that made my day, this post is CC-BY-NC-SA.
UPDATE: After flashing, my camera was booting up just fine, but being jinky. It would stop recording after a few seconds, or randomly lock up, or otherwise behave badly. Did the usual routine of formatting the SD card in the device, etc. The first try of re-flashing died after a few seconds – I panicked, thinking I had bricked it. But, the bootloader/flasher was intact, and I was able to flash it again. It’s working better, but still locks up when flipping through menus, etc. Think I might be sending it back for replacement. Sigh!
UPDATE TO THE UPDATE: Two update? This is obviously too much of a hassle. During recording, it *appeared* to be locked for a few seconds, red lights stuck on, time counter at 00:08, nothing happening. Five seconds later, it counted up to 00:14 really fast, and kept going. I wonder if my SD card has bad blocks it’s controller is sparing out? Going to do a full zero-overwrite on it and see if it helps.
If you try this fix, remember to leave a comment and let everyone know how it went!