Feather nRF52832 can't upload, not bricked

Please tell us which board you are using.
For CircuitPython issues, ask in the Adafruit CircuitPython forum.

Moderators: adafruit_support_bill, adafruit

Please be positive and constructive with your questions and comments.
Locked
User avatar
sfbob
 
Posts: 14
Joined: Tue Jul 05, 2022 7:56 pm

Feather nRF52832 can't upload, not bricked

Post by sfbob »

We have a configuration with a Windows 11 laptop with Arduino-IDE 1.8.19 with a portable directory connected to a feather nRF52832. Sketches compile and upload fine. I'll refer to this as laptop 1, cable 1, and feather 1.

We also have laptop 2 with cable 2 and feather 2.

On a second laptop we installed Arduino-IDE with a portable directory and connected it to a second feather nRF52832, compiled Blink and attempted to upload, got the error message timed out waiting for device to respond. Took another look at IDE>Tools and found there was no port assigned. After some frustrating reattempts took a look at Device Manager and found a warning triangle on the 2104 device, looked at that and found a note that there was no driver installed. Downloaded driver from Silicon Labs website and found and selected COM3 port. Recompiled Blink, upload failed again with same timeout message.

I did notice that on feather 1, the center of the top of the board is empty. Feather 2 has a socket presumably for a jlink debugger.

On laptop 2 went through the process of attempting to upload holding DFU button down, tapping DFU button, holding reset button and even physically grounding DFU pin. Could not get sketch to upload to feather.

Connected cable 2 between laptop 1 and feather 1 and was able to upload and run sketch, so we eliminated potential issue of cable 2 being a power only cable. Did the same with cable 3 sucessfully, so we know we have good cables.

Connected laptop 1 with cable 1 and feather 2, compiled Blink, and upload failed. Based on this narrowed down the problem to feather 2.

Went back to laptop 2 cable 2 feather 2 and tried again, still failed with same timeout message. "Knowing" that this would not work, opened Serial Monitor and to our surprise got a gibberish response. Reset baud rate to 115200 and got readable response. Typed some stuff in the serial monitor and got some responses.

Code: Select all

12:29:48.768 -> 0:[ts=0ssb, mod=173 level=1] [BLEDIS] Model Number added
12:29:48.768 -> 1:[ts=7812ssb, mod=173 level=1] [BLEDIS] Serial Number added
12:29:48.768 -> 3:[ts=23436ssb, mod=173 level=1] [BLEDIS] Firmware Revision added
12:29:48.768 -> 4:[ts=31248ssb, mod=173 level=1] [BLEDIS] Manufacturer added
12:29:52.730 -> ?
12:29:52.730 -> 
511:Commands:
12:29:52.730 -> 511:     stat    config      echo         ?    prompt     ticks 
12:29:52.775 -> 513:    tasks  mempools      date       dfu     nustx     nusrx 
12:29:58.943 -> prompt X
12:29:58.943 -> 
1303:Usage: prompt [on|off]|[set|show] [prompt_char]
12:30:06.270 -> prompt on
12:30:06.270 -> 
2244: Prompt now on.
12:30:06.270 -> 2244: > stat
12:30:25.870 -> 
Must specify a statistic name to dump, possible names are:
12:30:25.870 -> 4752:	stat
12:30:25.870 -> 4752:	ble_l2cap
12:30:25.870 -> 4753:	ble_att
12:30:25.870 -> 4753:	ble_gap
12:30:25.870 -> 4753:	ble_gattc
12:30:25.870 -> 4754:	ble_gatts
12:30:25.870 -> 4754:	ble_hs
12:30:25.917 -> 4755:	ble_ll_conn
12:30:25.917 -> 4755:	ble_ll
12:30:25.917 -> 4756:	nffs_stats
12:30:25.917 -> 4756:	ble_phy
12:30:25.917 -> 4756:	ble_uart
12:30:25.917 -> 4757: > date
12:30:40.957 -> 
1970-01-01T00:00:52.187488
12:30:40.957 -> 6681: > config
12:30:49.440 -> 
Invalid args
12:30:49.440 -> 7770: > config ?
12:30:56.031 -> 
Cannot display value
12:30:56.031 -> 8609:Invalid args
12:30:56.031 -> 8610: > tasks
12:31:17.189 -> 
Tasks: 
12:31:17.189 -> 11321:    task pri tid  runtime      csw    stksz   stkuse   lcheck   ncheck flg
12:31:17.189 -> 11323:    idle 255   0    11300    15377       64       26        0        0   0
12:31:17.236 -> 11325:    main 127   1        1       51     1024      202        0        0   0
12:31:17.236 -> 11327:  ble_ll   0   2       22     4141       80       58        0        0   0
12:31:17.236 -> 11329: bleuart   5   3        0    11355      256       31        0        0   0
12:31:17.283 -> 11331: > 
So it appears that feather 2 is working, can do something, but we can't upload and run a normal sketch.

Any suggestions on how to get feather 2 working normally? Thanks.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Feather nRF52832 can't upload, not bricked

Post by mikeysklar »

This is some very good troubleshooting work you have done so far. Thank you for the clear writeup.

I would be curious about the differences between Feather1 and Feather2. Do you know the bootloader version installed on each device?

https://learn.adafruit.com/bluefruit-nr ... bootloader

