Pro Micro - 3.3V/8MHz

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: 9 channels of 10-bit ADC, 5 PWM pins, 12 DIOs as well as hardware serial connections Rx and Tx. Running at 8MHz and 3.3V, this board will remind you a lot of your other favorite Arduino-compatible boards but this little guy can go just about anywhere.

This is the 3.3V version so, as always, keep in mind the limits of system voltage and so forth. The lower system voltage also has its advantages, though, like ease of use with many common 3.3V sensors. 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.

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

Note: See the GitHub link below for support with the Arduino IDE.

  • ATMega 32U4 running at 3.3V/8MHz
  • Supported under Arduino IDE v1.0.1
  • On-Board micro-USB connector for programming
  • 9 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!
  • 1.3x0.7"

Pro Micro - 3.3V/8MHz Product Help and Resources

Pro Micro & Fio V3 Hookup Guide

November 8, 2013

An overview of the Atmega32U4-based Pro Micro and FioV3, how to install it, and how to use it with Arduino.

Choosing an Arduino for Your Project

December 11, 2017

Examining the diverse world of Arduino boards and understanding the differences between them before choosing one for a project.

Tech Prank: Hardware Mouse Jiggler

March 12, 2018

Create an innocuous-looking USB stick with an Arduino Pro Micro and a 3D printed case that moves your mouse pointer randomly every few seconds. Sure to anger your coworkers and friends!

Bricked Atmega32U4

Timing Issues w/ USB Communication through CDC

Interrupts Atmega32u4's built in CDC driver for USB communication can have timing issues when messing with the watchdog timer, sleep modes, and timer interrupts. I am unsure of how to fix this issue if you continue to use code that interferes with the CDC. I recommend trying a different method than using the interrupt timers.

Wrong Bootloader It's possible to brick your Pro Micro 3.3V/8MHz if you used the wrong board selection with the wrong frequency. If you upload the wrong frequency, the IC will not be able to understand any new code that is being uploaded. It expects to have code that is compiled for another bootloader, instead of using the 8MHz frequency with the oscillator.

When either of these cases happens, the device manager is not able to recognize the device and is usually seen as an "unknown device" when the microcontroller runs the sketch. There are ways to recover the an Atmega32U4 (i.e. LilyPad Arduino USB - Atmega32U4 board, FioV3 - Atmega32U4, Pro Micro 5V/16Mhz, Pro Micro - 3.3V/8Mhz, etc) if this happens. Check below for more information:

A.) Upload when LilyPad USB with Atmega32U4/Pro Micro/FioV3 is still in Bootloader Mode

You can try the double reset method by tapping the RST pin to GND twice (since there is no reset button on the board) as explained in the Troubleshooting sections labeled as Reset to Bootloader and How to Revive a "Bricked" Pro Micro => https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/troubleshooting-and-faq.

1.) Open the Arduino IDE.

2.) Choose a simple code to upload on the Arduino. I used the blink test code from the hookup guide [ https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide#example-1-blinkies ] to upload.

3.) Check your Tools>Port menu for the list of COM ports when the Arduino is connected. You will probably not see it in the list.

4.) Click somewhere else to stop viewing the list of COM ports.

5.) Ground the RST button 2x as stated in the Troubleshooting and FAQ [ https://cdn.sparkfun.com/assets/6/d/3/4/a/523c8e23757b7fbe5f8b4584.png ].

6.) Re-open the Tools>Port menu to view the list of COM ports again to see what the Pro Micro enumerates to when its in its bootloader. There is an 8 second window to view the COM port when the board is in bootloader mode.

Note: Feel free to use the device manager at this step. Opening up the device manager on your operating system will help to see when the Arduino pops up and disappears.

7.) Select the COM port that the Pro Micro is on before it disappears again.

8.) Hit the Upload button to compile and upload.

9.) Wait a few seconds for the Arduino IDE to compile code. The progress bar should be just over the halfway mark.

Note: On Windows, this takes about 20 seconds to compile and upload. The device will show up as "SparkFun Pro Micro (COM##)". Trying this on a Mac seemed a little faster to compile and upload.

10.) Hit the reset button twice again to place the Pro Micro in bootloader mode while the Arduino IDE is uploading.

11.) If successful, you will have no error messages the Arduino IDE will tell you that it is "Done uploading."

After selecting the correct board definition and timing the double reset method correctly, I was able to upload successfully. It took me a couple of tries before I could get this right because of the timing. You should not need to go through this recovery procedure for subsequent uploads unless you brick the Atmega32U4 again.

---------------------------------------------------------------------------------------------------

B.) Outdated or Corrupt drivers

If board is showing up as Arduino Micro (COM##) or Pro Micro (COM##), try the double reset method and updating the drivers while still in bootloader mode:

1.) Use the double reset method while having the device manager open.

2.) When the board entered the bootloader mode, I right-clicked on the Arduino board in the device manager as shown in this screen shot: [ http://puu.sh/iaYYC/d45153914c.png ]

3.) I updated the driver for the board.

