Struggling with NRF52840 tutorial

Hello,

I have flashed a lot of Arduinos and Teensys over the years, but for my next project I needed to utilize Bluetooth, so I thought a NRF52840 would be a great fit. The Sparkfun board looks like it has everything I’d need for the project and more. I’m a little past what I’m comfortable with, but hey, gotta learn sometime.

I started by working my way through the [Hookup Guide and [Development with Arduino tutorials. I downloaded the adafruit-nrfutil and added adafruit’s boards to my Arduino IDE. I managed to get the Sparkfun variant into the right spot and updated the boards.txt file.

Now it’s time to upload some examples and test out the board! For some reason I am unable to compile anything with Serial for Sparkfun’s variant (error: ‘Serial’ was not declared in this scope). However, I can compile fine for Adafruit Feather, so I’m trying that. The upload always fails with the following error message:

Upgrading target on COM1 with DFU package C:\Users\busby\AppData\Local\Temp\arduino_build_875082\NRF_BLE_Blink.ino.zip. Flow control is disabled, Single bank, Touch disabled
Timed out waiting for acknowledgement from device.

Failed to upgrade target. Error is: No data received on serial port. Not able to proceed.
Traceback (most recent call last):
  File "nordicsemi\__main__.py", line 294, in serial
  File "nordicsemi\dfu\dfu.py", line 235, in dfu_send_images
  File "nordicsemi\dfu\dfu.py", line 200, in _dfu_send_image
  File "nordicsemi\dfu\dfu_transport_serial.py", line 179, in send_start_dfu
  File "nordicsemi\dfu\dfu_transport_serial.py", line 243, in send_packet
  File "nordicsemi\dfu\dfu_transport_serial.py", line 282, in get_ack_nr
nordicsemi.exceptions.NordicSemiException: No data received on serial port. Not able to proceed.

Possible causes:
- Selected Bootloader version does not match the one on Bluefruit device.
    Please upgrade the Bootloader or select correct version in Tools->Bootloader.
- Baud rate must be 115200, Flow control must be off.
- Target is not in DFU mode. Ground DFU pin and RESET and release both to enter DFU mode.

I noticed that my NRF board is always in the bootload mode, no matter what buttons I press, just like some other people on this forum. I’m not as fluent with testing this stuff, so I’m not sure if I have the same problem. Another symptom is that every few minutes the USB Drive associated with the board gets remounted. Not sure what’s going on there.

Any tips?](nRF52840 Development with Arduino and CircuitPython - SparkFun Learn)](SparkFun Pro nRF52840 Mini Hookup Guide - SparkFun Learn)

Hi cogzoid,

My guess is the upload issue is related to using the Adafruit board definition since it’s not the same as the Pro nRF Mini. We’re working on fixing the issue with the board definition but I’m not certain when that will be resolved.

As for the bootloader issue, has this been a problem since you initially plugged the board in or after you tried to upload code to it? Do either of the [bootloader techniques do anything to the board or the USB port? The last-ditch option to recover the board and return it to bootload mode would be to ground pin 2 while resetting the board. If that does not fix anything or if you have tried it already, you may have a defective board.

If that ends up being the case and assuming you purchased the board directly from SparkFun, please fill out the form on [this page and in the “Why do you want an RMA?” box, fill in a brief description of the issue and a link to this thread and we will follow up with further instructions.](Return Policy - SparkFun Electronics)](https://learn.sparkfun.com/tutorials/sparkfun-pro-nrf52840-mini-hookup-guide#using-the-bootloader)

Hi again cogzoid,

I have a quick update on this issue. We identified the problem and have a fix ready to go. That should be live today (7/17) or tomorrow (7/18). Once it is updated, you will need to update your boards.txt file and the SparkFun board definitions for the Pro nRF52840. The [GitHub Repository will have that update live first if you want to try once it has been updated.](GitHub - sparkfun/nRF52840_Breakout_MDBT50Q: Breakout board for the MDBT50Q nRF52840 module)