Arduino Pro Mini pinout: the Uno’s chip, with no USB
Beginner
Or see every lesson.
- 455parts on the bench
- 43boards running now
- 1.00xreal time, on every board
The Pro Mini is the Uno’s ATmega328P on a board 33 by 18 mm, with twelve holes down each side, four more inside, and a six-pin FTDI header on one end instead of a USB socket. It comes in two builds that share one pinout: 5 V at 16 MHz and 3.3 V at 8 MHz. This page lists every pin with its chip pin, then where A4 to A7 are, the FTDI header, RAW against VCC, the two builds, and which pin to use for what.
The circuit above is a 5 V Pro Mini in Mokxi running Blink on an LED on pin 13, the same program as a Nano. The table is read from the same board model the simulator runs, and where Mokxi does less than the board, the row says so.
Every pin, with its ATmega328P pin
With the FTDI header at the top, the left row reads TXO, RXI, RST, GND, then 2 to 9, and the right row reads RAW, GND, RST, VCC, A3 down to A0, then 13, 12, 11 and 10. TXO and RXI are pins 1 and 0. The two RST holes are one trace, and so are the two GNDs. The table ends with the four holes inside the board.
A4 to A7 are the odd ones. They are holes inside the two rows, in a spot that differs between makers, so go by the silkscreen, and on a breadboard they need a jumper of their own. Mokxi puts them on the board’s center line.
| Pin | Chip pin | What it can do | Watch out for |
|---|---|---|---|
| 1 | PD1 | TX: Serial, printed TXO. On the FTDI header too. | Leave it to the adapter if you want uploads. |
| 0 | PD0 | RX: Serial, printed RXI. On the FTDI header too. | Leave it to the adapter if you want uploads. |
| RESET | PC6 | Reset, printed RST: low restarts the chip. Two holes, one trace. | Not a GPIO. The FTDI header’s DTR resets it for an upload. |
| GND | - | Ground. Two holes, and one on the FTDI header. | - |
| 2 | PD2 | Digital. INT0: attachInterrupt. | - |
| 3 | PD3 | PWM. INT1: attachInterrupt. | - |
| 4 | PD4 | Digital. | - |
| 5 | PD5 | PWM. | - |
| 6 | PD6 | PWM. | - |
| 7 | PD7 | Digital. | - |
| 8 | PB0 | Digital. | - |
| 9 | PB1 | PWM. | The Servo library takes timer 1, which drives 9 and 10. |
| RAW | - | Power in for the regulator, up to 12 V. | Not a GPIO. Mokxi ignores it; VCC is always on. |
| VCC | - | The regulated supply: 5 V or 3.3 V, the board’s own voltage. | Not a GPIO. Regulated power only. |
| A3 | PC3 | Analog in. Digital 17. | - |
| A2 | PC2 | Analog in. Digital 16. | - |
| A1 | PC1 | Analog in. Digital 15. | - |
| A0 | PC0 | Analog in. Digital 14. | - |
| 13 | PB5 | Digital. The LED, lit when HIGH. SPI SCK (default). | An SPI module’s clock flickers the LED. |
| 12 | PB4 | Digital. SPI MISO (default). | - |
| 11 | PB3 | PWM. SPI MOSI (default). | - |
| 10 | PB2 | PWM. SPI SS (default). | Keep it an output while SPI runs. |
| A4 | PC4 | Analog in. I2C SDA (default). Digital 18. | Inside the board: reach it with a jumper. |
| A5 | PC5 | Analog in. I2C SCL (default). Digital 19. | Inside the board: reach it with a jumper. |
| A6 | ADC6 | Analog input only: analogRead(A6). | No digital function and no pull-up. |
| A7 | ADC7 | Analog input only: analogRead(A7). | No digital function and no pull-up. |
RAW against VCC, and the two builds
RAW is the input to the board’s regulator, and Arduino gives it up to 12 V: a battery pack or an unregulated supply goes there. VCC is the regulated side, 5 V or 3.3 V as the board is built, and you can power the board there instead with a regulated supply of the right voltage. A voltage that is not regulated goes on RAW, never on VCC. Each pin is good for about 20 mA, and the ATmega328P’s absolute maximum is 40 mA per pin and 200 mA for the whole chip. In Mokxi RAW is ignored and VCC is an ideal rail at the board’s own voltage, so a circuit that would brown a real Pro Mini out runs cleanly here.
The 3.3 V board runs at 8 MHz because the chip is not rated for 16 MHz at 3.3 V. Its pins drive 3.3 V and analogRead counts against 3.3 V. Build for the wrong one and a sketch runs at half or double speed. The sketch below printed "F_CPU 16000000, SDA 18, SCL 19, A6 20, A7 21, LED_BUILTIN 13" on the 5 V board and "F_CPU 8000000" first on the 3.3 V one, where the pins are the same.
void show(const char *name, long value) {
Serial.print(name);
Serial.print(' ');
Serial.println(value);
}
void setup() {
Serial.begin(9600);
show("F_CPU", F_CPU);
show("SDA", SDA);
show("SCL", SCL);
show("A6", A6);
show("A7", A7);
show("LED_BUILTIN", LED_BUILTIN);
}
void loop() {
}The FTDI header and uploading
There is no USB on a Pro Mini. The six-pin header on the end takes a USB-serial adapter or an FTDI cable, and carries GND, VCC, RXI, TXO and DTR, which resets the chip so an upload can start. The order is printed beside the holes, and the adapter goes on with its TX to the board’s RXI and its RX to TXO. Match the adapter to the board: a 5 V adapter on a 3.3 V Pro Mini puts 5 V on its pins.
Mokxi does not model the header or the adapter. Serial reaches the serial monitor directly, pins 0 and 1 stay plain GPIO, and a program is loaded by pressing Run.
I2C, SPI, PWM and the analog pins
Wire.begin() puts I2C on A4 for SDA and A5 for SCL, the inner holes, so an I2C module needs two jumpers to the middle of the board. SPI is 13, 12, 11 and 10 for SCK, MISO, MOSI and SS. PWM is on 3, 5, 6, 9, 10 and 11, as on an Uno, from the same three timers. attachInterrupt works on 2 and 3.
A0 to A7 read ten bits against VCC. A6 and A7 are analog only: they have no digital buffer, so digitalRead and INPUT_PULLUP do nothing on them, here and on the board. The one LED on a pin is on 13 and lights when the pin is HIGH; the other is the power light.
Which pin should I use for what?
Most Pro Mini projects run from a battery, so plan the pins around that: the battery on RAW, the sensors on VCC, and nothing on 0 and 1 that would fight the adapter when you plug it in to change the sketch. A button: 2 or 3 with an interrupt, or 4, 7 or 8 with INPUT_PULLUP. An LED to dim: 3, 5, 6, 9, 10 or 11. An analog sensor: A0 to A3 on the edge, or A6 and A7. An I2C module: A4 and A5. An SPI module: 10 to 13. A battery: RAW. Leave 0 and 1 to the FTDI header.
Questions
Where are A4 and A5 on a Pro Mini?
Inside the two rows, not on the edge, with A6 and A7 beside them. Their exact spot differs between makers, so go by the silkscreen.
What are the Pro Mini SDA and SCL pins?
A4 is SDA and A5 is SCL, as on an Uno and a Nano.
Should I power a Pro Mini on RAW or VCC?
RAW for anything unregulated, up to 12 V, such as a battery pack. VCC only for a regulated supply at the board’s own voltage.
How do I tell a 3.3 V Pro Mini from a 5 V one?
The crystal or resonator says 8 MHz or 16 MHz, and most boards mark the voltage on the back. Build for the right one, or the timing is off by two.
Which FTDI pins go where on a Pro Mini?
GND to GND, VCC to VCC, the adapter’s TX to RXI, its RX to TXO, and DTR to DTR, so the board resets for an upload.
Can A6 and A7 be digital pins?
No. They are analog inputs only, on the Pro Mini and the Nano alike.
Keep going
Where the facts on this page come from
Build this for real
Open the editor, change a value and watch the number move with it. Nothing to install, and no account needed.