4.) Once the update was completed, I compiled and uploaded the code. When the uploading status bar was half-way through, I did double reset again and the problem was fixed.

---------------------------------------------------------------------------------------------------

C.) Reinstalling the Bootloader

As a last result, you can always try to reinstall the bootloader. The tutorial is designed for the Arduino Uno, but it should work for Atmega32U4's bootloaded with Arduino. The idea is the same but the specifics are different. Start by reading the tutorial => https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader. The first thing you are going to need is an AVR programmer. You can use a standard AVR programmer or any Arduino with the ISP code on it (the standard code will not work with the Leonardo). You will then need to connect it to the target device (i.e. LilyPad Arduino USB, Pro Micro, Fio V3, Makey Makey, or Leonardo) to reflash the bootloader. Don’t worry about the fuse bits or even the avrdude commands (they’re great, if you are installing third party stuff, but this will work just fine).

1.): Get a programmer

This you can do by following the directions in the tutorial.

2): Connect the programmer/Arduino as ISP to the Target Device

You will need to connect to the same pins to your target device (i.e. LilyPad Arduino - USB, Pro Micro, Fio V3, Makey Makey, or Leonardo). On the Leonardo you can connect it just like the Uno. The LilyPad Arduino - USB has small ICSP pins. I managed to solder wires directly to the pins for access. The Pro Micro does not have an ISP header and the pin numbers are different. Check the tutorial for location of the pins on the programmer. Here are the pins for the Pro Micro Board:

ICSP Pins <=> Pro Micro Pin
   GND    <=>      GND
   RST    <=>      RST
   VCC    <=>      VCC
   MISO   <=>      D14
   SCK    <=>      D15
   MOSI   <=>      D16

Note: There is a silkscreen error and D17 is labeled D14 on the Pro Micro.

3.) Program