There were some revisions done in 2018.
As of March 16, 2018 We've done a minor revision to the nRF52 to self-power the CP2104 from USB not from the onboard regulator. This has no functional change but has improved the power consumption when not connected to USB
As of June 27, 2018 We've updated to rev 2 of the silicon for the nRF52832

User avatar
sfbob
 
Posts: 14
Joined: Tue Jul 05, 2022 7:56 pm

Re: Feather nRF52832 can't upload, not bricked

Post by sfbob »

Thanks for the reply and the link to burn the bootloader.

In the picture of the Tools menu shows a line for the board selection followed by a line beginning "Bootloader ..."

On my tools menu, the line after the board selection is "SoftDevice S132 6.1.1"

Port is COM4

Trying to burn bootloader anyway results in this

Code: Select all

C:\Users\user\arduino-1.8.19\portable\packages\adafruit\hardware\nrf52\1.3.0/tools/adafruit-nrfutil/win32/adafruit-nrfutil.exe --verbose dfu serial -pkg C:\Users\user\arduino-1.8.19\portable\packages\adafruit\hardware\nrf52\1.3.0/bootloader/feather_nrf52832/feather_nrf52832_bootloader-0.6.2_s132_6.1.1.zip -p COM4 -b 115200 --touch 1200 
Upgrading target on COM4 with DFU package C:\Users\user\arduino-1.8.19\portable\packages\adafruit\hardware\nrf52\1.3.0\bootloader\feather_nrf52832\feather_nrf52832_bootloader-0.6.2_s132_6.1.1.zip. Flow control is disabled, Dual bank, Touch 1200
Touched serial port COM4
Opened serial port COM4
Starting DFU upgrade of type 3, SoftDevice size: 147792, bootloader size: 21704, application size: 0
Sending DFU start packet
Timed out waiting for acknowledgement from device.
Sending DFU init packet

Failed to upgrade target. Error is: Attempting to use a port that is not open
Traceback (most recent call last):
  File "__main__.py", line 296, in serial
  File "dfu\dfu.py", line 226, in dfu_send_images
  File "dfu\dfu.py", line 203, in _dfu_send_image
  File "dfu\dfu_transport_serial.py", line 155, in send_init_packet
  File "dfu\dfu_transport_serial.py", line 241, in send_packet
  File "serial\serialwin32.py", line 306, in write
serial.serialutil.PortNotOpenError: Attempting to use a port that is not open

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.
So now it looks like the wrong COM port (COM4 instead of COM3) is selected and not opened.

User avatar
sfbob
 
Posts: 14
Joined: Tue Jul 05, 2022 7:56 pm

Re: Feather nRF52832 can't upload, not bricked

Post by sfbob »

Update
disconnected feather
uninstalled Silicon Labs driver
reconnected feather
Port COM3 now available, attempted to upload Blink - failed, attempted to burn bootloader - failed.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Feather nRF52832 can't upload, not bricked

Post by mikeysklar »

Were you in DFU mode when trying to update and upload the Blink code? It is probably necessary since Feather2 is in an unknown state. Remember that you “hold” down DFU while tapping reset. Your post sounded like you had done the opposite.

Another option to explore is Factory Reset. GND <—> FRST pad.

https://learn.adafruit.com/bluefruit-nr ... et-2860628

User avatar
sfbob
 
Posts: 14
Joined: Tue Jul 05, 2022 7:56 pm

Re: Feather nRF52832 can't upload, not bricked

Post by sfbob »

Yes we did a lot of holding and tapping and I probably did not explain it as well as I could.

We held DFU and tapped Reset, tapped Reset only, held Reset and tapped DFU, and did the physical grounding. None of those worked.

I never attended band camp and I'm wondering if I don't have the right kind of rhythm for the tapping, or perhaps a hammer could help with the right kind of pressure :-)

I'm at a loss for what to do next. I do have access to an external programmer but I have never used one of those. More suggestions are welcome.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Feather nRF52832 can't upload, not bricked

Post by mikeysklar »

Not everyone gets to be first chair in band practice.

Use an external jtag programmer if that is what you have is a great way to bring a board back from a bad place. There is a guide for that.

https://learn.adafruit.com/bluefruit-nr ... de-2860635

While you had mentioned various attempts to get into DFU mode you did not acknowledge the Factory Reset <--> GND link. Had you tried also that?
Another option to explore is Factory Reset. GND <—> FRST pad.
https://learn.adafruit.com/bluefruit-nr ... et-2860628

User avatar
sfbob
 
Posts: 14
Joined: Tue Jul 05, 2022 7:56 pm

Re: Feather nRF52832 can't upload, not bricked

Post by sfbob »

When I said I did the "physical grounding" I thought I had covered that.

However what I did was put a jumper between the GND and DFU pins per the instructions in the upload error message:
Ground DFU pin and RESET and release both to enter DFU mode.

Thanks for the link to the Using the Bootloader documentation. I may not have done the DFU GND process correctly.

Also, I was working on the top of the board. When you mentioned FRST pad I realized that the pad was on the bottom of the board and that's a different process than the DFU GND process.

I'll try the DFU-GND again, and if that doesn't work, the FRST-GND.

User avatar
mikeysklar
 
Posts: 13936
Joined: Mon Aug 01, 2016 8:10 pm

Re: Feather nRF52832 can't upload, not bricked

Post by mikeysklar »

Cool. Thank you for the update. Let me know what you discover with the DFU / FRST attempts.

Locked
Please be positive and constructive with your questions and comments.

Return to “Feather - Adafruit's lightweight platform”