Arduino Pro Mini Pinout and Specification

Arduino Pro Mini Pinout

The Arduino Pro Mini is a tiny board based on the ATmega328P operating at 16 MHz. It has 32 Kbytes of Flash, 2 Kbytes of SRAM and 1 Kbytes EEPROM.

Arduino Pro Mini Pinout includes 14 digital I/O pins, 6 analog inputs and 6 PWMs. It supports TWI (I2C), SPI, UART and 10-bit ADC.

The board is available in two versions: 5V and 3.3V (with 8 MHz clock). As shown in Arduino Pro Mini Pinout, it doesn't have any port. This means that an external USB to serial adapter is needed to program it.

Platform

ManufacturerArduino
ProcessorATmega328P
Processor FamilyAVR
Clock Speed16 Mhz (8 Mhz on 3.3 V version)
Flash Memory32 KB
SRAM2 KB
EEPROM1 KB

I/O

Digital I/O14
Analog Input6
PWM6
ADC Resolution1024
Interrupts2

Power

Input Voltage5-12 V (3.3-12 V on 3.3 V version)
I/O Voltage5 V or 3.3 V (depending on the model)
I/O Current40 mA

Communication Protocols

I2C1x
SPI1x
UART1x

Peripherals

Timer2x 8 bit
1x 16 bit
Watchdog Timer1

Dimensions

Width17.5 mm
Length33 m

Arduino Pro Mini Pin Headers and Components  

The Arduino Pro Mini is a compact, breadboard-friendly microcontroller based on the ATmega328P microcontroller. Unlike many other Arduino boards, the Pro Mini lacks onboard USB functionality, giving it a low-profile design suited for embedded applications. Here are the key physical components and pin headers visible on the board:

Dimensions

The board measures 51mm x 21mm.

Arduino Pro Mini Dimensions17.5 mm33 mm

Microcontroller (ATmega328P)

At the core of the Arduino Pro Mini is the ATmega328P, an 8-bit microcontroller that operates at either 5V (16 MHz model) or 3.3V (8 MHz model). This microcontroller manages all processing and control operations on the board.

Arduino Pro Mini Microcontroller

Digital Input/Output Pins

The board includes 14 digital I/O pins which can be configured as either input or output. Each pin can provide or receive a maximum of 40 mA of current, suitable for driving LEDs or reading signals from switches. Six of these pins support PWM, often used for controlling motor speed, LED brightness, and simulating analog outputs.

Analog Input Pins

The Pro Mini has eight analog input pins labeled A0 to A7. These pins allow for reading analog signals with a resolution of 10 bits (values ranging from 0 to 1023). Common uses for these pins include reading data from temperature sensors, potentiometers, and light sensors.

Arduino Pro Mini Analog Pins

Reset Button

Located on the surface of the board, the reset button allows the user to reset the microcontroller. This action stops any current program and restarts the board, which is especially helpful during debugging or code upload.

Arduino Pro Mini Reset Button

Programming Header

The Arduino Pro Mini does not include onboard USB connectivity, so programming requires an external USB-to-serial adapter. The 6-pin header (labeled GND, VCC, RXI, TXO, DTR, and another GND) allows users to connect an external FTDI or CP2102 module to upload code from the Arduino IDE.

Arduino Pro Mini Programming Header

LEDs

The board has one programmable LED and a power LED

  • Power LED (Labeled "ON"): Stays on as long as the board is powered (obviously)
  • Builtin LED: It's connected to the D13 pin. It can be toggled on or off by setting that pin to HIGH/LOW correspondingly.

Arduino Pro Mini LEDs

The minimal layout of the Arduino Pro Mini gives it flexibility and makes it ideal for space-constrained projects. The pin headers offer essential connectivity, while the absence of onboard USB and other larger components maintains its compact, low-power design.

Powering Arduino Pro Mini  

The Arduino Pro Mini offers versatile power options, making it adaptable to different project requirements. Here are the primary ways to power the Arduino Pro Mini:

RAW/VIN Pin

The RAW pin is an unregulated power input designed to accept higher voltages and route them through an onboard voltage regulator to output a stable voltage to the microcontroller and other components.

Arduino Pro Mini RAW/VIN Pin

VCC Pin

The VCC pin is a regulated voltage input and output, depending on the source. When connected to an external 3.3V or 5V supply, the VCC pin provides stable power to the microcontroller, bypassing the onboard regulator.

Arduino Pro Mini VCC Pin

FTDI USB-to-Serial Adapter

The Arduino Pro Mini lacks an onboard USB port, but it can be powered and programmed via an external FTDI or USB-to-serial adapter. The VCC line powers the board at 5V or 3.3V when connected to a USB adapter, depending on the adapter and Pro Mini version.


Arduino Pro Mini Pinout and Peripherals  

The Arduino Pro Mini, powered by the ATmega328P microcontroller, includes several built-in peripherals, enabling it to interface with various sensors, actuators, and communication modules. Here is a breakdown of the key peripherals available:

Digital Input/Output (I/O) Pins

The Arduino Pro Mini pinout includes 14 digital I/O pins that can be configured as either input or output in the Arduino IDE, making them suitable for reading digital signals (like switches).

ADC (Analog-to-Digital Converter)

The six analog input pins are connected to the 10-bit ADC, translating analog signals into digital values ranging from 0 to 1023. These are typically used for interfacing with analog sensors, like temperature sensors or potentiometers.