Using Arduino v1.6+ go under Tools and select the correct programmer (if your programmer uses a COM port select that too), and the correct board (LilyPad Arduino - USB, Pro Micro, FioV3, Makey Makey, or Leonardo). Then select Burn Bootloader. For the Pro Micro, this will use the bootloader in the addon file, so make sure you have the correct addon file installed. You can find the latest board definitions from the SparkFun GitHub Repository [ https://github.com/sparkfun/Arduino_Boards ].


Issues Uploading with Linux

If you have problems uploading code with this error using the Pro Micro on a Linux machine:

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

try following these instructions from Arduino => http://forum.arduino.cc/index.php?topic=217910.0. They need to change some udev rules. There was a customer had the same problem but got it working after changing the settings.


Software Reset

By connecting to the FioV3 at a baud rate of 1200 and closing the COM port, this will initiate a software reset with the Atmega32U4 just like the Arduino Leonardo (as stated in the Automatic (Software) Reset and Bootloader Initiation for a Leonardo => https://www.arduino.cc/en/Main/ArduinoBoardLeonardo ) .


serialEvent() and serialEventRun()

The serialEvent() function is not compatible with the Esplora, Leonardo, or Micro” that uses the Atmega32U4 https://www.arduino.cc/en/Reference/SerialEvent.

There was a customer that was able to resolve this by using the serialEventRun(). For more information, try looking through this forum that helped the customer resolve the issue => https://forum.sparkfun.com/viewtopic.php?f=14&t=41515.


3.3V/8Mhz Pro Micro Schematic's Crystal Oscillator

The 3.3V/8MHz Pro Micro schematic says that it is using a 16Mhz crystal oscillator. However, our production populates the board with an 8MHz crystal oscillator. The reason for this is because our production uses the same board layout as the 5V/16Mhz Pro Micro. The only major differences between the Pro Micros are the voltage regulator, solder jumper, and crystal.


Core Skill: Soldering

This skill defines how difficult the soldering is on a particular product. It might be a couple simple solder joints, or require special reflow tools.

2 Soldering

Skill Level: Rookie - The number of pins increases, and you will have to determine polarity of components and some of the components might be a bit trickier or close together. You might need solder wick or flux.
See all skill levels


Core Skill: Programming

If a board needs code or communicates somehow, you're going to need to know how to program or interface with it. The programming skill is all about communication and code.

2 Programming

Skill Level: Rookie - You will need a better fundamental understand of what code is, and how it works. You will be using beginner-level software and development tools like Arduino. You will be dealing directly with code, but numerous examples and libraries are available. Sensors or shields will communicate with serial or TTL.
See all skill levels


Core Skill: Electrical Prototyping

If it requires power, you need to know how much, what all the pins do, and how to hook it up. You may need to reference datasheets, schematics, and know the ins and outs of electronics.

3 Electrical Prototyping

Skill Level: Competent - You will be required to reference a datasheet or schematic to know how to use a component. Your knowledge of a datasheet will only require basic features like power requirements, pinouts, or communications type. Also, you may need a power supply that?s greater than 12V or more than 1A worth of current.
See all skill levels


Comments

Looking for answers to technical questions?

We welcome your comments and suggestions below. However, if you are looking for solutions to technical questions please see our Technical Assistance page.

  • Member #356814 / about 9 years ago / 2

    FYI, using Arduino IDE 1.6.6 seems to have issues with deprecated platform.txt and subsequent inability to locate avrdude. Reverting to Arduino 1.6.5 solves this.

  • Member #185241 / about 4 years ago / 1

    Nice design, I'm encountering the same problem of detaching microUSB connectors, perhaps you could fan D+ and D- out to pins for permanent serial UART?

    Another issue is the 500 mA power consumption documented, should this not read 500 uA?

    • santaimpersonator / about 4 years ago / 1

      I am not exactly sure what you are trying to indicate in your first "question". However, to address your second question, I believe you are interpreting the available current as current draw in the graphical datasheet. The 3.3 V voltage regulator can source up to 500mA on the VCC pin.

  • Member #1501291 / about 6 years ago / 1

    can it control a speaker

  • Member #1375362 / about 7 years ago / 1

    Does anyone know what specific crystal this board uses and where I could buy one?

  • Nudos / about 7 years ago / 1

    Nice Stuf, It is of very good quality, it has been very useful to me. Thank you for sending me so fast.

  • Member #1076585 / about 7 years ago / 1

    Hi, Could you please update your schematics for the 3.3V version? The crystal shown in the schematics is 16MHz whereas it should be 8MHz.

    I have been trying to flash the ATmega32U4 using flip software by Atmel without success. Everytime i click to open the USB port i get an error message (Could not ope USB device). Although the ATmega32U4 is listed into my device manage under Atmel USB Devices.
    Has anyone tried to flash the ATmega32U4 of this development board using FLIP software?

  • ghjeng / about 8 years ago / 1

    Hello @bboyho, is there any chance I can direct mail you to find out more about the CDC driver and timer interrupt issues? My problem is not just for the Pro Micros that I've bought. I've also bought 4Duinos from 4D Systems, which also use the ATMega32u4, and they have exactly the same bricking problem. This happens even with the correct board files selected in the IDE. It is definitely something to do with the Timers. I've stared at the ATMega32u4 datasheet exhaustively, and from what I see, Timers 0,1,2 are not used in the USB section of the chip, but every time I use those associated interrupts in code...BRICK. If you could please let me know hoe we can make direct contact so we can find a long term solution to the cause of this and then find a remedy? Thanks! My email is ghj_at_atlantiscorp_dot_co_dot_za

  • Member #566516 / about 8 years ago / 1

    Can anyone tell me where is the ss pin for serial communication? I can see it on the graphical datasheet but cannot figure out where in the heck it is.

    • M-Short / about 8 years ago / 1

      The hardware SS pin for SPI serial communication seems to be on the RX LED. That pin isn't broken out, but you should be able to use any pin you want as a SS.

  • Member #356814 / about 9 years ago / 1

    Is the only difference between the 3.3v and the 5v the voltage regulator on the RAW pin, and the software configuration (e.g. clk freq)? I see "VCC = 2.7V to 5.5V (unless otherwise noted)" mentioned on page 383 of the 32U4 datasheet. In general, can microcontrollers be powered with a range of voltages?

    Specifically, I am wondering if I can run the 3.3v version at 3.6v. Thanks.

    • Member #356814 / about 9 years ago / 1

      Oh, now I see below: "The only differences are the voltage regulator and crystal (and a solder jumper)."

  • CreativeRobotics / about 9 years ago / 1

    There appear to be some errors in the schematic linked to on this page, and for the 5v part. Pin PB0 is the SS pin but has the net name MISO and PB3 is the MISO pin but has the net name D14/RXLED - in the caterina bootloader source the RXLED pin is PB0, not PB3 ... looks to me like the PB0 and PB3 names on the 32u4 schematic part have been swapped over by accident.

    • M-Short / about 9 years ago / 1

      Sigh, yes, the schematic makes me want to cry a bit. It's on our list of things to do (although not super high priority). In the mean time check out the graphical datasheets. I dug into the ATmega32U4 datasheet and triple checked it so it should be correct.

      • Member #698024 / about 8 years ago / 1

        just an update: it looks like you mislabeled some OC4x pins on the graphical datasheet: you put labels for OC4A and OC4B on pins that are actully connected to OC4A and OC4B's complimentary outputs. It's easy enough to miss; the datasheet just puts a bar over OC4A to mark it as complimentary. (I describe the issue in full at https://github.com/sparkfun/Pro_Micro/issues/3)

        • M-Short / about 8 years ago / 1

          Thanks for the feedback. This should all be fixed and uploaded.

  • RichardBronosky / about 10 years ago / 2

    I needed to use the analog pins as digital I/O and found the answer to addressing them in leonardo\pins_arduino.h

    PF, // D18 - A0 - PF7
    PF, // D19 - A1 - PF6
    PF, // D20 - A2 - PF5
    PF, // D21 - A3 - PF4
    

    The SparkFun schematic shows PF7(ADC7) for A0, but it doesn't clearly indicate that it can be addressed as digital pin 18. Well, it can. Enjoy your extra 4 digital I/Os

  • Finn Kerr / about 9 years ago / 1

    Why does this board have an external crystal when the chip has an internal 8MHz oscillator?

    • M-Short / about 9 years ago / 1

      Mostly for better accuracy. All of our 8MHz boards actually have an oscillator for that reason (if not all then most).

      • Finn Kerr / about 9 years ago / 1

        If we wanted to de-solder the crystal, what would we need to do to tell the 32U4 to use the internal oscillator instead?

        • M-Short / about 9 years ago / 2

          You can tell the 32U4 to use the internal oscillator even if you don't desolder it. This is done with fuse bits and an avr programmer. Whenever you upload the bootloader it automatically configures the fusebits (which it gets from the boards.txt file), but you can also set them yourself from a command line. Check out this calculator for figuring out what fuse bit you want to use. Also check out this quick run through about fuse bits in general. If you have any other questions feel free to email techsupport@sparkfun.com

  • equidna / about 10 years ago / 1

    Do I need an external programmer?

    • M-Short / about 10 years ago / 1

      No, the Pro Micro has native USB and the bootloader is designed to program over USB, so you should be fine with just a USB cable

  • Member #386279 / about 10 years ago / 1

    Is anyone else having issues getting the board recognized by OSX Yosemite (IDE 1.6)?

    I've tried the Troubleshoot (dump IDE, plug out/wait/plug in), other variations, restarted many times... and only ONCE was I able to get my usbcom working. When it did work, I got a "new keyboard" popup per documentation, but also got a second page where it asked me to hit the key to the right of the right-hand shift key... which I just closed. Everything worked fine and was able to get Blink and my own code working. That was yesterday; in countless tries since (or before) it has never worked.

    Incidentally, when it did work, I had a browser open in the background and noticed that the page I was on (the troubleshoot page) scrolled a bit every time I plugged in/out.

    Any ideas? Is this happening to anyone else? I'd really appreciate some help/guidance. Thanks

  • Member #639850 / about 10 years ago / 1

    Can a Pro Micro - 5V/16MHz be power with a Voltage of 3.3Volt ?

    • M-Short / about 10 years ago / 2

      That's a tricky questions. As a general rule we run our 16MHz AVRs at 5V and our 8MHz AVRs at 3.3V. The reason for this is that the more voltage you give the chip the faster it can run. 16MHz/3.3V is technically out of spec on the ATMega328 (although it does tend to work fine). I believe it is in spec on the ATMega32U4 board though. The regulator on this board will still be 5V, so you would have to hook the 3.3V directly up to the VCC pin and not the RAW pin, but that should work just fine.

  • wirahim / about 10 years ago * / 1

    What should I do if I want to convert a 5v version to 3.3v version? I need a to operate the chip at 16MHz at 3.3v.

  • Member #574364 / about 10 years ago / 1

    Can this board be powered and run through USB port in stead of an external LiPo battery or wall adapter? If yes, can the 5V line on the USB header be connected to Raw/Vcc or is it already connected?

  • Ben Rothschild / about 10 years ago / 1

    Would it be possible to use the adafruit battery backpack with this or is there a sparkfun equivalent?

    https://www.adafruit.com/product/2010

  • Member #595486 / about 10 years ago / 1

    How much current can the digital i/o pin safely push under continuous load?

  • RichardBronosky / about 10 years ago / 1

    Can someone please share a Fritzing part for this?

  • RichardBronosky / about 10 years ago / 1

    First thing I did with my Pro Micro 3.3v was try to upload the Examples>04.Communication>SerialCallResponseASCII sketch. I had the Leonardo board selected and now the thing seems bricked. Ideas?

    • RichardBronosky / about 10 years ago * / 3

      I was able to recover my Pro Micro 3.3v using a new Pro Micro 3.3v that I ordered as its replacement! Now they both work. I basically followed these instructions but the wiring was confusing. I used:

      10  -> RST
      16  -> 16
      14  -> 14
      15  -> 15
      VCC -> VCC
      GND -> GND
      

      ...and change the ArduinoISP sketch to

      #define RESET     10
      

      At this point I got an error when trying to "Burn Bootloader" that said "first mismatch at byte 0x0000 0xfe != 0xce" A little Google-fu lead me to this forum post and just as he said I edited the file:

      ~/Documents/Arduino/hardware/SF32u4_boards-master/boards.txt

      and put:

      #promicro8.bootloader.extended_fuses=0xfe
      promicro8.bootloader.extended_fuses=0xce
      

      in the "promicro8.name=SparkFun Pro Micro 3.3V/8MHz" section and then the "Burn Bootloader" function worked. I verified it with the Examples>04.Communication>ASCIITable sketch and it worked.

  • RichardBronosky / about 10 years ago / 1

    Does this use a .8mm thin PCB like the Pro Mini? https://www.sparkfun.com/products/11114

    • RichardBronosky / about 10 years ago / 1

      The board is measuring ~0.9mm according to my Harbor Freight calipers.

  • RichardBronosky / about 10 years ago / 1

    This posting needs some new photos with the inch/cm scale super imposed. BTW, it's 33mm x 18mm.

  • BobNKnob / about 10 years ago / 1

    My chip is really hot and all the lights are on when I plug in the board. The USB port on my computer says it the chip is pulling too much power. Can I reset my board?

    • M-Short / about 10 years ago / 1

      That does not sound like a software issue, but like a faulty board (probably a short of some kind). Email techsupport@sparkfun.com and they should be able to help you out.

  • Member #575333 / about 10 years ago / 1

    Why do you say that it works at 8MHz and in the schematic there is a 16MHz oscillator? Is there an error? If yes which one is wrong? Thank you

    • M-Short / about 10 years ago / 3

      Sorry, the 5V/16MHz and 3.3V/8MHz versions use the same PCB. The only differences are the voltage regulator and crystal (and a solder jumper). I'm not sure if we have 2 different schematics, but these are populated with a 3.3V regulator and 8MHz crystal.

      • Member #575333 / about 10 years ago / 1

        Thanks for the answer! Yes i noticed that, that's why I didn't know which one to choose between them because I need 3.3V and 16MHz... Isn't it possible? If I change the voltage regulator on the one that works at 5V, do you think i can make it work at 3.3V and 16MHz? Thank you

        • M-Short / about 10 years ago / 1

          With the ATMega32U4 that might actually be in spec, but even if not it should probably work fine. Don't forget, you can also just put 3.3V on the VCC pin.

          • Member #575333 / about 10 years ago / 1

            yes, but then if i connect the USB i get a short circuit, no?

            • M-Short / about 10 years ago / 1

              Even with them in stock configuration I don't recommend having a power source on VCC with the USB plugged in. Having 2 power sources on a board is never a good idea. But if they are both 3.3V its probably not going to hurt while programming (don't forget to open the solder jumper on the board as well).

  • Member #471059 / about 11 years ago / 1

    For the same sketch I get: Pro micro Binary sketch size: 34,750 bytes (of a 28,672 byte maximum)

    Arduino Uno Binary sketch size: 32,160 bytes (of a 32,256 byte maximum)

    Why is the sketch bigger and the sketch maximum smaller?

    • Member #471059 / about 11 years ago / 1

      Okay, so I've learned that the additional sketch size comes from the USB libraries that are needed for the Pro Micro and the smaller maximum sketch size is due to the boot loader.

      All this would have been nice to know before I purchased this board.

      • MikeGrusin / about 11 years ago / 1

        Thank you for the numbers, this will help others who are already pushing the limits of an Uno.

  • Member #19870 / about 11 years ago / 1

    Anyone know how to get the hardware files to work with the 1.5.6 IDE? In the release notes there is a new hardware file protocal / description. I can see the pro-micro in the 1.0.5 environment but NOT in 1.5.6. Looks like Sparkfun will need to provide updated hardware files for the new environment. This is my first time using this particualr board, I love it!! building a remote mounted altimeter using this chip, the BMP-180 and an xBee. Works great except I get the panic screen on my MAC more frequently with this chip that's why I want to switch over to the newer environment.

  • Kevin-O / about 11 years ago / 1

    It seems there's an error in boards.txt The Efuse bits should be 0xce not 0xfe

  • Kevin-O / about 11 years ago / 1

    I've been trying to verify that I can re-burn the bootloader (I have my reasons, muhaha..) and it doesn't work from arduino. I get a verification error. From the command line it works fine... any ideas folks?

  • Member #34440 / about 11 years ago / 1

    Following the instructions in the Hookup Guide Tutorial but so far no luck installing driver on Windows 7 64. Downloaded driver ZIP-file from https://github.com/sparkfun/SF32u4_boards. Device is detected properly as 'USB IO Board' in Device Manager but when I point the driver installation to the SF32u4_boards-master\driver directory I keep getting 'Windows was unable to install your USB IO Board... Windows could not find driver software for your device'. Anyone know what's up?

    • Member #34440 / about 11 years ago / 1

      Figured it out with help of this: https://forum.sparkfun.com/viewtopic.php?f=32&t=37026. Sparkfun should update their tutorial and driver (INF) files. The rest of the tutorial looks ok.. I can upload the sample program to the board and it works ok.

  • Member #531518 / about 11 years ago / 1

    Hi, I work with the Arduino Pro 3.3V "DEV-10914" and the FDTI basic 3.3V "DEV-09873." Today, I want to work with Pro Micro 3.3V "DEV-12587" or fio v3 "DEV-11520." How to flash my new board without the port USB converter 5V/3.3V ?

  • Member #492678 / about 11 years ago / 1

    Does anybody know if the Pro Micro can support a display? If yes, what kind of display and how? (what kind of connection and how to program it) I have attached the pro micro with a bluetooth serial port module in order to send some dummy readings to an android app via bluetooth and I would like to have these readings shown on a display as well. Thank you

  • DaveBaldwin / about 11 years ago / 1

    Has anyone run into problems using the EEPROMex library on these Pro Micro boards? I used that library flawlessly on an Arduino Uno, but I think using it bricked by Pro Micro 5V (I was able to recover it by reflashing the bootloader: https://learn.sparkfun.com/tutorials/installing-an-arduino-bootloader/uploading-code---easy-way), but I'm wary of trying again. Any ideas on how to easily use EEPROM memory would be fantastic! Thanks!

  • Member #369762 / about 11 years ago / 1

    after my initial prototyping with Pro Mini's, I bought a couple of Pro Micro units because it would eliminate the external power supply. following the instructions for the Addon files, i was able to program both units (one via a Mac, the other via Linux both with Arduino IDE 1.0.5) using an example from RF24 library to verify my wiring. the functioning setup was disconnected overnight and now neither board is recognized (i.e. the Mac and the Linux setup exhibit the same behavior). i'm stuck. this seems to be a known issue (e.g. http://mrgazz.com/blog/computers/computers-mainmenu-138/hardware-mainmenu-140/sparkfun-arduino-pro-micro-and-linux and https://forums.freebsd.org/viewtopic.php?&t=37505 and https://forum.sparkfun.com/viewtopic.php?f=32&t=37466). is there a documented solution to this?

    • Member #369762 / about 11 years ago / 1

      Update: Using windows 7 and arduino IDE 1.0.5 + the above addon files, I tried the recommended remedy for getting into bootloader mode and loading a sketch; i've not been able to get into bootloader mode (50+ tries).

      • Member #369762 / about 11 years ago / 1

        last update synopsis: i'm able to see/program the boards again, but i don't know why. long version: after unsuccessfully trying to get the IDE to see the board under windows via the bootloader mode reset x 2 sequence, i rebooted the mac into OS X and noticed that the serial port (/dev/tty.usbmodem1411) has reappeared. i was able to download the blinky test sketch into the board, switch to the second board and perform the same thing. i rebooted the linux and it was able to see the board again. my w-a-g is that there's an issue with the USB dialect that the board uses.

        • RocketMac / about 11 years ago / 1

          Did you ever determine the cause and resolution? I have MANY styles of 5v Arduinos that appear fine on my Mac. I have exactly two 3.3v devices and neither show up in the IDE, but this one (the DEV-12587) doesn't even show up in system information.

          When I first connected it, it showed up as a keyboard and I sent a modified blink code to it. Since then I can't see it in the IDE port list anymore. This is on two different computers (both running Mavericks, though).

          Would love to find a fix.

          • Member #524043 / about 11 years ago / 1

            I'm having the same problem. I was programming it one day and all of a sudden it stopped showing up in my Windows 7 Device Manager (regardless of the USB port I was using [I've had trouble using it on my USB 3.0 port]). When I do the "double tap" reset trick to get it into bootloader mode, my Windows 7 Device Manager flickers as if it were recognizing a new device, and the Arduino IDE see it on Port 9 for a few seconds. I haven't been able to successfully upload a sketch to the Arduino while doing this though. I wish we could find a fix.

  • Member #423561 / about 11 years ago / 1

    Could you please specify the quiescient current at poiwer down? Thank you

  • Member #516311 / about 11 years ago * / 1

    I've got a few of these, and was wondering if I could convert one of them to 5V by simply changing the Crystal to 16Mhz, soldering the jumper closed, and flashing with the Caterina_promicro16.hex bootloader?

  • Member #520799 / about 11 years ago / 1

    I developed HID keyboard using example source.

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

  • Member #105442 / about 11 years ago / 1

    This is a fantastic deal!

  • johnboiles / about 11 years ago / 1

    I'm looking at the schematic and it looks like there's either an error in the board or the schematic:

    The silkscreen on the board has pins on the bottom corner labeled 10, 16, 14, 15, A0, etc. The schematic shows those same pins as D10, MOSI, MISO, SCK, A0, etc. This is mostly ok as D16==MOSI and D14==SCK. However, D14 is not the same as MISO. According to the schematic, D14 is connected directly to the RX LED. Either the schematic or the silkscreen should be updated.

    • Member #318099 / about 10 years ago / 1

      and PB3(MISO) is Arduino pin D14.

      John in the original post is correct. The silk screen layer and resulting board are incorrect.

    • tim7 / about 11 years ago / 1

      I think the schematic is wired correctly, but labelled wrongly: PB0(SS) is Arduino pin D17, and PB3(MISO) is Arduino pin D14. The PCB is correct.

    • Kamiquasi / about 11 years ago / 1

      I agree that the confusing naming is, well, confusing. Basically you're thinking 'Pin 14 on the header, that must be the same as D14 in the schematic', while it's not. Gets even more fun when you try to figure out which pin number that would be on a various traditional arduino boards :)

  • What type of micro-USB connector are you using on this? It looks MUCH easier to solder than the ones I've been messing around with!

    • JoyMonkey / about 11 years ago / 1

      The easier to solder connectors are not necessarily a good thing. I've had several micro-USB connectors snap off of 5V Pro Micros while attaching a USB cable, lifting traces in the process and generally being a big pain to repair. Maybe the solder pads to the left and right of the connector should be made a little larger to give the connector a little more footing on the board.

      • M-Short / about 11 years ago / 1

        That's one of the reason for the change. The new boards have a new connector with a more secure footprint to help prevent that accidental removal.

Customer Reviews

3.6 out of 5

Based on 21 ratings:

Currently viewing all customer reviews.

1 of 1 found this helpful:

Pro Micro - 3.3V/8MHz

Fantastic board. Amazingly compact and powerful for its incredibility small size. Very low power requirements. 1 LiPo cell will power it.

1 of 1 found this helpful:

Small, solid arduino compatible

I used it to drive remote controls, connected to an Nrf24L01 and a couple of pots and buttons. Works very well and lasts a long time with a regular 9v battery.

1 of 2 found this helpful:

Great Idea but so so execution

I have only had it for a few weeks so I cannot give a long term evaluation opinion but a few things surface pretty quickly. Initial setup was a bit bumpy but the documentation on the website explains all and you only have to follow thoroughly. The unit is small, light, provides decent functionality. The main issues I have with the unit so far: The micro USB connector... what went wrong there ? This must be the crappiest connector available on the market. I don't even dare to remove the USB cable once it was plugged in. This connector will undoubtedly rip off the PCB after a few connects/disconnects. In expectation of that it would have been helpful to have the D+ and D- pins broken out so I can access them via header, but no. If this connector comes off it gets messy. Second.. What is the deal with those 5 pins that are not broken out and marked Not Used in the schematic ? I'd rather have access to those pins and have the PCB slightly larger than the way it is now. Timer 0 would be nice to use with two compare outputs (OC0A and OC0B or PB7 and PD0) but one of them is not broken out... Why ? It is still a nice unit but those two issues bother me already. So much for now.

Worked about 5 times

I initially bought the pro micro 3.3v which worked for about 5 uploads then lost connection. Ho Yun "Bobby" Chan, provided excellent support. He got me a refund and recommended the pro mini with FTDI board which worked great. Great support, give Bobby a raise!!

Sorry you had an issue with your Pro Micro. I'm glad Bobby could help you out. He's an awesome technician, and we appreciate his contributions to our Tech Support team. :) Thanks for the kind words.

