Arduino Mini 05

The Arduino Mini is a very compact version of the Arduino Nano without an on-board USB to Serial connection

The Arduino Mini 05 board, with headers
The Arduino Mini 05 board, with headers

The Arduino Mini 05 is a small microcontroller board originally based on the ATmega168, but now supplied with the 328.(datasheet), intended for use on breadboards and when space is at a premium. It has 14 digital input/output pins (of which 6 can be used as PWM outputs), 8 analog inputs, and a 16 MHz crystal oscillator. It can be programmed with the USB Serial adapter or other USB or RS232 to TTL serial adapter.

The new Mini (revision 05) has a new package for the ATmega328, which enables all components to be on the top of the board. It also has an onboard reset button. The new version has the same pin configuration as revision 04.

Warning: Don't power the Arduino mini with more than 9 volts, or plug the power in backwards: you'll probably kill it.

You can find here your board warranty information.

Getting Started

In the Getting Started section, you can find all the information you need to configure your board, use the Arduino Software (IDE), and start to tinker with coding and electronics.

Need Help?

Documentation

OSH: Schematics

Arduino Mini is open-source hardware! You can build your own board using the following files:

ARDUINO MINI 05 ARDUINO MINI 04 ARDUINO MINI 03

EAGLE FILES MINI 05 GERBER FILES MINI 04 USB ADAPTOR ZIP FILES

Programming

The Arduino Mini can be programmed with the Arduino software (download). For details, see thereference and tutorials.

To program the Arduino Mini, you will need a USB Serial adapter or other USB or RS232 to TTL serial adapter. See the page on getting started with the Arduino Mini for instructions.

The ATmega328 on the Arduino Mini comes preburned with a bootloader that allows you to upload new code to it without the use of an in-system-programmer. The bootloader communicates using the original STK500 protocol (reference, C header files).

You can also bypass the bootloader and program the ATmega328 with ICSP (In-Circuit Serial Programming); see the page on bootloading the Mini for information on wiring up an ICSP header to the Mini and the programmer for instructions on using a programmer to upload a sketch.

Input and Output

Each of the 14 digital pins on the Mini can be used as an input or output. They operate at 5 volts. Each pin can provide or receive a maximum of 40 mA and has an internal pull-up resistor (disconnected by default) of 20-50 kOhms. Pins 3, 5, 6, 9, 10, and 11 can provide PWM output; for details see the analogWrite() function. If anything besides the Mini USB (or other) adapter is connected to pins 0 and 1, it will interfere with the USB communication, preventing new code from being uploaded or other communication with the computer.

The Mini has 8 analog inputs, each of which provide 10 bits of resolution (i.e. 1024 different values). Inputs 0 to 3 are broken out onto pins; input 4 to 7 require soldering into the provided holes. By default the analog inputs measure from ground to 5 volts, though is it possible to change the upper end of their range using the AREF pin and some low-level code.

See also the mapping between Arduino pins and ATmega168/328 ports.

Pinout

Note: the pinout changed from version 03 to version 04 of the Mini, please be sure you use the right diagram.

arduino mini pinout

Pin out of the Arduino Mini 03. (older versions are compatible, but missing theIO7 header at the top)

arduino mini04 pinout

Pin out of the Arduino Mini 04 and 05.(Note that the ground pin on the left has moved down one pin.)

Tech Specs

MicrocontrollerATmega328
Operating Voltage5V
Input Voltage7-9 V
Digital I/O Pins14 (of which 6 provide PWM output)
Analog Input Pins8 (of which 4 are broken out onto pins)
DC Current per I/O Pin40 mA
Flash Memory32 KB (of which 2 KB used by bootloader)
SRAM2 KB
EEPROM1 KB
Clock Speed16 MHz
Length30 mm
Width18 mm

Contribute to Arduino

Join the community and suggest improvements to this article via GitHub. Make sure to read out contribution policy before making your pull request.

Missing something?

Check out our store and get what you need to follow this tutorial.

Suggest Changes

The content on docs.arduino.cc is facilitated through a public GitHub repository. You can read more on how to contribute in the contribution policy.