Arduino pro micro without usb

Hi everyone!

I broke up my pro micro's usb by an accident, i wonder if there's any way to upload a program without it (sorry if its a dumb question, im new at this) or i need to buy other.

I just need to upload a program on it (and supply with power), cause my project will use bluetooth to conect it.
I think that cannot be repaired:

Thanks in advance.

You can program it using an ISP programmer. There is no ICSP header, but all the pins are available,

14 = MISO
15 = SCLK
16 = MOSI
RST = Reset

2 Likes

Thanks so much for answer David.

So, i can connect it like this to upload a program:

And once programed, i just power the board with 5v on "VCC" and negative on "GND".

Right?

That looks correct, but I've never used that particular type ISP programmer.

Hopefully the USB connector didn't take any interconnecting traces with it when it broke off.

1 Like

If you don't already have a dedicated ISP programmer such as the one in your diagram, you also have the option of turning a spare Arduino board into an "Arduino as ISP" programmer:

But a dedicated ISP programmer is a very useful tool to have on hand so don't let me dissuade you from buying one. I just want to provide all the options for your consideration. I am a big fan of the "USBasp" ISP programmers. I think the one in your diagram is a USBasp. For this particular use case, it doesn't matter, but I prefer the version of the USBasp with the 6 pin connector over the style in your diagram with the 10 pin connector. The reason is that all Arduino boards use the 6 pin header, so if you get the 10 pin style then you should also buy a 10 pin to 6 pin adapter, which makes the 10 pin programmer slightly less convenient to use. Either will work just as well once you have made the connections though.

1 Like

Ok, now i've tried this and this error occur:

avrdude: usbhid_open(): No device found
avrdude: jtag3_open_common(): Did not find any device matching VID 0x03eb and PID list: 0x2141
An error occurred while uploading the sketch

I've test with various options in "programmer"

In order to gather more information that might help us to troubleshoot your problem, I'm going to ask you to post the full output from the upload when in verbose mode.

Please do this:

  1. Select File > Preferences from the Arduino IDE's menus.
  2. Uncheck the checkbox next to Show verbose output during: compilation
  3. Check the checkbox next to Show verbose output during: upload.
  4. Click the OK button.
  5. Select Tools > Programmer > USBasp from the Arduino IDE menus.
    (This is the correct menu selection when using your nice USBasp programmer.)
  6. Select Sketch > Upload Using Programmer from the Arduino IDE menus.
  7. After the upload fails, you'll see a button on the right side of the orange bar in the Arduino IDE: Copy error messages. Click that button. This copies the full output to the clipboard.
  8. Open a forum reply here by clicking the Reply button.
  9. Click the </> icon on the post composer toolbar. This will add the forum's code block markup (```) to your reply to make sure the error messages are correctly formatted.
    Code block
  10. Press Ctrl+V. This will paste the error output from the upload into the code block.
  11. Move the cursor outside of the code tags before you add any additional text to your reply.
  12. Click the Reply button to post the output.

Hi in0, thanks for helping me out, here are my error messages:

Arduino: 1.8.16 (Windows 10), Board: "Arduino Micro"

Sketch uses 6302 bytes (21%) of program storage space. Maximum is 28672 bytes.

Global variables use 312 bytes (12%) of dynamic memory, leaving 2248 bytes for local variables. Maximum is 2560 bytes.

C:\Program Files (x86)\Arduino\hardware\tools\avr/bin/avrdude -CC:\Program Files (x86)\Arduino\hardware\tools\avr/etc/avrdude.conf -v -patmega32u4 -cusbasp -Pusb -Uflash:w:C:\Users\LUCASY~1\AppData\Local\Temp\arduino_build_735095/switcheroonie.ino.hex:i 



avrdude: Version 6.3-20190619

         Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/

         Copyright (c) 2007-2014 Joerg Wunsch



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



         Using Port                    : usb

         Using Programmer              : usbasp

avrdude: Warning: cannot open USB device: Function not implemented

avrdude: error: could not find USB device with vid=0x16c0 pid=0x5dc vendor='www.fischl.de' product='USBasp'



avrdude done.  Thank you.



the selected serial port 

 does not exist or your board is not connected



This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

Thanks so much in advance.

I use a USBasp version 2 with a 10-pin to 6-pin adapter as well. They are not all the same and some have timing issues or are not recognized.

If you have a USB cable, then you could solder that to the board. It is only 4 wires. GND to GND, 5V to one side of the polyfuse and the usb signals to the 22 Ω resistors. Tie the wire firm to the board and apply hot glue to fix everything.
Your Pro Micro is a clone of the Sparkfun Pro Micro board, they provide a schematic as well (Documents tab): https://www.sparkfun.com/products/12640

This is all fun, but you should also buy a new Pro Micro board.

I rescued a Pro Micro once by soldering a cut USB cable as described by Koepel. It was a fun challenge, and worth doing for that sake, but in the end the thing was such a Frankenstein's monster that I didn't end up finding a use for it yet and haven't done it to the other two boards I have with torn off USB connectors. I probably would be more likely to use it without that USB cable hanging off it, even though I usually only think of Pro Micros when I need USB capabilities that won't be available without the cable.