Getting started with Pro-Micro?

Hey gang-

I have never used a Due, Leo or Mirco ..or any ATMega32U4 based board before.

I have a project that will require one (ATMega32U4).. and decided on the Pro Micro due to the small form factor/foot print.

I have a couple, in both +5v and +3.3v versions..

I was using this tutorial as my starter guide:
https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/

I downloaded the latest version of the Arduino IDE 1.6.4 I believe it was/is..

I downloaded the drivers form here:
https://cdn.sparkfun.com/assets/learn_tutorials/1/2/1/SH32U4_driver.zip

And grabbed the 'Add-On' files from here:
https://cdn.sparkfun.com/assets/learn_tutorials/1/2/1/sparkfun_32u4_boards_02.zip

(went to my program files >> Arduino directory, created a hardware folder. and extracted the contents there) (sparkfun >> avr >> files)

Here is when the problems start..

1.) I have gotten (many times) the prompt to install device drivers.. it has installed the Leo, Micro, Pro-Micro drivers on different occasions??

2.) Whenever I open up the IDE, and look at the available options under BOARDS >> I do not see any +5/+3.3v Pro Micro options in there to choose from?

My two concerns are:

A.) The device drivers? What the heck is going on? haha why does it ask to install drivers so many different times? I have the entry in the device manager change several times.. (I think lastly, currently it shows under the Keyboards as an HID keyboard? I'd have to connect it again to be sure)

B.) The lack of boards in my IDE? How can I get the Pro-Micro +5/+3.3v variants to show up so I can use them to upload?

Heres the kicker.. if I try to upload the default Pro-Micro 'blink' sketch... it works.. it will upload and the TX/RX leds will blink.. I edited the sketch changed delay, only used 1 led.. and it took upload and worked.

But if I click on serial monitor.. I most of the time get COMXX not available? Although other times I do?
(Not sure if this is due to COM enumeration that I read about though?)

Anyone dumb things up a bit and make sense of the results I am getting?

(I actually brought my netbook and Pro-Micro to work today, so I can test any feedback on lunch!)

Thanks!

update:

ok.. so out of curiosity, I plugged the Pro-Micro into my netbook right now.

1.) It shows/says New Hardware FOund: Leonardo

2.) In device Manager, I see Yellow ! in several places, (under COM > Arduino Leonardo).. (under Other devices >> Arduino Leonardo)

3.) I also am now getting (ANOTHER) device driver installation prompt!!!!!!

I hope I am wrong.. in that, thats just the way these ATMega32U4 based boards work?? If so, they are practically worthless~! lol..

You cant/shouldnt be installing drivers each/every time you connect it to a PC.. (any sort of keyboard or mouse prank would be dead in the water)

(And why does it come up as a Leonardo???)

When I try to navigate to the folder where the driver files (.inf) are.. it wont let me specifally choose a file... it 'searches'.. then finds/loads a driver that shows as USB Human Interface Device?

Still have a yellow ! in device driver under the COM/PORTs though? (and still says Leonardo??)

Thanks!

Where did you buy the board?

most off ebay, but one is from sparkfun.

I have only tried plugging in 2 of them and uploading code to one.

(or even went through any of the device driver stuff with any other board)

board aside, I should be able to see the new board additions in the IDE... (maybe there are in the wrong place?)

Id try with 1.0.6 IDE

For trying to get the different board type to show up in the IDE?

(I believe the tutorial says the use specific version of the 'add-on' files for 1.5+ and older version for IDE below that?)

I suppose it cant hurt to give it a try.

Any idea on the correct to set-up and work with a micro?

the device driver stuff? (or why my current one shows up as a Leonardo vs a Pro-micro?)

and can I just delete it and start over?

thanks!

^ bump...

well the boards/options are showing up in the Arduino IDE now.

but whenever I plug in the board, it still shows up as a Leonardo? and keeps prompting for driver installs?

anybody have any suggestions?

or how can I 'start' over? (so to speak).. delete any Arduino based drivers that are installed?

thanks!

xl97:
but whenever I plug in the board, it still shows up as a Leonardo? and keeps prompting for driver installs?

Is that not what it is?

What difference would there be?

Technically, I suppose it uses the same chip... and I guess similar/same bootloader?

But since there are drivers specifically for the Pro-Micro.

and board files specifically for those boards as well..

I was expecting it to show/display as such....

I was also not expecting the be prompted to load device drivers (several times) each time it is connected to the PC.


After mucking about last night for a while..

it seems to no longer do this.... and no shows up as a Pro-Micro as well...

I will have to test some more to ensure that the driver prompts are truly gone as well.

Thanks..

As an advice, save yourself some time and use it as a Leonardo. I dont think there will be differences (your pro micro is 16 mhz right?).

I have both a +5 & +3.3v versions of the Pro-Micro..

When it was used a Leonardo... it would never stop prompting for drivers when connected.

I'd believe it would need to be treated as a Leonardo if it has the ATMega32U4 chip. As a corollary to that, whoever continued to name it a Pro Micro with that chip should be beaten up a bit; the original Pro Micros used an ATMega328 and never had USB connectivity.

You mentioned that you bought some of these from eBay and one from Sparkfun; are all of them giving you the same hassle with drivers? I'd expect good behavior from the Sparkfun model, but the eBay models might just need a bootloader install to get them working right.

Aren't you mixing up pro mini (328) and pro micro (32U4) ?
I understand this mix up, but searching for pro micro (a month or so ago) lead me to this product.
I've installed those drivers and add ons in win7 and never had trouble like xl97 seems to have.
I'm using it with some Chinese clone.
Perhaps he should consider updating his bootloader.

