The EEZ BB3 (i.e. MCU module) firmware is not protected and can be upgraded when a new version is released. In addition, some of the peripheral modules (e.g. DCM220) have their own MCU, which is also advisable to upgrade with newer versions. The upgrade procedures for these firmware are different as described in this chapter.

 

13.1. MCU module firmware upgrade

This section describes the procedure for downloading firmware to EEZ BB3 (i.e. MCU module) from Linux and Windows operating systems using the USB DFU (Device Firmware Upgrade). Regardless of the operating system, the following steps will be required:

 

1

Disconnect any connected loads from all outputs.

 

2

Download the latest firmware available at https://github.com/eez-open/modular-psu-firmware/releases

 

 

Table of content:

13.1.1. Linux

The procedure described below is made on Ubuntu 18.04 LTS and may be somewhat different with other Linux distributions. DFU is an official USB device class specification. It is natively supported by Linux. Therefore, no additional driver will need to be installed.

 

1

Connect EEZ BB3 to PC using USB cable. The connector on the EEZ BB3 side should be of USB Mini type.

 

2

Turn power off using the power switch on the front panel and keep the BOOT0 switch pressed while turning the power on. The BOOT0 switch is located in the lower left corner of the front panel. If the BOOT0 switch has been pressed long enough, EEZ BB3 enters DFU mode and the existing firmware will be deactivated and the Welcome page will not be displayed. The cooling fan will stop spinning after few seconds.

 

3

You can check if Linux correctly identified EEZ BB3, which must be in DFU mode. Open the terminal application and enter:

lsusb

A list of all connected and recognized USB devices will be displayed. If EEZ BB3 is properly connected and enters DFU mode a red marked line should appear.

 

Bus 004 Device 002: ID 174c:55aa ASMedia Technology Inc. ASM1051E SATA 6Gb/s bridge, ASM1053E SATA 6Gb/s bridge, ASM1153 SATA 3Gb/s bridge

Bus 004 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 003 Device 002: ID 046d:c077 Logitech, Inc. M105 Optical Mouse

Bus 003 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub

Bus 001 Device 108: ID 0483:df11 STMicroelectronics STM Device in DFU Mode

Bus 001 Device 103: ID 1a40:0101 Terminus Technology Inc. Hub

Bus 001 Device 003: ID 04d9:1400 Holtek Semiconductor, Inc. PS/2 keyboard + mouse controller

Bus 001 Device 006: ID 8087:0025 Intel Corp.

Bus 001 Device 004: ID 046d:081b Logitech, Inc. Webcam C310

Bus 001 Device 002: ID 1a40:0101 Terminus Technology Inc. Hub

Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

 

4

Install dfu-util (you need sudo access rights):

sudo apt install dfu-util

5

Run dfu-util in folder where firmware image is downloaded:

dfu-util -a 0 -D bb3.dfu

6

Wait until the firmware image download is complete. A typical dfu-util output is shown below.

dfu-util 0.9

 

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.

Copyright 2010-2016 Tormod Volden and Stefan Schmidt

This program is Free Software and has ABSOLUTELY NO WARRANTY

Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

 

Match vendor ID from file: 0483

Match product ID from file: 0000

Opening DFU capable USB device...

ID 0483:df11

Run-time device DFU version 011a

Claiming USB DFU Interface...

Setting Alternate Setting #0 ...

Determining device status: state = dfuERROR, status = 10

dfuERROR, clearing status

Determining device status: state = dfuIDLE, status = 0

dfuIDLE, continuing

DFU mode device DFU version 011a

Device returned transfer size 2048

DfuSe interface name: "Internal Flash "

file contains 1 DFU images

parsing DFU image 1

image for alternate setting 0, (2 elements, total size = 901464)

parsing element 1, address = 0x08000000, size = 504

Download [=========================] 100% 504 bytes

Download done.

parsing element 2, address = 0x08000200, size = 900944

Download [=========================] 100% 900944 bytes

Download done.

done parsing DfuSe file

7

Disconnect USB cable and recycle power using the front panel power switch.

 

Alternatively it is possible to download .hex firmware image:

 

