

The Arduino Micro Pro is a compact and versatile microcontroller board designed by Arduino, based on the ATmega32U4 microcontroller. It features built-in USB connectivity, making it ideal for projects requiring direct communication with a computer. With its small form factor, the Arduino Micro Pro is perfect for embedded systems, wearable devices, and other space-constrained applications.








The following table outlines the key technical details of the Arduino Micro Pro:
| Specification | Details |
|---|---|
| Microcontroller | ATmega32U4 |
| Operating Voltage | 5V |
| Input Voltage (recommended) | 7-12V |
| Input Voltage (limit) | 6-20V |
| Digital I/O Pins | 20 (7 PWM outputs) |
| Analog Input Pins | 12 |
| DC Current per I/O Pin | 20 mA |
| Flash Memory | 32 KB (4 KB used by bootloader) |
| SRAM | 2.5 KB |
| EEPROM | 1 KB |
| Clock Speed | 16 MHz |
| USB Connectivity | Native USB |
| Dimensions | 33 mm x 18 mm |
The Arduino Micro Pro has 24 pins, including power, digital I/O, and analog input pins. Below is a detailed pinout description:
| Pin | Type | Description |
|---|---|---|
| VIN | Power Input | Input voltage to the board when using an external power source (7-12V recommended). |
| GND | Ground | Ground connection. |
| 5V | Power Output | Regulated 5V output from the board. |
| RAW | Power Input | Unregulated input voltage (6-20V). |
| A0-A11 | Analog Input | 12 analog input pins (10-bit resolution). |
| D0-D13 | Digital I/O | 14 digital pins, 7 of which support PWM output. |
| TX/RX | Serial I/O | UART communication pins (TX = transmit, RX = receive). |
| SDA | I2C Data | Data line for I2C communication. |
| SCL | I2C Clock | Clock line for I2C communication. |
| RST | Reset | Resets the microcontroller. |
Powering the Board:
Programming the Board:
Connecting Components:
The following example demonstrates how to blink an LED connected to pin 13 of the Arduino Micro Pro:
// This example code blinks an LED connected to pin 13 of the Arduino Micro Pro.
// The LED will turn on for 1 second and off for 1 second in a loop.
void setup() {
pinMode(13, OUTPUT); // Set pin 13 as an output pin
}
void loop() {
digitalWrite(13, HIGH); // Turn the LED on
delay(1000); // Wait for 1 second
digitalWrite(13, LOW); // Turn the LED off
delay(1000); // Wait for 1 second
}
The following example reads data from a sensor connected to analog pin A0 and prints the value to the Serial Monitor:
// This example reads an analog value from pin A0 and prints it to the Serial Monitor.
void setup() {
Serial.begin(9600); // Initialize serial communication at 9600 baud
}
void loop() {
int sensorValue = analogRead(A0); // Read the analog value from pin A0
Serial.println(sensorValue); // Print the value to the Serial Monitor
delay(500); // Wait for 500 milliseconds
}
The board is not recognized by the computer:
Unable to upload code to the board:
The board is not powering on:
Erratic behavior or unexpected resets:
Q: Can the Arduino Micro Pro act as a USB keyboard or mouse?
A: Yes, the ATmega32U4 microcontroller supports USB HID functionality, allowing the board to emulate a keyboard, mouse, or other USB devices.
Q: What is the difference between the Arduino Micro Pro and the Arduino Leonardo?
A: Both boards use the ATmega32U4 microcontroller, but the Micro Pro is smaller and more compact, making it suitable for space-constrained projects.
Q: Can I power the board with a 3.7V LiPo battery?
A: No, the recommended input voltage is 7-12V via the VIN pin. For lower voltages, use a step-up converter to meet the required input voltage.
Q: How do I reset the board manually?
A: Press the reset button on the board to restart the microcontroller. This is useful for troubleshooting or entering the bootloader mode.