Creative Commons images are CC BY-NC-SA 3.0


added to your
shopping cart

In stock 227 in stock
19.95 1+ units
17.96 10+ units
15.96 100+ units

Description: Here at SparkFun, we refuse to leave 'good enough' alone. That's why we're adding to our line-up of Arduino-compatible microcontrollers once more! The Pro Micro is similar to the Pro Mini except with an ATmega32U4 on board. The USB transceiver inside the 32U4 allows us to add USB connectivity on-board and do away with bulky external USB interface.

This tiny little board does all of the neat-o Arduino tricks that you're familiar with: 4 channels of 10-bit ADC, 5 PWM pins, 12 DIOs as well as hardware serial connections Rx and Tx. Running at 16MHz and 5V, this board will remind you a lot of your other favorite Arduino-compatible boards but this little guy can go just about anywhere. There is a voltage regulator on board so it can accept voltage up to 12VDC. If you're supplying unregulated power to the board, be sure to connect to the "RAW" pin on not VCC.

This latest revision corrects the silk error from the last version of the board so that pin 14 is correctly labeled. We've also added a PTC fuse and diode protection to the power circuit and corrected the RX and TX LED circuit.

Not sure which Arduino or Arduino-compatible board is right for you? Check out our Arduino Buying Guide!

Dimensions: 1.3x0.7"


  • ATmega32U4 running at 5V/16MHz
  • Supported under Arduino IDE v1.0.1
  • On-Board micro-USB connector for programming
  • 4 x 10-bit ADC pins
  • 12 x Digital I/Os (5 are PWM capable)
  • Rx and Tx Hardware Serial Connections
  • Our Smallest Arduino-Compatible Board Yet!


