Broken USB on Arduino Micro - programming alternative ?

Hi all,
I've accidentally ripped the USB socket off my Arduino micro. I have no chance to solder the connector back to the board as the tracks are damaged.. :frowning:

I am now trying to find an alternative way of programming it.

I've found this other thread that explains how to use another Arduino (in my case I have an Uno R3 I can use): http://forum.arduino.cc/index.php/topic,7571.0.html

It works well when I use this method to program an Arduino Pro Mini (the same that is being used in the above link).
However, when I try to reproduce the method on the Arduino Micro, I get an "Uploading.." that takes forever.

I am using the following connections:
5V -> Vin
GND -> GND
RX -> RX
TX -> TX
RESET -> RESET

I've enabled verbose on upload and I get the following output:

Binary sketch size: 4,830 bytes (of a 28,672 byte maximum)
Forcing reset using 1200bps open/close on port COM5
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
PORTS {COM1, COM5, } / {COM1, COM5, } => {}
Uploading using selected port: COM5
C:\Program Files\Arduino\hardware/tools/avr/bin/avrdude -CC:\Program Files\Arduino\hardware/tools/avr/etc/avrdude.conf -v -v -v -v -patmega32u4 -cavr109 -P\\.\COM5 -b57600 -D -Uflash:w:C:\Users\rema\AppData\Local\Temp\build2843951996578033340.tmp\Blink.cpp.hex:i 

avrdude: Version 5.11, compiled on Sep  2 2011 at 19:38:36
         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
         Copyright (c) 2007-2009 Joerg Wunsch

         System wide configuration file is "C:\Program Files\Arduino\hardware/tools/avr/etc/avrdude.conf"

         Using Port                    : \\.\COM5
         Using Programmer              : avr109
         Overriding Baud Rate          : 57600
         AVR Part                      : ATmega32U4
         Chip Erase delay              : 9000 us
         PAGEL                         : PD7
         BS2                           : PA0
         RESET disposition             : dedicated
         RETRY pulse                   : SCK
         serial program mode           : yes
         parallel program mode         : yes
         Timeout                       : 200
         StabDelay                     : 100
         CmdexeDelay                   : 25
         SyncLoops                     : 32
         ByteDelay                     : 0
         PollIndex                     : 3
         PollValue                     : 0x53
         Memory Detail                 :

                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           eeprom        65    10     8    0 no       1024    8      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           flash         65     6   128    0 yes     32768  128    256  4500  4500 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           hfuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           efuse          0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           lock           0     0     0    0 no          1    0      0  9000  9000 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           calibration    0     0     0    0 no          1    0      0     0     0 0x00 0x00
                                  Block Poll               Page                       Polled
           Memory Type Mode Delay Size  Indx Paged  Size   Size #Pages MinW  MaxW   ReadBack
           ----------- ---- ----- ----- ---- ------ ------ ---- ------ ----- ----- ---------
           signature      0     0     0    0 no          3    0      0     0     0 0x00 0x00

         Programmer Type : butterfly
         Description     : Atmel AppNote AVR109 Boot Loader

Connecting to programmer: .avrdude: Send: . [1b] 
avrdude: Send: S [53] 
avrdude: Recv: 

avrdude: Recv: 
avrdude: Send: V [56] 
avrdude: Recv: 
avrdude: Send: v [76] 
avrdude: Recv: 
avrdude: Recv: 
avrdude: Send: p [70] 
avrdude: Recv: 
Found programmer: Id = "®ÿ""; type = ¤
    Software Version = E.
Found programmer: Id = "®ÿ""; type = ¤
    Software Version = E.; Hardware Version = ð.
	
	avrdude: Send: a [61] 
avrdude: Recv: 
avrdude: Send: b [62] 
avrdude: Recv: 
avrdude: error: buffered memory access not supported. Maybe it isn't
a butterfly/AVR109 but a AVR910 device?

Am I doing anything wrong ? Can I even do that actually ?
I'm a bit lost here, a little help would be much appreciated :slight_smile:

The Micro and Mini have different processors. The Micro has a ATmega32u4 and its bootloader would expect input from USB, not from serial like the Mini does.

You could program it with the ICSP header (those 6 pins sticking straight up) if you had a programmer. Try looking for the Arduino as ISP page (the sketch comes with the IDE).

Thanks Nick !