Difference between revisions of "TiLDA MK3/Firmware Update"

From EMF Badge
Jump to navigation Jump to search
(Add pyusb fix for old debian distros)
Line 51: Line 51:
<code>curl --silent --show-error --retry 5 https://update.badge.emfcamp.org/update.py | python</code>
<code>curl --silent --show-error --retry 5 https://update.badge.emfcamp.org/update.py | python</code>
If you get an error saying <code>ImportError: No module named core</code> then the python-usb package in your distribution is too old. On Debian, you should be able to fix it using pip instead:
<code>sudo apt install python-pip</code>
<code>sudo pip install --upgrade pyusb</code>
== Windows ==
== Windows ==

Revision as of 21:01, 1 October 2016

Update your Tilda Mk3

This websites will help you to update your Tilda Mk3 badge. But be careful, following these instructions will delete all files and setting on your badge, so make sure you have copies of everything!

Before you start

You need to put your badge into DFU mode. To do this please press down the joystick button in the center while at the same time quickly pushing the reset button at the back.

Your screen should go white and then you'll now be ready to update your badge. Note: screen does not always go white, but should go into DFU mode, so if you do the right button presses try it and see.


Prerequisites needed for Mac OS X

1. XCode (from App Store)

2. Python & pip

  • Homebrew method
    1. Install Homebrew and Pip
    2. brew install libusb
    3. pip install libusb1 pyusb
  • MacPorts method
    1. Install MacPorts and Pip
    2. sudo port install usbutils py-pip
    usbutils provides e.g. lsusb, useful for knowing if the badge is connected in DFU mode
    3. sudo pip install libusb1 pyusb

3. Check that you're connected in DFU mode:

Should output something like:
Bus 020 Device 002: ID 0483:df11 STMicroelectronics STM Device in DFU Mode

4. wget https://update.badge.emfcamp.org/update.py

5. sudo python update.py

6. To get a shell: screen /dev/tty.usbmodem*


Install prerequisites if required:

sudo apt install python-usb

Open a terminal and execute this line:

curl --silent --show-error --retry 5 https://update.badge.emfcamp.org/update.py | python

If you get an error saying ImportError: No module named core then the python-usb package in your distribution is too old. On Debian, you should be able to fix it using pip instead:

sudo apt install python-pip sudo pip install --upgrade pyusb


On a Windows PC, you will need to download the STMicroelectronics DfuSe USB device firmware updater software http://www.st.com/content/st_com/en/products/development-tools/software-development-tools/stm32-software-development-tools/stm32-programmers/stsw-stm32080.html and use the 'Upgrade or Verify Action' part of the GUI to update the firmware instead.

  • Install the STMMicroelectronics util from the link above.
  • Download the firmware.dfu file from https://update.badge.emfcamp.org/firmware.dfu and save it off.
  • With the badge plugged into the computer, hold the centre joystick button and press reset. The badge should now boot into the bootloader, and be detected as a 'STM Device in DFU Mode'.
  • Start up DfuSeDemo.exe, and click the 'Choose' button - select the firmware.dfu file and then hit 'Upgrade'
  • Your firmware will now be updated.

Other Operating systems

To update your badge please download the following script and run it via python: update.py

If you know how to flash the badge yourself you can also download the DFU binary directly: firmware.dfu

Build your own version

If you want to build your own version of the firmware have a look here