Posted on Leave a comment

Hero 4 Firmwares and I2C/Herobus Commands

Newer firmwares for Hero 4 cameras have a fatal bug in bulk transfer of the settings. This post get to the core of its reason by arranging events in chronological order.

Bulk Transfer Bug

In order to sync camera’s settings Hero 4 Black/Silver has two kinds of I2C/Herobus commands:

  • Bulk transfer
  • Individual transfer

The bulk transfer sets each of the video/photo/multi-shot settings at once. This is usually useful at boot process of camera, whereas an I2C/Herobus command for the individual transfer is issued from user interaction with LCD menu.

Newer firmwares for Hero 4 cameras can’t do the former. So if you like to use some new function introduced in the buggy firmwares then you must prepare the camera mode in advance and it’s better not to change it in the field.

Debug messages for firmware 04.00.00. Bulk transfer of video/photo settings returns an error code (0xfc).
Debug messages for firmware 04.00.00: Bulk transfer of video/photo settings returns an error code (0xfc).

History of Hero 4 Firmwares

It is said that “Good intent and good deed contribute to good karma and future happiness, and vice versa”. So let’s investigate GoPro’s actions in time sequence.

05 Oct 2014: version 01.00.04 (Black) / 01.00.00 (Silver)
These are the firmwares for Black and Silver cameras at product release.
14 Oct 2014: version 01.02.00 (Black, Silver)
No I2C/Herobus commands are supported, yet.
04 Feb 2015: version 02.00.00 (Black, Silver)
There is a support for a kind of I2C/Herobus commands, which is a bit different from the current one or discontinued Dual Hero’s.
28 May 2015:
Google and GoPro announce a VR project, which finally evolved into GoPro Odyssey after tired waiting for more than a year, at Google I/O 2015.
30 Jul 2015: version 03.00.00 (Black, Silver)
Current I2C/Herobus commands are fully implemented without a flaw.
01 Jun 2016:
GoPro Odyssey is released. Instead utilizing Black’s default firmware user must install Odyssey exclusive, privileged firmware 16.01.10 to their Blacks. It can shoot in 2.7K 4:3 30/25 (NTSC/PAL) only.
17 Aug 2016:
GoPro Omni is released. User must install Omni exclusive, privileged firmware 26.01.10 to their Blacks. It can shoot in not only 2.7K 4:3 30/25 but also 1440 4:3 60/50 (NTSC/PAL).
18 Aug 2016: version 04.00.00 (Black, Silver)
Bulk transfer bug is put.
21 Oct 2016: version 05.00.00 (Black, Silver)
The update is exclusively for supporting Karma. Still the bug is there…
23 Oct 2016:
GoPro Karma is released. It works with version 05.00.00 firmware.

Conclusion

We wish we could test the firmware 05.00.00 with Black and Karma, however, it became impossible now as bad karma fell from the sky.

Note: Hero 4 Silver with firmware version 03.00.00 or later is now supported by MewPro Iliad software published at our GitHub repo (please edit/define the compiler directive HERO_4_SILVER in Iliad.h and compile/upload it). No change is necessary for MewPro4 software to use with Silver.

References