Arduino Pro: The Compact Powerhouse for Embedded Projects
A robust, 3.3V microcontroller board for advanced Arduino projects requiring a smaller footprint and higher operating voltage.
The Arduino Pro, released by Adafruit in collaboration with Arduino in 2008, was designed to bridge the gap between the popular Arduino Uno and more specialized development boards. It offered a more compact form factor and a 3.3V operating voltage, making it suitable for battery-powered applications and integration with 3.3V sensors and modules that were becoming increasingly common. This board aimed at users who had outgrown the basic capabilities of the Arduino Uno and were looking for a more powerful, flexible, and portable platform for their embedded projects.
At the heart of the Arduino Pro lies the ATmega168 microcontroller, a capable 8-bit AVR processor. While not as powerful as later 32-bit ARM-based microcontrollers, the ATmega168 provides a good balance of performance and power efficiency for many embedded tasks. It features 16KB of Flash memory for program storage, 1KB of SRAM for variables, and 512 bytes of EEPROM for non-volatile data storage. The 3.3V operating voltage is a key differentiator, allowing direct interfacing with many modern electronic components without the need for level shifters.
The Arduino Pro occupies a unique position in the Arduino family. It was smaller and ran at a higher voltage (3.3V) than the contemporary Arduino Uno (which ran at 5V), but offered similar core functionality with the ATmega168. It predated the widespread adoption of ARM-based boards like the Arduino Due or the powerful ESP32-based boards. Its strengths lie in its simplicity, the vast Arduino ecosystem of libraries and shields (with appropriate voltage considerations), and its suitability for projects where space and power consumption are critical, such as wearables, portable data loggers, or compact robotics.
This board is ideal for intermediate to advanced makers, students learning about embedded systems, and engineers who need a reliable, low-power platform for prototyping. Its 3.3V logic makes it particularly attractive for projects involving low-voltage sensors, Bluetooth modules, or other peripherals that operate natively at 3.3V. While it might lack the raw processing power of newer boards, its robust design and extensive community support ensure it remains a viable option for a wide range of applications.
Watch
Related video, embedded from YouTube.
Specifications
| Microcontroller / SoC | Atmel ATmega168 |
| Architecture | 8-bit AVR RISC |
| Clock speed | 16 MHz |
| Flash / Storage | 16 KB (of which 2 KB used by bootloader) |
| RAM / SRAM | 1 KB |
| Operating voltage | 3.3V |
| Digital I/O pins | 14 (of which 6 provide PWM output) |
| Analog / ADC | 6 (10-bit resolution) |
| PWM | 6 pins (3, 5, 6, 9, 10, 11) |
| Connectivity | โ |
| USB | None onboard (requires external FTDI adapter for programming) |
| Power input | 7-12V recommended via DC jack or Vin pin (onboard regulator provides 3.3V) |
| Dimensions | 45mm x 18mm |
Pinout & pin functions
| Pin | Function |
|---|---|
| GND | Ground |
| GND | Ground |
| 3.3V | Regulated 3.3V output |
| AREF | Analog Reference voltage |
| A0 | Analog Input 0 / Digital I/O 14 |
| A1 | Analog Input 1 / Digital I/O 15 |
| A2 | Analog Input 2 / Digital I/O 16 |
| A3 | Analog Input 3 / Digital I/O 17 |
| A4 | Analog Input 4 / SDA (I2C) |
| A5 | Analog Input 5 / SCL (I2C) |
| D2 | Digital I/O 2 |
| D3 | Digital I/O 3 / PWM |
| D4 | Digital I/O 4 |
| D5 | Digital I/O 5 / PWM |
| D6 | Digital I/O 6 / PWM |
| D7 | Digital I/O 7 |
| D8 | Digital I/O 8 |
| D9 | Digital I/O 9 / PWM |
| D10 | Digital I/O 10 / PWM / MOSI (SPI) |
| D11 | Digital I/O 11 / PWM / SCK (SPI) |
| D12 | Digital I/O 12 / MISO (SPI) |
| D13 | Digital I/O 13 / LED built-in |
| RX | Serial Receive (UART) |
| TX | Serial Transmit (UART) |
| RESET | Reset pin |
| Vin | External power input (7-12V recommended) |
Wiring & circuit basics
Powering the Arduino Pro requires careful attention to its 3.3V operating voltage and its power input specifications. The board features an onboard voltage regulator that can accept an input voltage between 7V and 12V through the Vin pin or the DC barrel jack (if equipped on certain versions). This input voltage is regulated down to 3.3V for the microcontroller and other components. It is crucial not to apply more than 3.3V directly to the 3.3V pin, as this can damage the microcontroller. For battery-powered applications, a regulated 3.3V supply can be connected to the 3.3V pin, but ensure it can supply sufficient current for the board and any connected peripherals.
When interfacing external components, always remember that the Arduino Pro operates at 3.3V logic levels. Connecting 5V devices directly to its digital input pins can cause damage. Conversely, connecting 3.3V output pins to 5V input pins might work if the 5V device has 3.3V tolerant inputs, but it's generally safer to use a logic level converter for bidirectional communication or to ensure compatibility. For example, to blink an LED, connect the anode of the LED to a digital pin (like D13), and the cathode to a current-limiting resistor (typically 220-330 ohms for standard LEDs), then connect the other end of the resistor to a GND pin.
For I2C communication, the Arduino Pro uses digital pins A4 for SDA (Serial Data) and A5 for SCL (Serial Clock). Connect these pins to the corresponding SDA and SCL pins on your I2C sensor. Remember to also connect the sensor's VCC pin to the Arduino Pro's 3.3V pin and its GND pin to a GND pin on the Arduino Pro. Ensure your I2C sensor is also a 3.3V device or use a logic level converter if it operates at 5V.
Programming & getting started
The Arduino Pro is programmed using the Arduino IDE, just like other Arduino boards. However, since it lacks an onboard USB-to-serial converter, you will need an external USB-to-TTL serial adapter (such as an FTDI adapter) to upload code. Connect the adapter's TX pin to the Arduino Pro's RX pin, the adapter's RX pin to the Arduino Pro's TX pin, the adapter's GND to the Arduino Pro's GND, and the adapter's 3.3V output (if available and needed for the adapter itself) to the Arduino Pro's 3.3V pin. In the Arduino IDE, select the correct board (e.g., 'Arduino Pro or Pro Mini' assuming ATmega168) and the corresponding serial port for your adapter. To upload, you may need to manually press the reset button on the Arduino Pro just as the IDE indicates it's compiling and uploading.
The first program to upload is typically the 'Blink' sketch. After setting up the board and port in the Arduino IDE, load the Blink sketch, modify the pin number if necessary (though D13 is usually connected to an onboard LED), and click the Upload button. Once uploaded, the onboard LED should start blinking. This confirms your programming setup is working correctly and you can begin developing more complex projects.