Good, not great

Software set up and uploading was pretty straightforward, and it does its job well. - main issue is the flimsy micro USB connector, have to be extremely careful with it

Note for Ubuntu 14.04 users have to add some udev rules so that your OS doesn't mistake the Pro Micro for a GSM modem (https://forum.arduino.cc/index.php?topic=217910.0)

We've tried many different Micro USB connectors to try to resolve the risk of popping the jack off the board. Unfortunately this tiny connector can be very hard to keep stable with such little solder points and without being in a enclosure designed to support the jack. One tip is to carefully tack the jack down with some hot glue. This will at least help support the jack better.

Works great

I love the small form factor and native USB support. I've got mine acting as an I2C slave receiving commands from a Raspberry Pi.

Did not work

I received the board two weeks ago and it never worked. The board is not recognized at all. Sent an email Friday and still waiting to hear.

You ticket was received after Support was closed for the weekend. Someone will respond to your ticket as soon as possible.

My 5v one is great, the 3v3 never worked

I purchased this back in April 2015 and just finally opened it up (Oct 2015). I developed a small system around the 5v one with a regulator for my 3v3 components (all of them). So I finally have an application now where the 3v3 one is a better fit (just a SATCOM updating system with a venus chip and a dense sensor board). Anyway, I pulled it out, soldered on headers, and plugged it in (alone first) - it didn't even recognize. The power light shows but the serial port won't show up and I don't see any bad solders - note to self: try it before doing any soldering to at least know for the post mortem if I caused it or if it was DOA.

