Beware that this post is related to an SDK in maintenance mode
More Info: Consider nRF Connect SDK for new designs

flashing binary onto nRF52840 USB dongle via Raspberry Pi 4

So, I have compiled blinky for the USB dongle52840, but am having difficulty getting west or the development toolchain to flash the dongle. Any help would be appteciated. I would be happy to share the recipe for developing zephyr from a raspberry pi, if I get it fully running. 

Cy

  • Hello,

    I am not sure, as I haven't tried using the dongle with a Raspberry Pi. However, have you tried using nrfutil on the Raspberry Pi to flash the dongle? For example, you could create a DFU package (blinky.zip) with nrfutil nrf5sdk-tools pkg generate blinky.zip and then flash the package using nrfutil nrf5sdk-tools dfu usb-serial -pkg blinky.zip -p /dev/ttyACM0, see this documentation on the same.

    Kind Regards,

    Abhijith

  • The root cause of why nrfutil (and many related Nordic tools) keep failing on your Raspberry Pi setup in December 2025 is a combination of three things that all hit at once:

    1. You are using Python 3.13 (Debian trixie/bookworm on Raspberry Pi OS 64-bit now ships with Python 3.13 by mid-2025).
    2. The old Python-based nrfutil (the one from pypi.org, version 5.2.0) is completely unmaintained and does not support Python ≥ 3.8 at all. It fails in multiple ways:
      • AttributeError: 'dict' object has no attribute 'iteritems' (because .iteritems() was removed in Python 3)
      • module 'collections' has no attribute 'Hashable' (because in Python 3.10+ collections.Hashable became collections.abc.Hashable)
      • It forces PyYAML 4.2b4, which also breaks everything else (west, pyocd, etc.)
    3. Nordic replaced the old Python nrfutil years ago with a completely new standalone binary tool (also called nrfutil, but version 7.x/8.x). This new tool is written in Rust, distributed only as pre-built binaries, and works perfectly on Linux arm64 (including Raspberry Pi). The problem is that all the old download links you tried are either dead, redirected to HTML pages, or simply never existed for the new binary.

    Summary of what went wrong in your logs

    • Every pip install nrfutil gave you the ancient, dead 5.2.0 version → instantly broken on Python 3.13.
    • Every wget …nrfutil_Linux-arm64.zip from developer.nordicsemi.com or files.nordicsemi.com downloaded an HTML redirect page (17 KB), not the real ~10–15 MB binary → unzip fails.
    • The GitHub releases you tried (v7.11.0, v0.16.5, etc.) simply don’t have arm64 builds or the tags don’t exist.
  • Hello,

    So does that mean you tried nrfutil and it’s failing? Sorry, I didn’t fully understand your response.

    Kind Regards,

    Abhijith

  • Yes, I am attempting to use nrfutil on a raspberry pi and it is failing.

  • Hello,

    Can you share the logs? The message you pasted doesn’t explain the issue it only describes some possible solutions to the issue you might be facing (though I’m not completely sure), which is a bit confusing. What version of nrfutil are you using?

    Kind regards,
    Abhijith

Related