Timers

There are three timers on Arduino Pro Mini that are used to count intervals or generate PWM signals. Timer0 and Timer2 are 8-bit timers, while Timer1 is a 16-bit timer. They enable various functions, including time tracking, delays, and waveform generation for PWM output.

Serial Communication (UART)

The single UART (Universal Asynchronous Receiver-Transmitter) interface allows serial communication between the Pro Mini and other devices, such as a computer or another microcontroller. This is typically used for programming the Pro Mini through a USB-to-serial adapter and for sending data to other serial devices.

I2C (Inter-Integrated Circuit)

The I2C interface is a 2-wire communication protocol commonly used for connecting multiple sensors or peripherals using only two pins: SDA (data line) and SCL (clock line). It is widely supported and allows the Pro Mini to communicate with devices like temperature sensors, displays, and EEPROMs.

SPI (Serial Peripheral Interface)

The Arduino Pro Mini has one SPI interface that can be used for connecting devices like SD cards, certain displays, and RF modules.

Watchdog Timer

The watchdog timer is a safety feature that resets the microcontroller if it becomes unresponsive. It is particularly useful in autonomous applications to ensure the microcontroller recovers from unexpected errors.

External Interrupts

As shown in the Arduino Pro Mini pinout, there are two pins that support the external interrupt. This allows the microcontroller to immediately respond to specific events, such as a button press or signal change from an external sensor, without waiting for the main program loop.

These built-in peripherals make the Arduino Pro Mini capable of handling a variety of embedded applications, from sensor monitoring to actuator control, with easy interfacing for communication and timing functionalities.

Programming Arduino Pro Mini  

Programming the Arduino Pro Mini is slightly different from other Arduino boards because it lacks a built-in USB interface. The Pro Mini is typically connected to the computer through a USB-to-Serial adapter, such as an FTDI module, CP2102, or CH340G, to handle data transmission between the computer and board. There are several accessible methods to program this board, using standard Arduino tools and programming languages. Here are the main options:

  • Arduino IDE: The Arduino Integrated Development Environment (IDE) is the most common tool for programming the Pro Mini. It supports C/C++ and is available for Windows, macOS, and Linux. With a user-friendly interface, it provides easy access to a library of code examples, debugging features, and an extensive set of libraries.
  • PlatformIO: The PlatformIO is a versatile, open-source IDE that supports multiple microcontroller platforms, including Arduino. It provides advanced tools for debugging, version control, and dependency management, ideal for more complex projects.
  • Atmel Studio: Another popular IDE for programming the ATmega328P microcontroller is Atmel Studio. This is a proprietary software that is developed by Atmel, the company that manufactures the microcontroller. It provides advanced features like debugging, programming, and device programming.
  • AVRDUDE: The AVRDUDE is a command-line tool that can be used to program the ATmega328P microcontroller. It supports a wide range of programming methods, including JTAG, ISP, and PDI. It is especially useful for advanced users who are comfortable working with command-line interfaces.
  • AVR Studio: AVR Studio is a proprietary software that is developed by Atmel, the company that manufactures the microcontroller. It provides advanced features like debugging, programming, and device programming.

These programming methods make the Arduino Pro Mini a versatile microcontroller board that’s adaptable to different levels of programming needs, from basic Arduino IDE use to advanced embedded C/C++ programming.


Arduino Pro Mini FAQ
  • What is the purpose of the AREF pin?

The AREF pin provides a reference voltage for the analog inputs, which can improve analog reading accuracy.

  • Can I power the Pro Mini directly from a battery?

Yes, through the RAW pin with a voltage between 6V–12V, or with a regulated voltage via the VCC pin.

  • How much current can the digital pins handle?

Each digital pin can source or sink up to 40 mA, but it’s recommended to keep it below 20 mA for safety.

  • How do I switch between 3.3V and 5V logic?

You can’t. The board is fixed at either 3.3V or 5V, so select the version that fits your needs.

  • Does the Pro Mini have a built-in voltage regulator?

Yes, it has a basic regulator on the RAW pin, which stabilizes input voltages to a safe level.

  • Does the Arduino Pro Mini have onboard USB?

No, it lacks onboard USB, so an external USB-to-Serial adapter is required for programming.

  • What is the maximum analog voltage the Pro Mini can read?

For the 5V version, the max analog read voltage is 5V; for the 3.3V version, it’s 3.3V.

  • Can I use software serial communication on the Pro Mini?

Yes, SoftwareSerial allows additional serial ports for devices that require UART communication.

  • What is the difference between the 5V and 3.3V versions of the Pro Mini?

The 5V version runs at 16 MHz, while the 3.3V version operates at 8 MHz, making it compatible with different voltage requirements.

  • Can I use an ISP programmer with the Pro Mini?

Yes, an ISP programmer like USBasp, but as ISP pins are not exposed as ICSP headers (like many other Arduino boards), you should wire the pins from the programmer to the ISP pins on the board for direct AVR programming.

  • What’s the easiest way to power external devices?

Use the VCC pin, which provides regulated power based on the board version (3.3V or 5V).

  • How do I reset the Pro Mini during programming?

Connect the DTR pin from the USB adapter to the Pro Mini’s DTR pin, which resets it automatically during code uploads. In some boards it may be needed to press the reset pin manually when doing the upload.