Probably my fault for waiting so long, and I am obviously long past being able to return/exchange it (totally valid). I'm sure the ones that work are great, I can attest to the 5v one being as awesome as most SF products are :)

EDIT: Looks like I left my settings on the 5v/16mhz one - so I'm pretty sure I caused it! Any one know how to reflash the bootloader on these?

Hi, Here's instructions on how to recover a bricked pro micro. https://learn.sparkfun.com/tutorials/pro-micro--fio-v3-hookup-guide/troubleshooting-and-faq#ts-revive

Best board there is

Compared to the more popular Arduino boards, this board is a perfect feature combination for battery-powered devices and for miniature devices. It runs on much less power giving a longer battery life, it accepts any voltage but it also accepts much lower voltage meaning fewer cells and more versatility. It's power regulator is efficient, and it outputs regulated-3.3v to power the other components (which typically results in even more total power savings), and this also eliminates the need for level conversion circuitry (because it seems like everything is 3.3v these days). It's significantly smaller than even the Arduino nano, and with the aforementioned fewer cells in the battery pack (due to that lower operating voltage), it allows either smaller batteries or greater capacity batteries. I also like the slimmer and more convenient/universal micro-USB connector, which works with standard phone cables.

The downside is that it seems the hardware serial RX TX pins share the USB serial, so when you are using the serial monitor to debug, you're going to prevent the hardware serial from functioning. That can be pretty inconvenient, but a small price for the advantages, and I've had no problems using a soft serial connection instead. The chip's on-board USB also causes my computer's detected com port number to change during the upload/reboot sequence, which can also be annoying - it often adds more mouseclicks to the process, though doesn't actually affect functionality in any way.

