How to reprogram not using USB (Mega)


I've got some code on my Seeduino Mega which will continuously listen to the USB line to receive messages from it, which it then responds to.

However, stupidly I forgot to put a breakout of this checking loop, so now I cannot reprogram the board over USB due to my current code simply trying to interpret the incoming messages as it does normally in the operation code.

I need to update the code, so is there a way to do this other than over USB? Even if I have to take everything off the board and put the bootloader etc. back on?

I'm not keen to just change to another board, as this board has been customised in terms of its connectors and this would take serious time to redo!

Thanks in advance...

Did you removed bootloader? If so, then you can load bootloader there via ISP port but you will need some kind of programmer tool e.g. USBasp or another Arduino.

Won’t pressing the RESET button stop the processor?

The auto-reset will take care of this most of the time. The only way I know of for a sketch to interfere with an upload is if it floods the USB output buffers by doing continuous serial output. In that case the fix is to hold down the reset button while unplugging and re-plugging the USB cable (which clears the buffers) and then do an upload. Release the reset button when you see the RX light blink. This lets the upload start before the user's sketch can get control and flood the buffers.

Do you have anything connected to the Reset pin which might be preventing the auto-reset? Do you have anything connected to Pin 0 or Pin 1 which might interfere with serial communication?