MakerLab
ArduinoArduino Pro Mini

Arduino Pro Mini: The Tiny Powerhouse for Embedded Projects

A compact and versatile microcontroller board based on the ATmega328P, ideal for projects where size and power efficiency are critical.

Arduino Pro Mini

The Arduino Pro Mini is a small form-factor microcontroller board developed by SparkFun Electronics in collaboration with Arduino. Released around 2008, it was designed to be a cost-effective and compact solution for embedded applications that didn't require the USB-to-serial converter found on larger Arduino boards like the Uno. Its small size makes it perfect for integration into custom enclosures and portable devices.

At the heart of the Arduino Pro Mini is the Atmel ATmega328P microcontroller. This 8-bit AVR RISC architecture microcontroller offers a good balance of processing power, memory, and peripheral capabilities for a wide range of embedded tasks. It features 32KB of Flash memory for program storage, 2KB of SRAM for data, and 1KB of EEPROM for persistent configuration data. The ATmega328P operates at either 3.3V or 5V, with the Pro Mini typically available in both variants.

The Pro Mini occupies a niche between the larger, more beginner-friendly Arduino boards and more powerful, complex microcontrollers. It's suited for makers, students, and engineers who need a reliable and small platform for projects that are either space-constrained or require a low power footprint. Its lack of onboard USB-to-serial conversion means it requires an external programmer (like an FTDI adapter) but also contributes to its smaller size and lower cost.

This board is an excellent choice for projects such as wearable electronics, compact sensor nodes, remote control systems, and custom automation devices. Its simplicity, combined with the vast Arduino ecosystem of libraries and community support, makes it accessible even for those new to embedded systems, while its capabilities satisfy more experienced engineers looking for a dependable, small-footprint solution.

Watch

Related video, embedded from YouTube.

Specifications

Microcontroller / SoCAtmel ATmega328P
Architecture8-bit AVR RISC
Clock speed16 MHz (for 5V version), 8 MHz (for 3.3V version)
Flash / Storage32 KB (2 KB used by bootloader)
RAM / SRAM2 KB
EEPROM1 KB
Operating voltage3.3V or 5V (board variant specific)
Digital I/O pins14
Analog / ADC8 (6 usable as digital pins)
PWM6 pins (digital pins 3, 5, 6, 9, 10, 11)
ConnectivityICSP header for ISP programming, I2C, SPI
USBNone onboard (requires external programmer)
Power inputExternal 3.3V or 5V regulated supply, or via VIN pin (with onboard regulator on some variants)
DimensionsApproximately 18mm x 33mm

Pinout & pin functions

PinFunction
GNDGround
RAW / VINExternal power input (connect to voltage regulator output or battery)
VCC / 3.3V / 5VRegulated power output (3.3V or 5V depending on board variant)
RSTReset pin (active low)
D0 (RX)Serial Receive (UART RX)
D1 (TX)Serial Transmit (UART TX)
D2Digital I/O
D3Digital I/O, PWM
D4Digital I/O
D5Digital I/O, PWM
D6Digital I/O, PWM
D7Digital I/O
D8Digital I/O
D9Digital I/O, PWM
D10 (SS)Digital I/O, PWM, SPI Slave Select
D11 (MOSI)Digital I/O, PWM, SPI Master Out Slave In
D12 (MISO)Digital I/O, SPI Master In Slave Out
D13 (SCK)Digital I/O, SPI Serial Clock
A0Analog Input, Digital I/O
A1Analog Input, Digital I/O
A2Analog Input, Digital I/O
A3Analog Input, Digital I/O
A4 (SDA)Analog Input, Digital I/O, I2C Data
A5 (SCL)Analog Input, Digital I/O, I2C Clock
AREFAnalog Reference pin
GNDGround

Wiring & circuit basics