1

First, the .hex firmware image has to be converted into .bin format:

objcopy --input-target=ihex --output-target=binary bb3.hex bb3.bin

2

dfu-util -a 0 -s 0x08000000:leave -D bb3.bin

Wait until the firmware image download is complete. A typical dfu-util output is shown below.

dfu-util 0.9

 

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.

Copyright 2010-2016 Tormod Volden and Stefan Schmidt

This program is Free Software and has ABSOLUTELY NO WARRANTY

Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

 

dfu-util: Invalid DFU suffix signature

dfu-util: A valid DFU suffix will be required in a future dfu-util release!!!

Opening DFU capable USB device...

ID 0483:df11

Run-time device DFU version 011a

Claiming USB DFU Interface...

Setting Alternate Setting #0 ...

Determining device status: state = dfuERROR, status = 10

dfuERROR, clearing status

Determining device status: state = dfuIDLE, status = 0

dfuIDLE, continuing

DFU mode device DFU version 011a

Device returned transfer size 2048

DfuSe interface name: "Internal Flash "

Downloading to address = 0x08000000, size = 919352

Download [=========================] 100% 919352 bytes

Download done.

File downloaded successfully

dfu-util: Error during download get_status

 

13.1.2. Windows

1

Visit the following page

https://www.st.com/en/development-tools/stsw-stm32080.html and select en.stsw-stm32080.zip download. You may be required to register and login on the ST web site first.

 

2

Unzip en.stsw-stm32080.zip and start installation of DfuSe_Demo_V3.0.6_Setup.exe

 

3

Connect EEZ BB3 to your PC using a USB cable. The connector on the EEZ BB3 side should be of USB Mini type.

 

4

Turn power off using the power switch on the front panel and keep the BOOT0 switch pressed when power is turned on. The BOOT0 switch is located in the lower left corner of the front panel. If the BOOT0 switch has been pressed long enough, EEZ BB3 enters DFU mode and the existing firmware will be deactivated and the Welcome page will not be displayed. The cooling fan will stop spinning after few seconds.

 

5

Check if Windows recognizes the EEZ BB3 as a device in DFU mode. It should be listed in Device Manager under

Universal Serial Bus controllers section as STM Device in DFU mode.

 

 

 

 

 

 

If the EEZ BB3 USB is not recognized you have to install its driver manually from the following location (64-bit):

 

C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.6\Bin\Driver\Win7\x64

 

or for 32-bit at

 

C:\Program Files (x86)\STMicroelectronics\Software\DfuSe v3.0.6\Bin\Driver\Win7\x86

 

6

Start the DfuSe Demo, select the Choose button under Upgrade or Verify Action section to load bb3.dfu firmware image.

A message should appear if firmware image is loaded successfully.

 

 

7

Select the Upgrade button under the same Upgrade or Verify Action section and select Yes when message box with question appears.

 

8

Wait until the firmware upgrade is complete.

 

9

Disconnect USB cable and recycle power using the front panel power switch.

 

13.1.3. Mac OSX

1

Press Command+Space and type

Terminal

2

Run in Terminal app:

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" < /dev/null 2> /dev/null

If the screen prompts you to enter a password, please enter your Mac's user password to continue. When you type the password, it won't be displayed on screen, but the system would accept it. So just type your password and press Enter/Return key. Then wait for the command to finish.

 

3

Start installation:

brew install dfu-util

4

Run dfu-util in folder where firmware image is downloaded:

dfu-util -a 0 -D bb3.dfu

5

Wait until the firmware image download is complete. A typical dfu-util output is shown below.

dfu-util 0.9

 

Copyright 2005-2009 Weston Schmidt, Harald Welte and OpenMoko Inc.

Copyright 2010-2016 Tormod Volden and Stefan Schmidt

This program is Free Software and has ABSOLUTELY NO WARRANTY

Please report bugs to http://sourceforge.net/p/dfu-util/tickets/

 

Match vendor ID from file: 1209

Match product ID from file: 2018

Opening DFU capable USB device...

ID 0483:df11

Run-time device DFU version 011a

