Autonomo to not run code or reset to factory defaults

Hi there, is there a way to tell the sodaq autonomo not to execute the uploaded code. or to reset it to factory defaults

I removed the 5 second delay in the beginning of my code and now it won’t recognise the usb port anymore when connecting it to my macbook.

I’ve tried resetting it multiple times even holding the reset button while powering it up, but no success.

Hi Gertjana,

In another thread I described a method of resetting the board using the SWD port.

Yeah I’ve read that thread,
but according to the schema on that pin is connected to the same RESET line of the cpu as the reset button, so how is grounding this pin different from pressing the reset button?

see this screenshot

It seems to require that a couple of rapid resets in a row. I use a jumper wire from GND, and I tap that reset pin a couple of times in a row. It is possible that the mechanical properties of the reset switch makes this difficult or impossible.

I seem to have the same problem, serial port doesn’t show up anymore. Pressing the reset key, or touching the RST on the SWD several times doesn’t help. The autonomo’s LED2 is flickering yellow like it’s running the last sketch. I was trying to display something on an 128x64 OLED display via the i2c bus. Is it possible i screwed something up irreparably?

I think it is more likely that the code which you loaded is running into an issue quite early on. An issue which results in the native USB becoming unresponsive.

Do you get an auditory notification when you plug in new devices on your computer? If so do you get any notification when you plug in the board (you would also get the same notification after resetting it)? You may get this notification, but then no serial device shows up in the ports menu of the Arduino IDE.

To explain the SWD reset process a bit more:

The boot loader has a section of code which checks for repeated resets. During startup it checks for the last reset cause, it then waits what is supposed to be 500ms. If there was another reset during that pause, it will stay in the boot loader and not start executing any code which has been loaded.

In theory it may be possible to double tap the reset using the physical reset button, however, the physical properties make that difficult. It is easier using the reset pin on the SWD. I can be difficult to time the double tap in order to hit the second reset within that 500ms window.

Hi Gabriel,

I tried the board om my mac, on linux and on windows, but it just doesn’t show up anymore, not as a serial USB device, but also not as anything unrecognizable USB with only the usb id’s.
From your explanation i understand that the double reset has to be done during bootup, so plug in usb to give it power and at the same time keep ticking the reset pin on the SWD with a wire connected to ground. I tried this together with someone else, me ticking reset, and the other plugging in the USB.
But it just doesn’t help :cry: LED2 starts flickering yellow immediately but there is nothing on the USB.

Is there nothing else i can try?

You should keep it plugged in to the USB while trying to reset it.

After the board is reset the bootloader is started and there is a 500ms window to tap the reset once again. This leaves it in bootloader mode which will allow you to load new code onto the board. If you press reset a third time, the board will reset again and start the process over.

The only other way I know of is to burn the bootloader again with a programmer device (ATMEL-ICE or similar) over the SWD port.

The flickering yellow LED is probably the charge indicator. If no battery is attached, this can sometimes float and appear to be flickering.

Ok, just tried that, but no change in the situation. Thanks for your help so far.
I will try to reach out to the developers, perhaps they can help me reflash the board,
and also indicate what went wrong, so it won’t happen again.


Did you manage to solve your problem?

I happen to have the same exact problem with autonomo and can’t find a fix still.