MKR Wifi 1010 not recognized anymore on Macbook after plugged to solar panel

Hello,

My macbook (Mojave, USB-C ports only) won't recognize my MKR Wifi 1010 anymore.

Symptoms:

  • Double tap reset button doesn't affect ON led that remains solid green
  • CHRG led keeps blinking as long as I don't plug a 3.7V lipo battery
  • The IDE won't show the port the board is connected to anymore, and I can't upload sketches

What I tried:

  • Use the other USB-C port
  • Using the MicroUSB - USB-C that used to work after a few retries before
  • Using a MicroUSB - USB-A and a USB hub that is then plugged in USB-C to the Mac, but it has never worked
  • Using a MicroUSB - USB-A cable with a USB-A -> USB-C adapter, but it has never worked
  • Restarting IDE/computer and plug/unplug board many times
  • Double tap reset before/during sketch upload
  • Plug the board on a Chromebook using USB-A cable and try to detect it from Arduino Web IDE

What happened between the time that it worked after some retries and the time it definitely stopped working was that it spent the night outside with the following configuration:

Solar Panel -> 5V Voltage regulator plugged to the MicroUSB port of Arduino MKR Wifi 1010 -> Soil capacitance sensor plugged with I2C
A 3.7V Lipo battery was also plugged on the JST port to be charged with the solar panel.

I have also attached the code, just in case there is something obvious. It is only connecting to Wifi and sending soil capacitance sensor data to a statsd server.

The code has worked the whole night until early morning where it stopped sending data to the statsd server, but I think it is because it switched to the solar panel that wasn't producing enough current for the board to work properly (the ON led was blinking really fast for a while, and became solid green with the CHRG led becoming solid orange once the sun was hitting the solar panel).

I believe I also started having more trouble recognizing the board once I tried the low-consumption functions both of the board and the wifi module, even after removing them from the code.

From MKR WIFI 1010 - Windows 10 does not recognize the board (no com port) - MKRWIFI1010 - Arduino Forum, I am guessing that the bootloader is the issue as resetting the board doesn't do anything to the ON led, but I want to be sure I am not missing something before buying another board or a debugger.

Thanks for the help !

wifi_helper.ino (1.07 KB)

potager.ino (3.48 KB)

clvssr:
I believe I also started having more trouble recognizing the board once I tried the low-consumption functions both of the board and the wifi module, even after removing them from the code.

If you use code that puts the board to sleep to save power, it is normal that it will not be recognized while sleeping. The reason is that code that creates the USB CDC serial port runs on the microcontroller you put to sleep. But you can always recover from the sleep state to do an upload by doing a double reset to put it in bootloader mode, so this is not the cause of your board's current state where it doesn't respond to the double reset.

clvssr:
I am guessing that the bootloader is the issue as resetting the board doesn't do anything to the ON led, but I want to be sure I am not missing something before buying another board or a debugger.

If you have any wiring, shields, carriers, modules, etc. connected to the board, try removing it all and trying the double reset again.

The only two things I can think of that would cause the lack of response to the reset on the board alone are:

  • Damaged or erased bootloader.
  • Damaged hardware.

So I do think the next step is to try burning the bootloader.

If that doesn't help, then it's likely damaged hardware. Unless it's something simple like a non-fatal short caused by a bit of conductive debris on the board, or you're very good with electronics and soldering, it's likely to require replacing the board.

pert:
If you have any wiring, shields, carriers, modules, etc. connected to the board, try removing it all and trying the double reset again.

I have tried removing all the wires yes, but it didn't change the result. I'm a newbie so not sure if it is relevant: the first times I plugged the I2C wires for the soil sensor, I plugged the 5V wire to ground and the ground wire to 5V (I trusted the colors of the wires too much..), same for SDA and SCL pins, might that have caused some damage ? Just to be clear, the wires were correctly plugged when it stopped working as it ran correctly most of the night.

pert:
The only two things I can think of that would cause the lack of response to the reset on the board alone are:

  • Damaged or erased bootloader.
  • Damaged hardware.

So I do think the next step is to try burning the bootloader.

Okay, what could have damaged/erased the bootloader, can it be the code or is it a physical damage ? Does it mean I need to buy a second board or a debugger (following reply #3 instructions at MKR WIFI 1010 - Windows 10 does not recognize the board (no com port) - MKRWIFI1010 - Arduino Forum) ?
Thanks for your help !

clvssr:
Okay, what could have damaged/erased the bootloader

The way I did it, and something I've seen reported several times here on the forum is uploading a sketch to the board when I accidentally had the "Arduino Nano 33 BLE" board selected. That overwrites the bootloader code.

clvssr:
or is it a physical damage ?

I'm not sure about this. We see occasional reports here about mysterious upload failures on the wildly popular AVR boards like the Uno that end up being fixed by burning the bootloader. So I guess it's possible under rare circumstances that subjecting the board to conditions outside its rated specs can corrupt the flash memory without causing enough damage to render the hardware unusable.

clvssr:
Does it mean I need to buy a second board or a debugger (following reply #3 instructions at MKR WIFI 1010 - Windows 10 does not recognize the board (no com port) - MKRWIFI1010 - Arduino Forum) ?

One of those are needed in order to burn the bootloader. That is not guaranteed to recover your board, but if it doesn't you'll probably need that additional Arduino board anyway, and if you are going to be diving deep in to Arduino you'll find other uses for that debugger. So it won't be a complete waste even if the purchase doesn't result in the recovery of your current board.

I think I just broke my second MKR Wifi 1010. My macbook won't recognize the board anymore, it was working well before I tried to use the solar panel.

When I plug the board, ON turns green, CHRG blinks a few seconds, then turn off, and builtin LED fades then lights up.
This time the reset button still makes the builtin led light up then fade repeatedly. It seems to go automatically in that mode when I plug the board now that I can't upload any sketch anymore.

The code now also includes 1-hour long deep sleep (from LowPower library) between sensor readings.
Everything was working fine as long as it was plugged in USB to my macbook or running on battery.

It started failing after I tried plugging the solar panel to charge the battery.

Could you tell me if you see something that might damage the board given the list of components I am using ?

The voltage regulator is directly plugged to the USB port of the MKR Wifi 1010.
The LiPo battery is directly plugged to the JST port.

Thanks for your help !

MacOS seems to detect the second board I broke (but not the first one) when I look in System Information (see attachment), but the IDE won't show it.

I realized the soil sensor was connected to the 5V pin, which gives 5V when plugged using USB but 3.3V using battery (which is expected). The soil sensor is supposed to handle both voltages so that should not be an issue.

Also, I tried reinstalling the "Arduino SAMD Board" from the IDE module but it didn't work.

I noticed the input voltage when using Solar Panel + Voltage regulator 5V could be lower than 5V. I can't find precise information on when the board switches to battery power, is there a voltage threshold that is greater than 0 ? It there a scenario where the board still gets energy from the USB port at a lower voltage such that the increased current would damage the board ?

On that second board, if you do the double reset, do you get a pulsing "L" LED?

Thanks for your reply.

Yes, when I power up the board, CHRG blinks for 1-2 seconds, then the "L" LED starts pulsing indefinitely. If I press reset, the led turns off as long as I press the button. When I release the Reset button, the "L" LED goes back to pulsing indefinitely. Same behaviour if I double tap the Reset button.

I realise it might have been clearer if I posted a diagram, so I attached one, it probably contains mistakes though as it is my first, and the soil sensor is still plugged to 5V pin as that how it was plugged when it started failing.