Powering the Arduino Pro Mini requires careful attention to its operating voltage (3.3V or 5V) and the power input method. If your Pro Mini is a 5V variant, you can typically power it with a regulated 5V supply connected to the VCC pin or via the RAW/VIN pin if the board has an onboard 3.3V regulator (check your specific board's documentation). For 3.3V variants, use a regulated 3.3V supply. Avoid applying voltages higher than the board's rated operating voltage directly to the VCC pin, as this can damage the ATmega328P. The RAW/VIN pin can often accept a higher voltage (e.g., 7-12V) which is then regulated down by an onboard regulator to the board's operating voltage, but this is not present on all Pro Mini variants.

Logic levels are crucial when interfacing external components. A 5V Pro Mini operates at 5V logic, while a 3.3V Pro Mini uses 3.3V logic. Ensure that any sensors or modules you connect are compatible with these logic levels. For example, connecting a 5V sensor to a 3.3V Pro Mini might require a logic level shifter to prevent damage. Conversely, connecting a 3.3V sensor to a 5V Pro Mini might result in unreliable readings if the sensor's output voltage is too low for the Pro Mini's input threshold.

A basic example is lighting an LED. Connect the anode (longer leg) of an LED to a digital pin (e.g., D9) on the Pro Mini. Connect the cathode (shorter leg) of the LED through a current-limiting resistor (typically 220-330 ohms for a 5V system, slightly lower for 3.3V) to a GND pin. When you set D9 as an output and HIGH, the LED will turn on. For an I2C sensor like a BME280, connect its VCC to the Pro Mini's VCC (3.3V or 5V), its GND to a GND pin, its SDA pin to the Pro Mini's SDA (A4), and its SCL pin to the Pro Mini's SCL (A5).

Programming & getting started

The most common way to program the Arduino Pro Mini is using the Arduino IDE. Because it lacks an onboard USB-to-serial converter, you will need an external USB-to-TTL serial adapter, such as an FTDI adapter or a CH340-based module. Connect the adapter's TX pin to the Pro Mini's RX (D0) pin, the adapter's RX pin to the Pro Mini's TX (D1) pin, the adapter's GND to a GND pin on the Pro Mini, and the adapter's VCC to the Pro Mini's VCC (ensure voltage compatibility, usually 5V for programming 5V boards). Select the correct board (Arduino Pro or Pro Mini) and processor (ATmega328P) in the Arduino IDE, choose the correct serial port for your adapter, and upload your sketch.

To upload your first program (e.g., the Blink sketch), open the Arduino IDE, select the Pro Mini board and the correct COM port for your FTDI adapter. Paste the Blink code, modify the LED_BUILTIN pin if necessary (the Pro Mini doesn't have a built-in LED connected to a standard pin, so you'll typically use a digital pin like D9), and click the Upload button. You may need to press the reset button on the Pro Mini just before or as the IDE indicates it's compiling or uploading to synchronize the upload process.

Project ideas

Wearable LED DisplayCreate a small, custom LED matrix display for text or simple animations. Uses digital I/O pins for LEDs and potentially I2C for a small controller module. Learns about multiplexing, power management, and compact circuit design.
Remote Weather StationBuild a compact sensor node to measure temperature, humidity, and pressure. Utilizes analog inputs for sensors (or I2C/SPI for digital sensors) and possibly a low-power radio module (like nRF24L01) for data transmission. Teaches sensor interfacing and wireless communication.
Smart Garden MonitorDevelop a system to monitor soil moisture and ambient light levels. Connects to soil moisture sensors (analog input) and photoresistors (analog input). Can be powered by a battery and programmed for low-power sleep cycles. Focuses on analog reading, power saving, and environmental sensing.
Custom Game ControllerDesign a unique handheld controller for a PC or another microcontroller. Uses various digital pins for buttons, analog pins for joysticks or potentiometers, and potentially SPI for a display. Explores input handling, debouncing, and custom hardware interfaces.
Automated Pet FeederConstruct a device that dispenses pet food at scheduled times. Requires a servo motor controlled by a PWM pin, a real-time clock (RTC) module (I2C), and a button for manual feeding. Teaches motor control, time-based scheduling, and user interaction.
Tiny Data LoggerLog sensor data to an SD card. Uses SPI pins to interface with an SD card module and analog or digital pins for various sensors. Focuses on file system management, data storage, and efficient data collection in a small form factor.

Buying tips & gotchas

When purchasing an Arduino Pro Mini, be aware of the two main voltage variants: 3.3V and 5V. Ensure you select the one that matches your project's power requirements and the logic levels of your other components. Also, be mindful of clones and variants; while many are functional, they may differ slightly in pin labeling or onboard components. You will absolutely need an external USB-to-serial adapter (FTDI or CH340 based) to program the board, as it lacks onboard USB. Accessories like small breadboards, Dupont wires, and headers are essential for prototyping. Consider using a small enclosure or 3D printing a custom case to protect the board and integrate it neatly into your project.