DFU using USB mass storage on nrf52840

My product has nrf52840 with usb mass storage configured using 8MB QSPI flash (same chip as the nrf52840dk - MX25R64)

I would like to allow users to upgrade firmware by dropping files onto the usb mass storage flash disk. 

Is there an example for nrf52840? I can't find it.

I read this conversation which looks relevant, but it relates to the nrf5340 -  DFU using USB file system (not serial emulation)?  

I believe there is an nrf52840 UF2 bootloader from adafruit, I've not tried to use it yet. I would prefer to use the nordic recommended approach.

I found this guide to using external flash for DFU, but it doesn't update using USB mass storage. https://academy.nordicsemi.com/courses/nrf-connect-sdk-intermediate/lessons/lesson-9-bootloaders-and-dfu-fota/topic/exercise-3-dfu-with-external-flash/

Any advice is greatly appreciated.

I'm currently NCS 2.6.0, but could update if required.

Kind regards,

-Jason

ps. how do I get a project Id?

Parents
  • Hello,

    Is there an example for nrf52840? I can't find it.

    There is no official sample showcasing USB Mass Storage DFU. However, there are some examples using USB CDC ACM, which provides a serial port over USB, similar to a USB-to-serial adapter, but not like a USB flash drive. See the USB Device Support section for more details.

    I believe there is an nrf52840 UF2 bootloader from adafruit, I've not tried to use it yet. I would prefer to use the nordic recommended approach.

    This is true and an approachable method. UF2 is a USB Mass Storage-based bootloader, where you can simply drop .uf2 files onto a drive that appears as a USB mass storage device. I have not personally tried this, and it is not officially supported, as it is not based on MCUboot. You can find more information about this here.

    Kind Regards,

    Abhijith

Reply
  • Hello,

    Is there an example for nrf52840? I can't find it.

    There is no official sample showcasing USB Mass Storage DFU. However, there are some examples using USB CDC ACM, which provides a serial port over USB, similar to a USB-to-serial adapter, but not like a USB flash drive. See the USB Device Support section for more details.

    I believe there is an nrf52840 UF2 bootloader from adafruit, I've not tried to use it yet. I would prefer to use the nordic recommended approach.

    This is true and an approachable method. UF2 is a USB Mass Storage-based bootloader, where you can simply drop .uf2 files onto a drive that appears as a USB mass storage device. I have not personally tried this, and it is not officially supported, as it is not based on MCUboot. You can find more information about this here.

    Kind Regards,

    Abhijith

Children
Related