Fixing a Bricked Arduboy With No Reset Button

Hello, my Arduboy is bricked. (can’t flash code, and flashlight mode doesn’t work). I’m trying to follow the method shown here, but I accidentally broke off my reset button, so I can’t press it anymore. What can I do to fix my Arduboy?

Is there some way I can short the test pads on the back together to simulate pressing the reset button?

Yes you can there are also reset pads in the back that are labeled you can short. I should probably put some disclaimers on pages like that, you really shouldn’t need the reset button unless you have somehow damaged the bootloader.

Try this troubleshooting guide if you haven’t already.

Is a game currently playing on your Arduboy, if so, it isn’t bricked let us know what game you’ve got. Some of them require some special instructions to reprogram them.

If it’s Arduventure I’m going to eat my hat.

1 Like

I do not have a game running on my arduboy: when I turn it on nothing happens, the screen just stays black.

Try running the troubleshooting guide I suggested. If the game doesn’t run, and you don’t get a USB chime when plugging into a computer, and the Red LED is constantly on, your battery is probably damaged.

It is more common to have a fractured battery tab in this situation. If this is the case let me know via Contact — Arduboy and I can help sort it out from there

1 Like

I use linux mint xfce, not windows, so I never get a chime when I plug something in: do you know if there is any other way to check if it is connected?

(also the red LED goes off after a while, I assume because it is fully charged)

UPDATE: I fixed it by starting the upload, then immediately shorting GND and Reset together on the back of the board. I managed to get ArduBreakout working :smiley:

1 Like

That’s good news! Do you know what happened that caused it to get into this state? Were you doing some development on it sounds like?

There is a way to see if the serial port is available in linux but I’m not sure what that is.

1 Like

As a first step, I usually open a terminal window and enter the command
You should see the Arduboy listed as an Arduino Leonardo with USB ID
2341:8036 in normal mode
2341:0036 in bootloader mode

You can also try the command
just after plugging in the Arduboy.
Near the end of the output you should see indication that an Arduino Leonardo has been detected.

1 Like

Thanks for the advice! i used a far more hacky method. i just set up a terminal running

watch 'ls /dev/* | grep ttyA'

Because i noticed that the arduino ide was trying to find it on /dev/ttyACM0
When i would short the reset pin, the device would apper for about 4 seconds, and if you uploaded the sketch during that window it would work

Here’s a picture of the pins you need to short: i shorted GND and Reset and it seemed to work

Instead of doing this, in the Arduino IDE preferences you can set
Show verbose output during: ☑ upload
then after starting an upload wait until you see the port scan messages before doing the reset.

Just in case it’s relevant to somebody else that finds this thread, ModemManager interferes with the Arduino upload process so that needs to be uninstalled if your Linux distro uses it.

It’s used for cellphone (3G/4G/5G) data sticks and those show up as a /dev/ttyACM* serial port too so ModemManager talks to them to see if they’re really a modem and what type, and it does that right when avrdude is trying to upload.

I know Xubuntu installs it and every upgrade / new machine I have to uninstall :stuck_out_tongue:

1 Like

Hmm, I have successfully uploaded code on Linux Mint without uninstalling anything (to an Arduino Uno, off brand Arduino Mega, and Arduboy).

/dev/ttyACM0 does seem to be designed for modems, but the Arduino IDE seems to detect devices on /dev/ttyACM0, so I don’t think ModemManager is causing any problems.

Interestingly, I’ve also used Xubuntu to upload code, and I didn’t have any issues, but that was 20.04, so things might have changed since then

No need to uninstall it. Just disable it.
E.g. on Ubuntu:
sudo systemctl stop ModemManager.service
sudo systemctl disable ModemManager.service