Creative Commons images are CC BY-NC-SA 3.0

9.95

added to your
shopping cart

quantity
Out of stock Out of stock
9.95 1+ units
8.96 10+ units
7.96 100+ units

This product is produced in-house by SparkFun. We are currently planning to build 2160 units.

Incoming stock values are estimates, and subject to change without warning.

Notify Me

Description: It's blue! It's thin! It's the Arduino Pro Mini! SparkFun's minimal design approach to Arduino. This is a 3.3V Arduino running the 8MHz bootloader. Arduino Pro Mini does not come with connectors populated so that you can solder in any connector or wire with any orientation you need. We recommend first time Arduino users start with the Uno R3. It's a great board that will get you up and running quickly. The Arduino Pro series is meant for users that understand the limitations of system voltage (3.3V), lack of connectors, and USB off board.

We really wanted to minimize the cost of an Arduino. In order to accomplish this we used all SMD components, made it two layer, etc. This board connects directly to the FTDI Basic Breakout board and supports auto-reset. The Arduino Pro Mini also works with the FTDI cable but the FTDI cable does not bring out the DTR pin so the auto-reset feature will not work. 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.

The latest and greatest version of this board breaks out the ADC6 and ADC7 pins as well as adds footprints for optional I2C pull-up resistors! We also took the opportunity to slap it with the OSHW logo.

Can't decide which Arduino is right for you? Arduino buying guide!

Note: A portion of this sale is given back to Arduino LLC to help fund continued development of new tools and new IDE features.

Dimensions: 0.7x1.3" (18x33mm)

Features:

  • ATmega328 running at 8MHz with external resonator (0.5% tolerance)
  • Low-voltage board needs no interfacing circuitry to popular 3.3V devices and modules (GPS, accelerometers, sensors, etc)
  • 0.8mm Thin PCB
  • USB connection off board
  • Weighs less than 2 grams!
  • Supports auto-reset
  • 3.3V regulator
  • Max 150mA output
  • Over current protected
  • DC input 3.3V up to 12V
  • On board Power and Status LEDs
  • Analog Pins: 8
  • Digital I/Os: 14

Documents:

Replaces: DEV-09220

