NRF52840 and Installing SoftDevice SS340-SD-v6.1.1 ANT / BLE 5

I'm stuck with trying to install Nordic/ANT+ SoftDevice SS340-SD-v6.1.1 on the Adafruit Itsy Bitsy NRF52840.

Within nRF Connect - Programmer, I am getting the following error: "Unsupported device. The detected device could not be recognized as neither JLink device nor Nordic USB device."

Please help. Thanks.

Parents
  • Hi, 

    How do you connect the Adafruit ItsyBitsy NRF52840 with PC? Are you using J-link or DK? See https://learn.adafruit.com/adafruit-itsybitsy-nrf52840-express/faqs#faq-2860855 

    Please also make sure provide 3.3V while connecting the VTRef pin on the JLink/DK. You can verify by checking J-Link Commander. 

    Regards,
    Amanda

  • Hi Amanda,

    Thanks for the response. I am using a PC and certainly there has to be another way to accomplish the installing/flashing of a newer SoftDevice without the mentioned Segger J-Link unit or one on-board the nRF52 Dev Kit, right?

    I have the existing bootloader "itsybitsy_nrf52840_express_bootloader-0.6.2_s140_6.1.1.zip" and "itsybitsy_nrf52840_express_bootloader-0.6.2_s140_6.1.1.hex" ... Isn't there a way to modify these with this newer S340 SoftDevice, like being able to point to the "ANT_s340_nrf52840_6.1.1.zip" and ANT_s340_nrf52840_6.1.1.hex" inside the bootloader? Along with renaming any instances of 's140' in the board support package "boards.txt" with 's340'?

    I have found this information where this can be accomplished without J-Link or DK, with just USB-UART using adafruit-nrfutil.
    https://blogarak.wordpress.com/2020/03/29/arduino-ide-integration-for-the-nrf52840-feather-express-with-s340/ 

    Can you please help me confirm that this is a workable solution?

    Thanks.



  • Thanks Amanda!

    I've been able to order the very popular and often sold out J-Link mini edu. I am seeing it is compatible with the NRF52/Cortex M chips. There are SWDIO and SWCLK pads on the bottom of the board, then of course the available VRef/3V and Gnd pins, supposedly those are the only valid and needed connections on the J-Link's 10 pin SWD (the other 6 links, so I'm hoping Dupont terminals and a bit of soldering on the two small board pads will accomplish communication.

    The first project is for an indoor spin bike. With a gyro/accelerometer (MPU6050) and a quality ADC (HX711 or ADS1115) connected to a set of strain gauges in a wheatstone bridge circuit on a drivetrain component (crank arm, pedal spindle, chainring, or bottom bracket axle) one can measure cadence (RPM), speed, crank angle (phi), torque (bending/twisting moment, Newtons), and power (watts).  Then sending this data wirelessly to a Garmin Edge head unit or custom made smart phone app. Then after, ultimately make a similar one for outdoor, rugged mountain bike use. Maybe also learning to condense all of this into the smallest form fitting PCB/battery package later. This will provide much more fulfillment, customization, and learning than buying a commercial unit.

    Since the predominance of Garmin fitness products communicate using the ANT protocol, I was wanting to start there first. I have more investigation with understanding the latest updates with BLE and ANT+ (Smart, 5, mesh, network topology, concurrent connections, connection integrity, packet loss, transmission rate, range/power/gain, crypto, etc.). So with the latest and greatest S340 SoftDevice I should have plenty to 'chew' and can go in any direction with learning.

    Thanks for your help in getting me through this update hurdle.

  • Hi, 

    Happy to help. Don't hesitate to create a new support case if you have any issues with the development. We are always on Devzone with you. Slight smile

    -Amanda

  • I was able to install the S340 SoftDevice with nRF Connect-Programmer and the J-Link, however the board was no longer recognized in Arduino IDE. Is there a way to keep the ordinating Adafruit NRF52 Itsy Bitsy Express bootloader and just update the S340 SoftDevice?

  • I would suggest to use nRF Command Line Tools to execute "nrfjprog --program S340_SoftDevice.hex --sectorerase -r" command to program the S340 SoftDevice. The "--sectorerase" will on erase the targeted area instead of all the flash. 

    -Amanda

  • Thanks Amanda,

    Can you help me with starting from scratch with the NRF52840 SoC on this board...

    I think the first few steps that are necessary is to simply achieve some tests with the S340 SoftDevice

    Having the J-Link now, through NRF Connect-Programmer I have erased the memory on the NRF52840 SOC and flashed it with Nordic's MBR/bootloader and the S340 SoftDevice. I have the Segger Embedded Studio IDE installed and would like to run any beginner sketch to test maybe a blinking LED (which is GPIO Pin #3) on the board. Can you help me with this first step in making sure the board accepted the flash update?

    Thanks.

Reply
  • Thanks Amanda,

    Can you help me with starting from scratch with the NRF52840 SoC on this board...

    I think the first few steps that are necessary is to simply achieve some tests with the S340 SoftDevice

    Having the J-Link now, through NRF Connect-Programmer I have erased the memory on the NRF52840 SOC and flashed it with Nordic's MBR/bootloader and the S340 SoftDevice. I have the Segger Embedded Studio IDE installed and would like to run any beginner sketch to test maybe a blinking LED (which is GPIO Pin #3) on the board. Can you help me with this first step in making sure the board accepted the flash update?

    Thanks.

Children
  • Hi,

    RMall said:
    Having the J-Link now, through NRF Connect-Programmer I have erased the memory on the NRF52840 SOC and flashed it with Nordic's MBR/bootloader and the S340 SoftDevice.

    Good. 

    RMall said:
    Having the J-Link now, through NRF Connect-Programmer I have erased the memory on the NRF52840 SOC and flashed it with Nordic's MBR/bootloader and the S340 SoftDevice.

    Are you able to see the device advertising as "DfuTarg"? If so, you need to install nRF-Util to generate the updated package. See Performing a DFU doc.

    I will be out of the office next week. If you need any further help, please create a new support case and my colleague will help you.  

    -Amanda

  • Thanks. I'm not even sure where to be looking for where the device would be advertising? It's not registering as a USB device in Windows Explorer any more. Double tapping the reset button the board does not put it in DFU mode any longer either, as it did with the Adafruit bootloader.

    I tried to run the following with nrfutil... Not sure if this is the correct procedure to "generate the updated package".



    Here is what nRF Connect-Programmer looks like after putting the ANT_s340_nrf52_7.0.1.hex on the board.

    That's where I am at currently.


  • Enjoy your time out of the office. Thanks for continuing to help me through this challenge of getting started.

  • Hi, 

    From the last figure, it seems there is only the ANT_s340_nrf52_7.0.1.hex on the device. It would need to program the Adafruit bootloader. 

    -Amanda

  • I think we are getting closer... Thanks for all of this.

    I am encountering the following when doing $ Make BOARD=... There seems to be an issue with nrfutil and 'genpkg' for the .zip file. Are there any suggestions regarding the error in the image below?



    Please correct me if I'm wrong... I'm not so sure the .zip file even matters since the UF2 and Hex files were made and UF2 file and largest .hex file (itsybitsy_nrf52840_express_s340_bootloader-0.6.3-48-gcc8ea2b-dirty_s340_6.1.1.hex) are able to be flashed to the board (either by drag/drop of UF2 onto the board when in DFU mode, or by nRF Connect-Programmer and JLink with the .hex file). From there the board is accepted (in Arduino IDE) now and operates as it normally did. I've been able to run simple test sketches of blinking the on board LEDs and sending printed text to the serial monitor, so I seem to be back to baseline with the board operation in this regard.

    ^-- Does this image/figure look correct regarding the bootloader program aspect? Since yesterday, I have been able to run test LED blinking/print line sketches, I wouldn't be able to do that if the bootloader was not available, right?

    ---Next Phase---
    I have yet to learn and understand how to do a test example sketch for Bluetooth and ANT.

    I have nRF5 SDK 17.1.0 along with Segger Embedded Studio and VS Code w/ Nordic Extension Pack ... all of which I am eager to learn and understand as well, hopefully these tools can be used for helpful explanation for BLE and ANT testing. Could you share some test sketches for both wireless protocols?

Related