This is now my favorite board by far. If you're making something that wants to be battery-powered or tiny or both, this seems like the clear frontrunner.

Worst Arduino ever

This is the worst Arduino I have ever owned. It just makes your life miserable as you discover that the board does not program because the mini USB micro port disconnects the data lines every time it is touched. I bought two of these Pro Micros and the behavior is the same even with multiple USB cables.

The nail in the coffin is the driver. The serial port changes every time I program the board, so I have to re-select it each time. And this all happens when nothing is connected to the board.

Hmmm, that's not normal behavior all for these boards. If you're running a Mac with OS X, there may be some driver conflict there, but the data lines shouldn't be disconnecting whenever the port is touched. I would recommend getting in touch with out tech support team, they should be able to assist you with your issues pertaining to this board.

Great 3.3v controller board.

Using 10 of these for a handheld RFID inventory project (SPI interface to RFID chip and also USB serial to labview application). During programming the serial port disconnects from the driver then reconnects, sometimes causing my windows environment to change the port ID, a minor annoyance and only during programming. The MISO/MOSI/CLK/SS pins are different from other arduino IC variations but located same place on the pcb. To avoid damaging the micro USB connector we use a second USB chassis mounted jack on the handheld case we designed. Overall a good project board for inexpensive 3.3v peripherals.

