Balena Etcher Pro additional step

We are using balena etcher pro for flashing our devices

We want to introduce one additional step between flash and select

Is there any way to update the code/runtime of balena etcher pro?
Are there sources available to build it by my own?


Hi @razikus,

Your EtcherPro is a balena product and the source code is open.
Before starting: some word of warning:

  • Opening the device might also VOID THE WARRANTY.

Please refer to the getting started guide for more details on that, especially:

You can create your own fleet using “Etcher pro” device type in balenaCloud, then:

  • download the balenaOS and corresponding configuration (Wifi credential…) to a SD card,
  • turn off the ether pro,
  • insert the SD card in the internal SDcard slot (you have to open the EP device to access it),
  • the switch to boot from the SDcard,
  • turn on the Etcher pro.

The EP will reflash from the SD card and should appear in your dashboard. When it is done:

  • power it off,
  • remove the SDCard
  • reset the switch to it’s original position to boot from internal storage.

Now you are all set, you can fork and adapt our code from here to match your needs. When it is how you want it, just balena push to your etcher pro fleet and it should work.

Let us know if this helps with your request.


That’s great!
One question - can I back to the original image later?

The original image is the default configuration of the fleet, so you can always use balena push a fresh version of the git repository above to get to the latest update version of the fleet.

I just read through the documentation links I added in my original post, openning the device WILL void your warranty (from here you have Attempting to disassemble the device will void the warranty, and could also cause injury or harm.)

We are discussing internally to find if we can hand-out the device control without requiring you to open the device.

Oh no
I definitely don’t want to lose my warranty

Could you also point me where is the source code of balena etcher pro?

EtcherPro is a balena project running Etcher, the source is here for the fleet: GitHub - balena-io-hardware/EtcherPro-Fleet: balenaEtcher on EtcherPro hardware
And it uses etcher from here: GitHub - balena-io/etcher at 13159f93ee0505e4533fb2e7bf0f2f4d0f4ca761
(you can get both with git clone --recursive GitHub - balena-io-hardware/EtcherPro-Fleet: balenaEtcher on EtcherPro hardware )

Hi @razikus,

A small update on the subject, we have been discussing about your question with the team and we came to the conclusion we are willing to support users who want to customize the code in Etcher pro, with some caveats:

  • We are creating a procedure to help us handover the control of your device to you (you might have seen a device UUID or serial number appear in EtcherPro configuration modal with the latest updates, this will be useful for this part),
  • We are currently writing and reviewing the procedure for this part and we will keep you posted on the evolution,
  • Device handover will not require you to open the device, and thus you will keep your hardware warranty,
  • Once we handover the device to you, you will be responsible of the running software and keeping it up-to-date. Software support for your EtcherPro will be limited to the support plan available to your balenaCloud subscription.

We are still figuring out the option of re-integrating the device to the fleet managed by us (thus reverting the customization), in the meantime you can still choose to revert to the official release by deploying our public repository to your fleet.

Any update on that?