Comments 83 comments

  • Any chance of getting the board into the Sparkfun Library with the off-grid headers? I’m designing a PCB to mate with the arduino and it would be nice to have those available from the get-go.

    • agreed! Would be nice to have in the Sparkfun Library.

      • If anyone is interested I made an updated footprint to put in my library that includes all holes. It has NOT yet been tested as I’m waiting on the PCBs but the dimensions are taken directly from the eagle file given on this page.

        • Hi, I am looking for something similar. I am looking for a part which might consist of correctly spaced out female headers, to mate with the Arduino Pro Mini. If you could give me a link, that would be awesome.

  • Can I upload to the 3.3v mini using an uno R3 board? Would this work - take out the ATmega328 chip on the uno and connect BLK, GND, VCC, RXI, TXO, GRN (on Mini) to Ground, Ground, 3.3V, RX, TX, reset (on the uno) and then upload a sketch selecting the 3.3v mini board from tools in the Arduino IDE?

    • I meant to say when you plug in all those things respectively. Anyway, I tried it with the blink sketch and it seems to work.

  • Has anyone ever used an Arduino Pro Mini as a SMD on another board? Any advice?

  • My mistake … didn’t account for it being 8mhz instead of 16 mhz as I usually use!

  • Could one hook up one of SF’s small lipo batteries directly to this? Or would something else be needed or recommended?

    Thanks

  • Are the rx/tx lines 5V tolerant? I want to know if it is possible to program this with a 5V FTDI board, without needing to get an additional 3.3V FTDI just for this board.

  • Does the VCC pin output 3v3 when I put 12V to RAW pin ?

    [self-answer : yes it does.]

  • Has there been any talk of an Arduino Mega like this? A megamicro? I love the pro mini but my project uses a relay shield and an sd shield and a few buttons and switches so now I am out of pins for a LCD. 1st world problems.

    • We do have a version of it here but because of the number of pins, the layout is a bit bigger.

      • Oh! I saw that and it didn’t click in my tiny duke head. Layout size isn’t a problem, I just ran out of pins. Thanks!

  • Hello! I it possible to run 3.3V version with 1.8V on 1MHz ?

  • I was thinking: what if a board like the Pro Mini had a pinout that was compatible with one of the four headers of the Arduino shield form factor? For instance if one side of the board had digital I/O 8-13, GND, AREF, and SDA/SCL, in that order? Then if you were building a project around a standard Arduino shield (but didn’t want to use a standard Arduino) you could put a socket header on those 10 pins and plug the Arduino right into one corner of the shield (or just solder it to the shield, pin-to-pin), and then wire up the remaining pins by hand, or something…
    Something like that could be nice as a way to make Arduino projects more compact, while still using the same shield design.

  • I’m having trouble with floating inputs. No matter what I do I can’t get the analog inputs to stop floating. I’ve tried pull up/down resistors, that just resulted in 0 or 3.3v readings. I have 2 of these and they are both doing the same thing. I’ve tried battery, USB, and regulated wall worth power.

    • This is the sort of thing you see if nothing is connected to an input. What are you connecting, and is the connection solid?

  • I am wanting to use this to drive 14 LEDs. If I use an external 3.3v supply (COM-00526) could I do this? I know in the Arduino website it says max 40ma per I/O, this is fine, but I need to supply about 300ma in total. If i use the external supply connected to VCC would I fry the chip by pulling 20ma through 14 of the I/O pins? This is going inside an r/c car so I would prefer to not have an external transistor board. Also, all 14 LEDs need separate control.

    • would I fry the chip by pulling 20ma through 14 of the I/O pins

      That slightly depends. If you’re trying to source the current, yes. If you’re trying to sink it, then your pin selection matters. See pages 303 and 304 (the notes on page 304 detail how to calculate the maximum ratings based on pin selections) of the datasheet for ATmega328 for details.

      Your safest bet without a driver board would be to simply limit the current below 20mA. This does mean your LEDs will light up less brightly (source nice, bright LEDs if this is a concern). Another option is to only have a few LEDs on at the same time, turning them on/off as quickly as you can to make them appear to be on all the time, while reducing the current required. In this case you could also source the current. Note that if your program has an error and turns all LEDs on, you would have a problem :)

      Note that a driver board doesn’t have to take much extra space. Two Shift Register 8-Bit - 74HC595 will decrease current requirements from the Arduino as less pins are used, two Shift Register 8-Bit High-Power - TPIC6B595s could easily drive all 14 at the same time, and a single STP16C596 (suggested at the arduino site) would be practically an all-in-1 solution. There’s many other options, try googling for ‘16 channel led driver’. But, it’s not required as long as you can work within the confines mentioned above.

      • Thanks for the reply! I’m very much a noob with these, and the part about the shift registers has gone right over my head…. Is there a way you could explain that a little more? My plan is to have the Arduino turn LEDs on/off based on the signals it gets from the cars RX. I guess I’m failing to see how this works with the shift registers? The applications I am seeing with them is to turn a bank of lights on/off or cause them to blink. Not to have individual control of each LED.

        Also, looking at the ATmega328 data sheet I’m failing to see anything other than the already stated limit of 150ma. Perhaps this is my ignorance showing through..

        • My plan is to have the Arduino turn LEDs on/off based on the signals it gets from the cars RX

          Let’s say your signals dictate that you need LEDs 5, 6, 7 and 10 to be on. You would then push essentially serial data into the shift register to match that pattern (00001110010000: LEDs 1, 2, 3, 4 off, 5, 6, 7 on, 8, 9 off, 10 on, 11, 12, 13, 14 off).

          Now let’s say that, theoretically, you, can only have 2 LEDs on at the same time due to current restrictions in the shift register itself. No problem, you would create two patterns, and switch between them really fast so that it still appears as the desired pattern:
          00001100000000
          00000010010000

          Shift registers can generally, thankfully, handle more than just 2 LEDs,but either way your Arduino would only have to deal with a minute amount of current required to drive the shift register, rather than 2, 4 or even the full 14 LEDs.


          As far as the ATmega goes, check e.g. page 303 the first table (absolute maximum ratings): “DC Current VCC and GND Pins…………………………… 200.0mA” Let’s say you wanted all 14 LEDs on at 20mA at the same time, giving a total of 280mA. That’s more than the VCC pin is supposed to handle (in fact, while the maximum per pin current is 40mA, you’ll find further down that they prefer 10mA when VCC is 3.0V), so you can’t source that much current. But it’s less than the combined 400mA of the GND pins, so you could sink it. Page 304 then explains in the notes the specific calculations you should perform to see if you exceed the maximum current you can sink per section (e.g. “1] The sum of all IOL, for ports C0 - C5, ADC7, ADC6 should not exceed 100mA” - note that this is different from the 150mA for sourcing).


          But, again, as long as you’re okay with trusting the programming / the components not to fail, then you could easily drive the LEDs directly from this board by just keeping 1 or 2 on at a time :)

  • The getting started tutorial link is broken.

  • figured out my own problem.. it was that I used a cheap china made PCB.. i guess for me to make a real prototype i will have to spend some more money :(

  • Why exactly is this running at 8MHz instead of 16MHz? I would like to use this at 3.3V but want the extra speed. Is it because you’re worried about turning on too much I/O and dropping voltage too fast and throwing errors? I’m using this as a prototype, and am planning on building my own board, but wondering why you went with a 8MHz resonator. Thanks!

    • This is a limitation of the processor itself. If you read the very large datasheet for the ATmega 328, you’ll find an interesting graph in the back that shows the maximum safe clock speeds for various VCC voltages. At 5V, you can reliably run it at up to 20MHz. But at 3.3V, you can only reliably run it at up to ~10MHz. This is why we use different resonators for the different voltages. (And note that the slower you run a chip, the less power it uses, which is better for battery-powered circuits. You can even clock these chips down to 32KHz, which runs programs very very slowly, but uses miniscule amounts of power).

      • It’s not as bad as that I think, you should be able to get 12MHz comfortably.

        Section 29.3 (“Speed Grades”) of the ATmel datasheet “Atmel 8-bit Microcontroller with 4/8/16/32KBytes In-System Programmable Flash” states that the Maximum Frequency is linear across 2 intervals: between (1.8v=4MHz, 2.7v=10MHz) and between (2.7v=10MHz, 4.5v=20MHz).

        This means that 3.3v implies a Maximum Frequency of 13.33MHz.

        So I don’t see why we are not running at (say) 12MHz instead of 16MHz - apart from one having to do a relatively-straightforward patch to the NewSoftSerial library, as detailed here: http://wiblocks.luciani.org/docs/app-notes/software-serial.html. I run at 3.3v and 12MHz, using optiboot recompiled for that speed as the bootloader and everything works very well.

        Food for thought if you are looking for a new version? I know intrinsic support in Arduino IDE is a little smoother for 8MHz but getting 50% more cycles is not to be sniffed at.

  • I’ve seen it stated a bunch of places that using the wire library for Arduino enables internal pull-ups to 5V, and that you therefore shouldn’t use it with 3.3V components. See, e.g.: http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter and http://macdonaldm.blogspot.com/

    But if I’m using a 3.3V arduino pro mini, I would imagine that the internal pull ups would connect to 3.3V, and this should be a problem. I can’t find specifics about this anywhere though. Is this correct?

    • Correct - the internal pull-ups just pull the pin up to whatever is on the ATmega328’s power input line. If it pulled them up to 5V, that’d be quite interesting as it would mean it would have an internal boost circuit ;)

  • I’m not OPPOSED to buying an FTDI breakout board, but I am trying to figure out whether I can program this puppy with the usbtinyisp I already have.

    I’m able to use the usbtinyisp it to program my UNOs and Duemilanoves, but they both have headers that are clearly marked ICSP. This doesn’t, but I am hoping that I can rig up a simple cable or jumper set. I’m sure the schematics would tell me, but I’m not sure what I am looking for.

    Thoughts Anyone?

    • Check the schematic for the SPI pins. You’ll need to connect to those and will require some jumper wires, but you should be able to.

  • According to the schematic, there is an LED on pin 17. Yet in the example blinky, it uses pin 13, and yes the LED blinks. So is there a mapping or translation, or is the interpretation of 13 different/unclear/wrong/strange ?

    • The interpretation of 13 is different/unclear/strange. Welcome to Arduino :)

      What is referred to on the Arduino as ‘Pin 13’ actually maps to ‘Port B, Pin 5’ on the AVR, regardless of the chip’s pinout which can vary. For example, in the DIL/DIP version of the ATmega328 you can see that it maps to physical pin 19. On the TQFP version of the ATmega328, however, it maps to pin 17, which his what the schematic is referring to. ( And to yet another, pin 15, on the 28-pin MLF/QFN package. )

      • Thanks very much for the response. I surmised there was a mapping, what I couldnt find and what you kindly provided was the TQFP diagram detailing it. Much appreciated.

  • With the different USB hardware on this board, I am wondering if it can use the Keyboard library like the Leonardo? It’d be perfect as a low power - low volt, low clockrate - board for an IR detector.

  • I was looking at the schematic and wondering, why do we need both C3 and C10? Would C3 or C10 work? can anyone explain that to me?

    • The larger cap takes a bit of time to let go of its electrons, the lower value cap lets them go more quickly. More precisely: the capacitors have different resistance and inductance, the 0.1 uF is used to smooth out high frequency ripples, the 10 uF handles lower frequency ripples. On board layouts you will find the 0.1 very close to the IC that is causing the ripples, the 10uF is more likely close to the incoming power.

      • C3 and C10 are both 0.1uF. C13 is the 10uF cap. However, I think I can apply what you explained to C3. It is there to smooth out the high frequency ripples caused by the ATMEGA and would be positioned physically close to that IC. Is that correct? If you were designing a circuit would you typically use one of these capacitors per IC?

  • So maybe I need some help, for someone with a bigger brain or more experience with these. I’ve built a clock using both a Arduino Pro Mini 328 5v/16 MHz & Arduino Pro Mini 328 3.3v/8MHz. I’m using the “Time Library” on the 328 5v/16 it is very consistent, I loos about 10 seconds a day and can compensate for this in code or eventually at a RTC. I bought 328 3.3v/8 thinking less power needed, lower speed, more energy efficient. This will eventually be a watch. I just hooked up the 328 3.3v Within 15 minutes it has lost 7 minutes. I’m running the same code on both processors. What did I miss? Please help if you know what is going on.

    • Self Edit - Helps to select the right board from the tools menu or you take 2 seconds to move the internal time clock 1 second froward. Divide by 2 - Kicks self and moves on - Doh!

  • it weighs 1,53g no-headers and with 3.67g with headers

  • i got one of these today, very nice. ya know if you reverse the raw and gnd pads you wouldnt have to solder the jst connector on the bottom of the board upside down :)

  • Does the RX/tx operate at 3.3v? I.E. I wouldn’t need a logic level to connect to something like a raspberry pi.

    http://blog.oscarliang.net/raspberry-pi-and-arduino-connected-serial-gpio/

    • Yes, if you power the board through the RAW pin it goes through a 3.3V regulator and so the board runs at 3.3V with 3.3V I/Os. If you power the board through a VCC pin though the board will run at whatever you put into that pin, so be careful not to put 5V on that pin.

      • If I put 5v in RAW, the TX/RX lines aren’t voltage regulated? I want to avoid buying more boards (ie logic levels) or having a separate 3v battery source.

        • If you put 5V on the RAW pin the entire board runs on the regulated voltage. The ATMega328 is running at 3.3V, so all its I/Os (including TX/RX) run at 3.3V. The only place you will see 5V is on the RAW pin.

  • I’m not sure what I’m doing wrong. (n00b warning).

    I’ve got the following project working with my uno (http://blog.makezine.com/projects/make-34/the-dryer-messenger/) but when connecting the wall wart dc jack to the pro mini I keep blowing it up. I connect the positive from the jack to “raw”, then the negative to the ground on the mini board. I get a red light on the pro mini blinking fast and also the wall wart has a red light that begins to blink.

    I’m not sure what I"m doing wrong. but the board powers up fine with a FTDI friend.

    Thoughts?

    • wild guess, is the wall wart unfiltered dc? a single diode turns the power output off 60 times a second. if your volt meter reads less dc than the wall wart label and or your volt meter displays a significant voltage on the ac scale, that maybe the problem. try a capacitor on the wall wart output.

  • i am totally new to arduino, i need to connect a rf receiver and a transmitter to one of this boards, in the tutorial i got they use a duemilanova and on that board there is a 5v pin identified but i can’t find it in nano, any help?

  • Hello! Could anybody tell me what brown out level this board has? I was expecting 2.7V (extended_fuses=0x05 in boards.txt). But it seems something like 2 Volts (which could be 1.8V=>0x06 …) The pro mini 5v 16Mhz I got at the same time also fades out at 2 volts! Thanks

  • Can you power this with a usb connection?

    • Yes, but keep i mind that you’ll want to connect to the RAW pad, not VCC. If you’d like to just plug in a USB cable and also communicate with it, check out the Pro Micro - 3.3V/8MHz

  • One of my problems with this board is that the FTDI header is VCC instead of VRAW. Since VCC is 3.3v and FTDI is usually 5v, it leaves me always having to stick a wire in my FTDI cable’s VCC to connect it to VRAW instead of the ftdi header vcc on the board.

    Also, for some odd reason, twice my board has gone into infinite blink mode. I got it out once by following some instructions I found elsewhere that say to unplug the usb (ftdi cable), hold reset, and plug it back in, then upload and let go of reset when the TX starts. This worked once. Now a couple days later, my board is stuck in blink mode again and even this doesn’t work. Not only that but shortly after this happened, the ftdi cable I was using with it now no longer works. Anyone have any ideas how I can reset this thing?

  • Does this board have a resonator or crystal? The schematics suggest a crystal, but some sources say it has a ceramic resonator (but the original mini’s had a crystal resonator). There is a part on the board that looks like a very small crystal (probably a ceramic resonator), but is only marked “A4”. Many sources seem out of date.

    • it uses an smd crystal. “A4” is an analog input. Q1 is the crystal and is located adjacent to input 2 and GND. The small silver rectangle with the 08 on it.

      I’m trying to find this part, any reason sparkfun doesn’t carry it?

      • But it looks like 3 pin non standart layout. I couldn’t find these type of 8mhz smd crystal on digi or mouser.

        I just found a resonator ( with build in capacitor ) http://www.digikey.com/product-detail/en/CSTCE8M00G55-R0/490-1195-2-ND/584403 in digikey. Could anyone confirm that.

        Or any link for these smd part ?

        • this is the part: http://www.digikey.com/product-detail/en/CSTCE8M00G55-R0/490-1195-1-ND/584632

  • I tested SD file read/write with an UNO R3 and microSD. I want Final product to be this 3.3v mini and a standard SD card. The UNO is 5V/16Mhz and this is 3.3V/8MHz. Will the read/write times to the SD card be significantly slower at 8Mhz? (Is this the obvious answer: “The 8Mhz board will take twice as long as the 16Mhz to write to the SD card.”)?

    • Jut a follow up. I got the pro mini 3.3V 8Mhz connected to a standard SD card and it is still lightning fast on the SD Fat read/write. I have to write a lot of bytes to a binary file and use Seek a lot. I do see some hiccups when I write several hundreds of bytes and the cpu resets. Am I overflowing some pointer? Should I limit my writes to so many byte, close and reopen the file??

      • I suggest looking through the source code for the sdcard library. There are a huge amount of useful comments in there, and you may find constants for buffer sizes that you can either change (as long as you have the RAM available) or use the knowledge of those limits in your own code. Another tip, from experience, is pay attention to return values, which may be trying to warn you about such errors. Good luck!

  • Can i power this with a 3.7v battery connected on Vc directly,without regulator?

  • The description of the pro mini on the arduino website – http://www.arduino.cc/en/Main/ArduinoBoardProMini– states that an ATmega168 is used for the 3.3v version. Is this information incorrect? The image shown above indicates an ATmega328 is used, which matches the description of the product, but my concern is, if I order this pro mini, can I be guarnteed to recieve them with the 328? The application I intend to use them for requires the SRAM capacity of the 328. Thank you.

    • Yes you can. These boards are designed and built here at Sparkfun so our page is always going to be the most accurate. Arduino is just really bad at updating their page.

  • Great board!

    Can anyone confirm what the lowest current consumption should be on this board? The 328P datasheet suggests that I should be seeing under 1 uA with maximum power reduction in place, but the lowest I’ve been able to see is about 102 uA. And that’s with the LED1 removed from the PCB.

    The datasheet for the MIC5205 regulator shows a typical ground pin current of 80 uA at a load of 100 uA. With the 328P in full shut-down, it should be presenting a load of < 1 uA. There is no data in the sheet for loads that low, but I imagine the ground current would be at or below 80 uA. The enable pin has a typical draw of 5 uA.

    That’s a total of 85 uA typically for loads of 100 uA, so the total current for a < 1 uA load should be somewhat lower. Why am I seeing consistently 102 uA? Is this the best that I can expect?

  • Hello everyone! I have this chip, but i haven’t UART TTL decoder. Can you answer: Can I use this UART TTL converter that comes with APC-220 (http://www.goodluckbuy.com/apc220-wireless-communication-module-for-arduinousb-converter.html) for download sketches in this Arduino??? And if it possible, how i must connect it???

    • OK! Problem is missing! ) But now i have problem with 3.3v & 5V, because this UART TTL get 5v on Arduino, but my MPU-6050 must have 3,3v on board. How i can repair that problem???

  • @sparkfun can you attach a mini usb to this? Thanks, Nate

  • I saw a reverence elsewhere on your site that you have the programmed microcontroller available standalone I couldn’t find it. Do you still sell it?

  • I can program this board via a 3.3v FTDI without problem. However, I can’t get the serial monitor in the Arduino to work with this board! Don’t know why … just get junk like the serial rate, parity or something is incorrect. Tried multiple settings.

  • If this is used in an automotive setting where the voltage could potentially reach up to 14.5v, is this too far above tolerance levels? The Duemilanoves could handle up to 20v, but I’m hoping I can get away with the mini version, and I’m not seeing any data sheet for this design other than for the microcontroller itself, which is only tolerant of something like 5v.

    • Take a look at the thermal characteristic for that SOT23-5 package. You would need to drop from 14.5V to 3.3V and depending on your current, it is not advisable to do that.

  • a Ethernet shield for this would do me wonders. i mean i want to go small with the pro mini but then have to use the full sized shield to get internet use?

    two words: COME ON!

  • Sweet! The extra ADC pins and I2C pull-up pads are both welcome improvements to my favorite prototyping board. Thanks guys!

    • Also, here’s a picture of a neat little single-sided Pro Mini derivative I knocked out recently :-D

      • That’s awesome, and btw thanks for all your work that ultimately ended up on i2cdevlib in figuring out the DMP on the MPU6050! I actually want to make something similar (with some other stuff on it). Would you mind sharing a schematic/board? Also, is that PCB homemade?


Related Products