perfect for tiny 3.3v peripherals

First, I'll admit I screwed up when I first went to use this. I "bricked" the first one by choosing the "pro mini" from the Arduino IDE setup. You really do need to follow Sparkfun's instructions and add the micro to the list. That said, Sparkfun's excellent troubleshooting allowed me to revive it after 20-30 tries (double reset is tricky). Using it as a battery powered I2C controller for a small radio module and it was a total piece of cake. Thanks!

Nice little thing :-)

It is also suiteable to be mounted on the surface of another pcb. No connectors needed. It also survived a second reflow cycle. We use it to control a vco. Project description is here : https://www.changpuak.ch/electronics/LNC-1.php

Sparkfun Pro Micro doesn't work with macOS Catalina

Since macOS Catalina was released all Sparkfun Pro Micros will not connect to Mac computers after the Catalina update. I bought two and now I can't program them. I could before. Unhelpful advice is to simply use a non-Catalina computer or buy a bootloader and re-program your Arduino, using esoteric commands through the Terminal. Or blame Apple. So, just a friendly "heads up!".

Good departure from buying a full Arduino

You may wish to build a system without committing a full Arduino board. This lets you get something you can put into different projects less expensively. Documentation is good too. The USB is quick to connect. It worked well for the 'Hackaday' Macro Keyboard.