I have not read the whole thread here is a few pointers that might help.

If this is Windows 7 and 8 USB device drivers can be notoriously hard to install. Not always, but sometimes.

Arduino and associated modules purchased on ebay have different chipsets than the genuine Arduino modules. One of the most common chip is the CH340G serial which you find glued underneath the Nano and so on. You need special drivers for this chip.

When plugging in a USB device in Windows, make sure that

  1. you are administrator
  2. you plug it into ALL the USB slots on your PC/laptop, one at a time
  3. only once it works under administrator, only then the drivers are truly installed (or de-installed if you wanted to).
  4. after that you can now log on as "user" and the USBs will work OK.

That doesn't apply to 32U4 solutions like the Leonardo and this pro micro.
The 32U4 has its own internal USB solution, so there is no need for any on board chipset.
That's the beauty of this, but it does have some drawbacks.

That is also the reason for me to suggest updating the bootloader.

A side effect of this, is that there are multiple USB devices.
First, after reboot/reset, a device will be activated that will allow the upload of some code to your Arduino.
After some time out, a new device will be activated.
At this moment, my windows device manager reports an extra serial comport, an extra HID device (keyboard), and an extra mouse, all because i have the pro micro connected to it.

At the moment the pro micro has a blink variant in it, just not exactly like the one we all started with, because it has no pin 13 with a LED connected to it.
It does have controllable RX and TX LEDs, and they are alternating now.

By the way: because of the quirky way windows handles USB devices, i make it a point to myself to always connect devices to the same port.
Most FTDI devices i know of do not need that, because they can send some additional 8 bit ID, helping to get the same com port assigned.

Thanks for the replies guys...

1.) Yes.. I believe Chagrin is mixing up Pro-MINI vs Pro-MICRO (pro-mini's still have/use the 328's.. the pro-micro use the ATMega32U4 chip..... although they 'do' have the same form factor.. (its basically a replacement for the pro-mini..with more power)

2.) This -was- the sparkfun board... lol (not the clone from china).. I havent tried with those yet.

3.) This was an XP machine.. (I have a little netbook, Acer Aspier One, that I used for messing about when I'm at work.. in the bedroom at night..etc)...

My initial purpose was to play a prank on a co-worker with his keyboard.. (pranks are pretty rampant around my work place!)

I got the pro-micro, to be used in conjunction with a USB Host mini 'shield' (Circuits @ Home)..

I havent even gotten that far as to mess with the USB Host shield yet (figured out the pins needing to be used with the pro-micro vs the pro-mini.. from what I can tell the RST pin is not the same on both boards... and while in the same pace, the SPI pins are 16, 14, 15...etc)

I was having the initial problem posted here.. and was concerned about this device driver non-sense..

I'm starting to think this might not work at all? I cant plug in the 'prank board'.. and be have the 'target' be prompted with tons of device driver issues.. (he'll know whats up right away I would think).

(Although there are TONS of USB/keyboard pranks posted using Arduino/USB Host shields...... and nobody mentions this driver prompting problem.... so maybe there is still hope?)

I have yet to try this on my main machine which is a Win7 box..

My intent is take the USB keyboard.. open it up.. hide BOTH the Pro-Micro and the USB Host mini shield inside... take the keyboard usb cable... snake it back inside the case to connect to the USB Host shield.. then the USB cable that connects to the Pro-Micro, put that in the place where the original keyboard cable was...

so it looks like a legit keyboard... (I got an exact duplicate of the keyboard from the Network admins in my office.. and had their blessing for the prank)

Does this keyboard by any chance function with a USB to PS/2 adapter plug?

If so, you would not need a USB Host.

haha.. no, I wish.. then I could just the PS/2 keyboard lib/sketch I have seen before.

it is a straight/legit USB keyboard.

Since uploading a test keyboard sketch to the Pro-Micro... I have NOT tested the behavior when plugged into another machine outside of the machine that is my dev machine (Arduino IDE, drivers installed for Pro-Micro.....etc)

I'm hoping it doesnt prompt for any driver installs...

Since people use this similar set-up (USB Host shield).. for XBOX/PS3 and Cameras... how would they get drivers to be installed?

I guess only time will tell.

I was hoping to get to the USB Host shield stuff (Using a +3.3v Pro-Micro with +3.3v USB Host Mini shield... but cutting trace so I can still get +5v to the keyboard (VBUS) itself..

Not sure if I'll have time.. I'd like to do some more searching/reading about detecting the text/keys pressed (to possibly do some string replacement effects).. instead of just randomly throwing text out/to the pc...

(ideally I would like to detect the name of the target and replace it every time.. or something similar).. alng with re-mapping some keys.. and random annoyances. :slight_smile:

xl97:
haha.. no, I wish.. then I could just the PS/2 keyboard lib/sketch I have seen before.

it is a straight/legit USB keyboard.

So - you did try that?

Oh..

I'm sorry, I read it wrong (sorta).. I read it as it is currently using a USB to PS/2 connector.

(not 'can' it)..

the answer is still no, it doesnt not have a PS/2 port on the back on the machine.

well...to update, I guess I was wrong.

I took my netbook/test machine... plugged in the already 'programmed' pro-micro..

and, while it ran the test sketch (opening up a new file, and pasting/typing some pre-defined text to it, if it was the in the Arduino IDE while running/plugging this in, it would have uploaded the text/sketch too)...

it also prompted for several driver installs each time. :frowning: