Firmware Update

Latest release: 1.0.3

Checking the installed firmware version

An API client connected to the hardware exposes a version field:

>>> import zrna
>>> z = zrna.api.Client()
>>> z.connect()
>>> print(z.version)

If you're having trouble connecting to the hardware at all, first follow the firmware update procedure below to ensure that you're running the latest release. If you still have trouble connecting, please open a ticket on our issue tracker with as much detail as possible about your hardware and software configuration.

We recommend always updating to the latest firmware release.

Firmware update procedure

1. Download the latest release archive linked to above.

2. Put the device into bootloader mode by holding the outermost switch (SW1) while connecting it to a host machine.

3. In this mode, the status LED will initially remain unlit. A standard virtual serial port will be exposed to the host.

4. Firmware update is integrated into the zrna Python module. First ensure that you have a working copy of it as described in the Quickstart.

Extract the release archive to a location of your choice and run firmware updater like so, specifying the path to the firmware image m.sfb as needed:

python -m zrna.update_firmware m.sfb [device_or_com]

The script attempts to find the device automatically unless you specify a device path or COM port as the optional second argument. On Windows, it's best to specify the COM port.

The image is pushed down to the device in a series of packets. The status LED will blink as each packet is processed.

Connected to bootloader.
Firmware image size: 398480 bytes
Pushing image size to device.
Writing packet 1 of 390.
Writing packet 390 of 390.
Firmware flash complete. Device rebooting.

The update process should take less than a minute. When it concludes, the device will reboot into the new firmware and go through a normal startup: four LED blinks and then solid green.


© 2024 Zrna Research