Brideclock upgrade

From BitWizard Wiki
Revision as of 22:57, 1 April 2018 by Rew (talk | contribs) (→‎intro)
Jump to navigation Jump to search

intro

The bridgeclock (bridgetimer) exists in two versions. They look a lot like each other. Version 1 was based on an Atmel AT90USB162. Version two and further are based on an STM32F072. Make sure to follow the right instructions when you perform an upgrade. (but the upgrade software will not brick the hardware if you do happen to follow the wrong instructions).

Version 1

Remove the power cable. Connect the clock to a computer with an USB cable. The normal segments now have too low voltage to light up, but the clock will run (and sound the alarm after 10 seconds!). The dots work and will light up normally.

Now press the button that is reachable through the left of the two holes on the back of the device. It is best to practise a bit to find the button without power on the device, especially if you're using something with a metal tip. A wooden toothpic may work nicely.

How to proceed had not been written yet. Finish soon.

dfu-programmer

Using dfu-programmer the installation instructions depend on linux vs Windows, but the upgrade instructions are essentially the same.

Linux

On debian-based distributions install dfu-programmer with:

 sudo apt-get dfu-programmer

In the following upgrade instructions, consider prefixing the commands with sudo or starting a root shell with

 sudo -s

Now continue with the common instructions.

Windows

Go to The dfu-programmer home page and download the windows binaries.

Now continue with the common instructions.

Common instructions

These three commands in sequence should program your device:

 dfu-programmer at90usb162 erase
 dfu-programmer at90usb162 --suppress-bootloader-mem bridgeclock.hex
 dfu-programmer at90usb162 start

If the first command says: "device not present", it might be that your clock has an atmega16u2. In that case, change the commands to say atmega16u2 where it now says at90usb162. We use these two chips interchangeably: they are close to identical (except for announcing a different name on the USB bus I haven't been able to find a single difference).


FLIP

Atmel publishes a DFU utility called FLIP. I haven't used it in a decade, but it should be possible to do it with this program. (under Windows).


Version 2

Remove the power cable.

Now press the button that hides behind the left hole when viewing the device from the rear. The hole is about 2 cm away from the other round hole. It is a good idea to feel around first to try to find the button first and to find a good tool to activate the button without power on the device. A toothpick with a blunted end might work nicely.

Then.... WHILE pressing on the button connect the bridgeclock to the computer. Once connected you may let go of the button.


The clock will then show up on the USB bus as:

Mar 14 13:27:17 getafix kernel: [2936963.979066] usb 7-1: Product: STM32  BOOTLOADER

(That is from the log on a Linux machine. Where you can find this on a modern Windows machine: I don't know. If you know: send me an email). If you don't find this: don't worry. If the device thinks you did not press the button, you'll know ten seconds later when it sounds the alarm. And the upgrade won't work.

The device is now in the so-called "Device Firmware Update" (DFU) mode. This allows us to send it new firmware.


Linux

You need to install the "dfu-util" program. On Ubuntu/Debian/Rasbian that can be done with:

 sudo apt-get install dfu-util 

Then you can install the new firmware with the command:

 dfu-util -a 0 -D bridgeclock.dfu

MS Windows

DfuSe from ST

You can download the windows software from the ST website. There you need to click on the "get software" link. This software should be able to program the device with the "bridgeclock.dfu" file that you got from us.

This software was written by the big company ST microelectronics and they should have a manual for it. You can find it on the page linked above. (If you succesfully follow the procedure you can help others by writing them down and Emailing them to us.)

dfu-util

Alternatively you can use the open source utility dfu-util like you would under Linux. The dfu-util homepage says that there are windows binaries. Those should, once installed, work just like under Linux. (i.e. follow the instructions under the Linux header. (not the apt-get but the dfu-util line) )


In any case the upgrade is quite "robust". The software will know when no or a wrong device is present. It will refuse to program the wrong brand firmware into a working clock to render it not-working (bricked is the technical term).