Died the second time I programmed it.

First problem: The USB connector is USB micro rather than USB mini. I have a house full of USB mini cables but no Micro. Second problem: it stopped responding about the second time I programmed it. Bought a cheap knockoff of an Arduino Nano on Amazon and it's working flawlessly. Recommend skipping this one and choosing a different Arduino.

Bricked it!

Managed to brick mine. It won't download. Probably overwrote the boot loader.

Check out the troubleshooting section in the hook-up guide for instructions on how to recover the chip.

Great little board, but low on program space.

Everything worked perfectly, however, after adding the libraries and code for the keyboard and a few peripherals I was already at 95% program storage space.

Beware, 28K doesn't go as far as you think!

Works great in my Cube Sat Simulator

I'm using this Pro Micro 3.3v version in my AMSAT Cube Satellite Simulator payload board. It's the payload computer. It talks to the payload sensors and sends data to the main housekeeping computer, a Raspberry Pi Zero. It functions perfectly and I was able to locate the many libraries necessary to compile all the code. I used the Arduino IDE in Windows 11. Very low cost and it shipped immediately when I ordered.

0 of 1 found this helpful:

Incredible simple product

When I received it, I simply plugged it in and pulled out my iPhone. Using the official app I was able to simply connect to the device. Wonderful. Cannot wait to get making!

works perfectly

I haven't used it extensively, but this cheap little board worked like a charm for all the small projects I have used it for. It's tiny enough that you can embed it in any project, but it has enough broken out pins to to almost anything. Also the second hardware Serial proved to be really useful.