Comments 41 comments

  • This is a really awesome board. Arduino compatibility, native USB and a sleek profile make it great for many projects. I have never had any trouble getting it to work, contrary to many comments below. My one complaint is that the USB receptacle is too flimsy (a common problem with surface-mount micro USBs). After plugging / unplugging a USB cable a dozen or so times, even quite gently, the receptacle breaks off, pulling the solder terminals off with it. Although I appreciate the design choice to make the size as small as possible and the back of the board flat, a device whose main feature is native USB should have a sturdier USB receptacle.

    • I couldnt agree more. I think I am going to hold off on purchasing this item now.

      I was going to grab this board in lue of the fact that almost every other arduino board on this site is not being sold now. :(

      Thanks for your information.

  • Hi, I have ProMicro 5V/16MHz and I have Linux Mint 16. While trying upload the sketch I am getting following error:

    Found programmer: Id = “Hello H”; type = Software Version = H.e; Hardware Version = l.l avrdude: error: buffered memory access not supported. Maybe it isn’t a butterfly/AVR109 but a AVR910 device?

    Befote I uploaded sketch sending Hello throught Serial. The same problem with my other ProMicro. I have followed the hookup guide, I have selected correct board and port. Can you give me some advice?

  • I had a lot of trouble getting this to accept code. Not sure why, since my Arduino Uno works fine. I’m running Fedora 19 (Linux), and Arduino 1.0.5. Even after reinstalling the bootloader it was pretty hit and miss. What I ended up doing was uploading code directly, using my Arduino Uno:

    Follow the steps here for hooking up your Pro Micro and your Arduino Uno. A couple tips that I didn’t see mentioned, but that could be helpful:

    • You have to upload the “Arduino ISP” sketch to your Arduino Uno first (make sure to select the Arduino Uno as the target board!)
    • In the table saying which wires to hook up, the D14, etc pins are actually just the labeled pins of that number. I thought it was strange that they were prefixed by a D.
    • To actually upload code, not the bootloader, you do all the same things, except instead of uploading to the bootloader, go to File -> Upload using Programmer. This will wipe the bootloader altogether. Make sure you’re connected via USB to your Arduino Uno, but that you have ProMicro selected as your target board. Note that after you do this, you definitely won’t be able to upload code directly to your Pro Micro via USB, without reburning the bootloader. All the HID stuff still works, though.
    • Hi, keep in mind these boards are very different than the Uno and so the upload process is different. You do need to make sure you have the correct board files downloaded and installed as well as the correct drivers installed (on Windows). If you still have questions feel free to email Also, as for the pin names, the full name is actual D0, D1, etc. as opposed to the analog pins which are A0, A1, etc. But on the Pro Micro they are shortened for space issues.

  • I’m having some problems with the hardware serial on this board, maybe someone could help me out. I have an OLED screen (model below) receiving serial data from this board. Over SoftwareSerial it works, but transfer is very slow, and I was trying to just use 0,1 pins to save program space. However, when I switch the serial used in the code to “Serial” and switch the pins to 0,1, I get nothing from the screen. It works on the hardware serial of both a Duemilanove and a Due. From the serial monitor I can see that signals are being sent at the appropriate times that are reaching the USB connection, but the screen isn’t responding. This is the case on USB power as well as a a separate power supply. Any thoughts?

    • Have you tried using Serial1. instead of Serial.? It’s kind of weird. The Serial. object sends and receives data over the Serial Monitor, and Serial1. will send and receive out of the hardware serial port. Check out this example for some example code.

  • These still don’t get listed under Arduino IDE 1.5.2 … Any way to make that work?

  • Does this device support I2C? If so, what pins are the data line and the clock line?

    • Of course it does. Check out how I used the I2C in this LCD clock project:

  • Is there a fritzing part for this? That would help me immensely

  • For anyone working with windows 8/8.1 here is how I got it to work:

    1. Enable installation of unsigned drivers: 8.1 or 8
    2. Once signing is disabled uninstall and re-install the arduino IDE (version 1.0.5)
    3. Open device manager
    4. Get the windows drivers from the tutorial
    5. Reset the board twice quick succession as described under Reset Bootloader
    6. Notice the windows sound signalling a new device being recognized. The new device should show up in device manager with the orange triangle as the pro micro.
    7. Install the driver as described in the tutorial for windows installation for this new device that showed up. I had to reset the board a couple of times during navigation to the driver and then just as I was clicking the button to install the driver. It finished before I heard the sound signalling removal of a device.
    8. Upload sketches to the regular com port that is under device manager, and during upload the pro micro will show up briefly in device manager with the driver you just installed, and disappear, and the sketch should work.
  • Hint for Arduino IDE > v1.0.5: visit to get a zip that allows proper usage of the Pro Micro on newer IDE (currently v1.5.6). Thanks to Matthew Ford!

  • Hi! Windows 8.1 refuses to install the provided INF file from the zip. What to do? Thanks a lot!

    Found it: you need to reboot to special mode where driver signing is disabled.

  • Power source question: If both a USB cable is connected and a battery is wired to RAW, which power source will the Pro Micro use?

  • I am trying to control the pro micro over a JY-MCU Bluetooth module, but it isn’t recognized by my computer. It might be that I am connecting it wrong, but I can’t seem to fine any support on the topic. So if anyone knows how to control the pro micro through any type of Bluetooth module, advice is greatly appreciated!

    • The JY-MCU BT module takes 2 pins (Tx and Rx) to communicate with. You can either use any digital pin through SoftwareSerial or pin 0 and 1 (Rx and Tx)) through (hardware) Serial. Check out my post on how I used BT module in one of my clocks:

  • I have a Pro Micro board version (BlueDuino) which is supposedly a 5V version. Analog pins give 5V (@255 ADU) and digital outputs are also at 5V when high. Analog pins read 1023 cts when 5V is applied. However, the VCC pin is 3.3V! I don’t quite understand how that is possible. Any suggestions? Thanks!

  • Can this be powered using a 9 volt battery thru a breadboard? If not, how can this be wirelessly powered? I tried using 4 AAAs in a battery pack but the robot didn’t turn on. Sorry for my juvenile questions, I’m new at this. (I have the 5v version)

  • I am having some trouble with uploading sketches to my Pro Micro 5V. I am able to see COM8 in my device manager and I see COM8 under Tools> Serial Port. But able to see but for some reason when I upload the Blink sketch I get the following error: Error Touching serial port ‘COM8’ (

    I don’t this it is bricked since I see COM8 in my device manager and IDE. Any ideas? Help please.

  • Hey there. I am a little confused. I was looking at the schematic PDF on this page comparing it to the diagram from this tutorial page:–fio-v3-hookup-guide/hardware-overview-pro-micro

    My confusion lies with the pins on the board labeled 8, 9, 10, 16, 14, 15. The diagram on the linked page indicates: D8 / A8, D9# / A9, D10# / A10, D16 / MOSI, D14 / MISO, D15 / SCLK

    On the other hand, the Pro Micro PDF schematic link in this page indicates: D8, D9# / A8, D10#, D16 /MOSI, D14 / RX LED, D16 then MISO is at D17 which does not even exist on the Pro Micro.

    Would you be able to suggest which description is the correct one?


  • I developed HID keyboard using example source.

    However, BIOS does not work on the problem. (Mac, Windows in normal operation.)

  • Has anyone gotten this to work with a makefile, such as

  • Perfect form factor for cool little LED projects. Did this one in a day:

  • Does anyone know where I can get the fritzing part for this? Thanks

  • Everything was going great until I accidentally uploaded from the Arduino IDE using the 3.3V board option, rather than 5V. Now the USB device is not recognized by Windows, and it says “Device Descriptor Request Failed” in the Device Manager. Did I just learn a $20 lesson in double-checking before uploading, or can I fix this somehow?

    • Ouch! It’s possible to revive it – just takes some perfect timing and patience. Check out the Reset to Bootloader and How to revive a bricked Pro Micro sections on this page. You’ll need to get the Pro Micro into bootloader mode, and try uploading a (5V-compiled) sketch before it exits.

      • Above method got my 5v unbricked, Thanks!

      • Hmm, I’ve nailed the timing three times now (after dozens of failed attempts). Everything looks great, Arduino IDE reports “Done uploading.” But then the USB device is still not recognized when starting normally (non-bootloader mode). I’m uploading a sketch with empty setup/loop functions. Any advice?

  • Sorry for the confusion, but is this board stand-alone, or do I still need to hook it up to an Arduino? If it isn’t stand alone, does anybody know of a similar HID board that is?

  • Have you guys ever stated what the part number or specs are for the diode on the USB input? IIRC the BOM in Eagle doesn’t state it.

Related Products