Firmware Update

The MDB Pi Hat can easily be updated from the Raspberry Pi both in Raspbian (Linux) and now Windows 10 IoT, thanks to Golang.

Note

You must use the "Full" UART (PL011) for the update as this requires parity support (while the Mini UART does not support it)

Warning

When trying to update Pi Hat, please make sure that there is no other application trying to use its serial port, otherwise the updater will run into errors.

Update on Raspbian/Linux

Get the updater software from our webserver:

Download the file from this link, or use the command line:

wget firmware.qibixx.com/pihatupdater.zip

Unzip the updater:

unzip pihatupdater.zip

Then, in the command line, add execution permission to the file:

sudo chmod +x pihatupdater

Then, all you need is to run the updater. The updater must be ran with sudo, and supports the following options:

Info

If the updater is run without any flag, then it will grab the file from Qibixx webserver (if it doesn't exist, otherwise, it will load that file), and try the update without jumper.

If updating from a version lower than 3.7.2.0, please use the force jumper update.

pi@raspberrypi:~ $ sudo ./pihatupdater -h ------- Pi Hat updater v1.0.1 Usage of ./pihatupdater: -j Forced Update Jumper -p string Serial port name (depends on OS) (default "-") -w string Path to binary file to upload to PiHat (default "mdb_pihat.bin")

Typical usage is no arguments, which gets Latest version available to public and installs it to the default device (/dev/ttyAMA0):

sudo ./pihatupdater

If the device is not responding, or you are trying to update from an older firmware version (version < 4.0.0.0), you might want to use the jumper update:

Place the J_BOOT jumper in the board (for more info, please check Connectors & Jumpers section) like depicted below:


In case you have a specific firmware version you want to load, just add it to the command line with a "-w" prefix:

sudo ./pihatupdater -w FIRMWARE.bin

Example output:

pi@raspberrypi:~ $ sudo ./pihatupdater ------- Pi Hat updater v1.0.1 Portname not specified. Proceeding with PN=/dev/ttyAMA0 | FN=mdb_pihat.bin GPIO Initialized successfully Will reboot Pihat Starting update with command Current Version: v,4.0.0.0,392138333736360230333631 Will reboot Pihat Will Init Bootloader Bootloader initialized successfully Successfully Got ID: 7 Successfully Got Boot Version: 22 Successfully Erased Chip File: mdb_pihat.bin Len: 110180 B Chunks: 430 B per Chunk: 256 Remainder 100 B .............................................................................................................................................................................................................................................................................................................................................................................................................................................. Finished Upload! Launching new firmware -------UPDATE SUCCESSFULL------- pi@raspberrypi:~ $
  • When the firmware update is finished, remove the jumper in case you had to plug it. $plugin[g9xpb4xtoeb]

Success

That's it ! Enjoy the updated firmware!


Windows 10 IoT Update

Info

In case you need to update your Pi Hat using Windows 10 IoT, please reach out to us at support@qiba.pt