Claiming USB DFU Interface...

Setting Alternate Setting #0 ...

Determining device status: state = dfuERROR, status = 10

dfuERROR, clearing status

Determining device status: state = dfuIDLE, status = 0

dfuIDLE, continuing

DFU mode device DFU version 011a

Device returned transfer size 2048

DfuSe interface name: "Internal Flash "

file contains 1 DFU images

parsing DFU image 1

image for alternate setting 0, (2 elements, total size = 1201048)

parsing element 1, address = 0x08000000, size = 504

Download [=========================] 100% 504 bytes

Download done.

parsing element 2, address = 0x08000200, size = 1200528

Download [=========================] 100% 1200528 bytes

Download done.

done parsing DfuSe file

6

Disconnect USB cable and recycle power using the front panel power switch.

13.2. Peripheral module firmware upgrade

Upgrading the peripheral module firmware can be done in two ways by following the step by step procedures described below. As with the MCU module firmware upgrade, disconnect any connected loads from all outputs because after the firmware upgrade is complete, all peripheral modules will be reset.

 

13.2.1. Using EEZ Studio to upgrade peripheral module firmware

1

The easiest and fastest way to upgrade the firmware on a peripheral module is through EEZ Studio. When EEZ Studio is installed and communication with EEZ BB3 is established, it is a one-click action. If EEZ Studio is not installed, download the latest EEZ Studio available at https://github.com/eez-open/studio/releases and install it on your computer.

 

Important: A EEZ BB3 MCU module firmware version 1.1 or later is required to use this method and the computer on which EEZ Studio is running should have an active internet connection.

 

2

Start EEZ Studio and add EEZ BB3 from the list of preinstalled instruments on the Home page.

 

 

3

Select Connect option to open connection menu.

 

 

4

Select connection type, for USB choose Serial from Interface combo box. Click on Refresh button if EEZ - 2018 is not visible in the list of serial terminals.

 

 

When Ethernet is selected as communication interface, the Server address has to be defined. Enter here EEZ BB3’s IP address (See Ethernet settings).

 

Successfully established connection is indicated by receiving identification string as response to *IDN? SCPI query that EEZ Studio will send automatically to the EEZ BB3 over the selected interface. The identification string can be seen in the Latest history event section.

 

 

 

5

Scroll down to the Modules section where all recognized installed modules are visible. For modules that have an MCU, the version of the installed firmware will be displayed in the Firmware column. To download another firmware version, it will be enough to choose the one you want, click on the Update option and wait a few moments.

 

 

6

When the download is successful, the displayed firmware version will also be updated.

 

 

 

13.2.2. Upgrade peripheral module firmware using GUI on EEZ BB3

1

Visit https://www.envox.hr/eez/eez-bench-box-3/firmware.html for a list of all existing modules. Download the .hex file for the module whose firmware you want to upgrade.

2

The selected .hex file will need to be transferred to the /Updates folder on the EEZ BB3 SD card. Since there is currently no option to mount the SD card as a USB mass storage you will need to remove the SD card and insert it into the SD card reader of your PC and skip to step .

Alternatively, you can do this using the EEZ Studio and Send file option.

 

 

3

Make sure the Destination folder path is set to /Updates otherwise the peripheral module will not be able to find the firmware image file.

 

 

4

Wait until the file transfer is complete.

 

 

5

The procedure can now be continued on EEZ BB3 side. In the case of a dual channel DCM220 power module, it does not matter which channel will be used to get to the channel settings page. In the example shown, a third channel was used.

 

First you need to tap on Maximize icon.

bb3_man_dcm220_fw_down1.png

 

 

6

Now select the Settings icon.

bb3_man_dcm220_fw_down2.png

 

 

7

On the channel settings page you can see the latest version of the firmware (FW ver.), and next to it is Update option.

bb3_man_dcm220_fw_down3.png

 

 

8

Selecting the Update option will first display a warning message.

bb3_man_dcm220_fw_down4.jpg

 

 

9

Finally, you will need to select the file that has been transferred and wait for the firmware download to complete.

bb3_man_dcm220_fw_down5.png