Troubleshooting your nice!nano often falls on to the firmware of choice, but a few directly hardware related items can be addressed.
In this case you can most likely re-flash the bootloader using adafruit-nrfutil
. Here are the steps you'll want to follow:
pip3 install --user adafruit-nrfutil
.adafruit-nrfutil --verbose dfu serial --package nice_nano_bootloader-0.6.0_s140_6.1.1.zip -p SERIALPORT -b 115200 --singlebank --touch 1200
However, replace SERIALPORT
with your respective serial port name on your OS.
COM8
, but the number 8 will depend on what it is in your device manager under serial./dev/ttyS0
, but you'll of course need to double check the exact path name.After this runs, you should have your bootloader all re-flashed and fresh.
If you can't get into the bootloader anymore, this will mean you'll need a device programmer. You can select one of the two below and use the steps listed.
nrfjprog
nrfjprog -f NRF52 --program nice_nano_bootloader-0.6.0_s140_6.1.1.hex --chiperase
openocd
openocd -f interface/stlink.cfg -f target/nrf52.cfg -c "gdb_flash_program enable" -c "gdb_breakpoint_override hard" -c "init" -c "reset halt" -c "flash write_image erase ./nice_nano_bootloader-0.6.0_s140_6.1.1.hex"
Unfortunately there's likely not much you can do from a hardware perspective if you're running into this. This will mostly likely come down to two factors: the firmware you're using and how nicely the host BLE stack works with said firmware.
Because there's no simple way for me to offer advice on how to fix this, I would instead ask you to reach out to the respective firmware communities to ask for assistance. In general though, I would first test to see if you can connect to your phone over BLE. This will show whether it's a hardware issue or not. In my experience it's never truly been the nice!nano that has hardware issues, so continued work on the firmware side and OS stack side need to occur.