Leonardo with broken micro usb

Well, it is SM, very difficult to solder new USB micro.
So, rather than throwing it away, I need to upload a sketch WITHOUT USING USB cable!!!
Is there a way to upload a sketch to LEOnado this way??

P.S I have the Uno …if this will be of any help !!!

Use Arduino as ISP method.
Or direct via TX/RX pins.
There are many tutorials on this.

I'm afraid almost all the tutorials on this, including the one linked by aisc, do not work for the Leonardo as a target of the ISP, and direct via tx-rx has only one tutorial and it is for bluetooth programming of ATmega32U4-based Arduinos. I will post more details, having trouble with a picture upload.

Yes, but it does take some skills. It is very useful that you have more than one Arduino. There are 2 approaches you can take.

  1. Use an ISP programmer to upload your sketches to the Leonardo. Your UNO can be used as an ISP programmer. The IDE includes a sample sketch called ArduinoISP which you can upload to your UNO. Once it is uploaded, disconnect power and connect all the pins of the ICSP header of the UNO to the ICSP header of the Leonardo, except the bottom left pin of the Leonardo ICSP header should be connected to Pin 10 of the UNO. The UNO will send a reset signal to the Leonardo using Pin 10. Connect them like the attached diagram. Then open or write a sketch for the Leo, or open the example blink sketch. Plug in the UNO USB cable. Select Tools, Port = whatever the UNO port is on your computer. Select Tools, Board = Leonardo. Select Tools, Programmer = Arduino as ISP. Select File, Upload Using Programmer to upload the sketch to the Leonardo. ****EDIT: note in Arduino 1.6.5 the Upload Using Programmer option has been moved from the File menu to the Sketch menu! **** You would need to hook it up this way and upload using programmer every time you want to program it with a new sketch. After doing that for a few sketches you will be proficient at ISP programming. When you start to feel it is getting tiresome, I have good news, switch to method 2 which is more advanced.

  2. If you to have a computer with Bluetooth, upgrade your Leonardo to a Bluetooth-programmable Leonardo. You’ll have the best Leonardo around! I’ll be updating my Instructable on how to do this with an appendix of pictures and specific instructions for the Leonardo (I hope to do that within a few days). The current version concentrates on the Pro Micro, which is a miniature Leonardo. The part of the Instructable that would be hardest to follow is doing the ISP programming because the examples with Pro Micro do not use ICSP headers. But you can adapt because in the paragraph above you already became familiar with ISP programming and wiring, and that is the same method you will use to burn a new bootloader on your Leonardo! So when it comes time to burn the Optiboot bootloader on your Leonardo, you’ll be one step ahead of the rest of the class.
    As far as I know, this is the first and remains the only tutorial regarding uploading sketches to an ATmega32U4-based Arduino using serial through RX-TX.

Bollocks - Direct TX-RX in not only for "bluetooth programming...." I have used it successfully to program a pro mini and a nano - NO Bluetooth.


Do appreciate your input regarding this matter. I will start with #1 (skill is needed anyway with #2) Then, I will document this here. If I succeed of course !!!

This Bluetooth approach intreegs me, so I will followup on this later.

Method #1


msg: avrdude: butterfly_recv(): programmer is not responding

I am using Windows 8.1. …and the WinAVR( where avrdude lives) is a HUGE topic.


I will try a MAC hoping for a better results

Just curious, you're using WinAVR instead of, or in addition to Arduino IDE? I wonder if people having problems with Windows 8.1 ever create and can successfully use a VirtualBox hosted Linux machine or old XP VM, and do all their Arduino stuff there.

I never heard of WinAVR, untill today......When I got this strange message about avrdude I started reseraching it, with the hope TO GET RID OF IT.....and not to use it.....

Let us hope I have a better luck with Mac OS !!!

Method #1: MAC OS

Exact same message !!!!!

It is funny....that I find it comforting....Why? because both envirements act CONSISTANTLY !!!

Well it seems I will wait eagerly to the BT solution

Are you able to upload sketches to your Uno? After you upload the ArduinoIDE sketch to the UNO, you may need to disable automatic reset on serial connection. The Uno has a trace you can cut to do that, or you can connect a capacitor of at least 10uF with the positive side of the capacitor going to Reset and the negative side of the capacitor going to Ground. johnwasser posted this excellent guide recently: http://forum.arduino.cc/index.php?topic=332536.0 If the disabling automatic reset does not help, that means there would have to be something wrong with your wiring of the 2 Arduinos together.

Let us dig into it together.. Installed the Capacitor

Here is the debug output Sketch uses 4,788 bytes (16%) of program storage space. Maximum is 28,672 bytes. Global variables use 151 bytes (5%) of dynamic memory, leaving 2,409 bytes for local variables. Maximum is 2,560 bytes. Forcing reset using 1200bps open/close on port COM3 PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} PORTS {COM3, } / {COM3, } => {} Uploading using selected port: COM3 C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cavr109 -PCOM3 -b57600 -D -Uflash:w:C:\Users\ADMINI~1.PC-\AppData\Local\Temp\build5366799347141756942.tmp/Blink.cpp.hex:i

avrdude: Version 6.0.1, compiled on Apr 15 2015 at 19:59:58 Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/ Copyright (c) 2007-2009 Joerg Wunsch

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

Using Port : COM3 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 20 4 0 no 1024 4 0 9000 9000 0x00 0x00 flash 65 6 128 0 yes 32768 128 256 4500 4500 0x00 0x00 lfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 hfuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 efuse 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 lock 0 0 0 0 no 1 0 0 9000 9000 0x00 0x00 calibration 0 0 0 0 no 1 0 0 0 0 0x00 0x00 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: butterfly_recv(): programmer is not responding Problem uploading to board. See http://www.arduino.cc/en/Guide/Troubleshooting#upload for suggestions.

Out of curiosity, what setting are u using in the IDE for programmer?

In preference Show verbose output during: Upload ( you can also do it during compiling)

In the IDE under Tools, there is a selection option for "Programmer". What setting do u have there?

To upload to the Leonardo using the uno as a programmer, you need to go on the menu to file, upload using programmer

Programmer: Arduino as ISP

I'm kind of getting bits and pieces of the full picture. Are you good now and having success? If not, give a very descriptive post on everything you are doing, and in what order you are doing it. Include wiring (post clear pictures), what exactly do you have selected on the menu for Board and Port. And when you try to upload a sketch to the Leo, exactly what are you selecting on the menu to do that? Are you selecting File, Upload Using Programmer? I'm not even certain where in the process you are, if you have successfully uploaded the ArduinoISP sketch to your UNO yet, or if you had errors doing that.

I am using IDE 1.6.5. The option is NOT under menue / file It is under Tools. And I selected Arduino as Programmer The uploading hangs for sometime (few seconds) saying connecting to programmer Then Boom I get the error msg avrdudo not responding as I showed you in my debug printout.


I am glad you are online....So the response will be quicker.

In response to your last points. I followed your instruction to the T 1. Connecting Uno ONLY to the PC 2. Uploaded ArduinoISP.... no problem 3. Disconnected UNO and did the wiring as instructed (double checked) 4. Added the capacitor 5. Connected power (Leo got green power) 6. Menu/Tools picked Leo and Programmer Uno as Programmer 7. picked Blink from examples then uploaded it. 8. Sent you the debug print out