Pololu
Arduino Uno DIP Edition
This is the DIP-package version of the classic Uno, built around the ATmega328 microcontroller. It brings out 20 digital input/output lines, including PWM-ca...
Get notified when back in stock
This is the DIP-package version of the classic Uno, built around the ATmega328 microcontroller. It brings out 20 digital input/output lines, including PWM-capable pins and analogue inputs, and includes the essentials on board: a 16 MHz resonator, USB connection, power jack, ICSP header and reset button.
The removable dual-inline-package AVR can be taken out of its socket, which is the main difference from the functionally identical SMD edition. This older Uno revision has since been replaced by the Arduino Uno R3, but it remains a familiar platform for learning embedded electronics and building shield-based projects.
Connect it to a computer over USB to program it with the Arduino software, or power it from a suitable AC-to-DC adaptor or battery. The ATmega8U2 handles USB-to-serial conversion, and the ATmega328 comes with a preburned bootloader so you can upload sketches without an external programmer.
The Uno ecosystem includes a large support community, extensive software libraries and a wide range of hardware add-on shields for wireless, robotics, sensing and introductory electronics projects.
Features:
- Removable AVR: Uses a removable dual-inline-package (DIP) ATmega328 microcontroller.
- SMD edition compatibility: A functionally identical SMD edition is available; the only difference is the microcontroller package.
- Digital I/O: 20 digital input/output pins are available.
- PWM: 6 digital pins can be used as PWM outputs.
- Analogue inputs: 6 pins can be used as analogue inputs.
- On-board essentials: Includes a 16 MHz resonator, USB connection, power jack, ICSP header and reset button.
- USB-to-serial: Uses an ATmega8U2 programmed as a USB-to-serial converter instead of an FTDI USB-to-serial driver chip.
- Reprogrammable USB interface: The ATmega8U2 has its own USB bootloader for advanced users who want to reprogram it.
- Arduino ecosystem: Supported by Arduino libraries, tutorials, community resources and hardware add-on shields.
- USB power: Can be powered via the USB connection.
- External power: Can be powered from an AC-to-DC adaptor or battery.
- VIN: Provides access to the input voltage when the board is using an external power source, and can also be used to supply voltage.
- 5V: Provides the regulated power supply used to power the microcontroller and other board components.
- 3V3: Provides a 3.3 volt supply generated by the on-board regulator.
- GND: Ground pins are provided on the power connector.
- Serial: Digital pins 0 (RX) and 1 (TX) are used for TTL serial receive and transmit.
- External interrupts: Digital pins 2 and 3 can trigger interrupts on a low value, rising or falling edge, or change in value.
- PWM pins: Pins 3, 5, 6, 9, 10 and 11 provide 8-bit PWM output with analogWrite().
- SPI: Pins 10 (SS), 11 (MOSI), 12 (MISO) and 13 (SCK) support SPI communication using the SPI library.
- Built-in LED: Digital pin 13 is connected to an on-board LED.
- I2C: Analogue pins 4 (SDA) and 5 (SCL) support I2C (TWI) communication using the Wire library.
- AREF: Provides a reference voltage input for the analogue inputs.
- Reset: The reset line can be brought LOW to reset the microcontroller, useful for shields that block the on-board reset button.
- Virtual COM port: USB serial appears as a virtual COM port to computer software.
- Serial monitor: The Arduino software includes a serial monitor for sending simple text data to and from the board.
- RX/TX indicators: RX and TX LEDs flash when data is transmitted via the USB-to-serial chip and USB connection.
- SoftwareSerial: A SoftwareSerial library allows serial communication on any of the Uno’s digital pins.
- Wire library: The Arduino software includes the Wire library to simplify use of the I2C bus.
- SPI library: SPI communication is supported through the SPI library.
- Arduino IDE programming: Programmed with the Arduino software by selecting Arduino Uno from the Tools > Board menu.
- Preburned bootloader: Upload new code without using an external hardware programmer.
- ICSP programming: The bootloader can be bypassed by programming through the ICSP header.
- DFU firmware loading: The ATmega8U2 DFU bootloader can be activated for loading new firmware.
- Automatic reset: Software on a connected computer can reset the board before uploading code.
- Reset enable trace: The RESET-EN trace can be cut to disable auto-reset and soldered together to re-enable it.
- USB overcurrent protection: A resettable polyfuse helps protect the computer’s USB ports from shorts and overcurrent.
- Mounting: Four screw holes allow the board to be attached to a surface or case.
Specifications:
- Microcontroller: ATmega328
- Operating voltage: 5 V
- Input voltage (recommended): 7-12 V
- Digital I/O pins: 20 (of which 6 provide PWM output)
- Analog input pins: 6*
- DC current per I/O pin: 40 mA
- DC current for 3.3V pin: 50 mA
- Flash memory: 32 KB (ATmega328) of which 0.5 KB used by bootloader
- SRAM: 2 KB (ATmega328)
- EEPROM: 1 KB (ATmega328)
- Clock speed: 16 MHz
- Analog input note: The Arduino Uno has 20 total available I/O lines; all of them can function as digital I/O lines, and six of them can be used as analog inputs.
- USB-to-serial converter: ATmega8U2
- External supply operating range: 6 to 20 volts
- External supply below recommended range: If supplied with less than 7 V, the 5V pin may supply less than five volts and the board may be unstable.
- External supply above recommended range: If using more than 12 V, the voltage regulator may overheat and damage the board.
- Recommended external supply range: 7 to 12 volts
- Power jack plug: 2.1mm center-positive plug
- 3V3 supply: A 3.3 volt supply generated by the on-board regulator.
- 3V3 maximum current draw: 50 mA
- ATmega328 memory: 32 KB (with 0.5 KB used for the bootloader)
- ATmega328 SRAM: 2 KB
- ATmega328 EEPROM: 1 KB
- Digital pin operating voltage: 5 volts
- Maximum current per digital pin: 40 mA
- Internal pull-up resistor: 20-50 kΩ
- Serial pins: 0 (RX) and 1 (TX)
- External interrupt pins: 2 and 3
- PWM pins: 3, 5, 6, 9, 10, and 11
- SPI pins: 10 (SS), 11 (MOSI), 12 (MISO), 13 (SCK)
- Built-in LED pin: 13
- Analog input labels: A0 through A5
- Analog input resolution: 10 bits of resolution (i.e. 1024 different values)
- Default analog measurement range: ground to 5 volts
- I2C pins: 4 (SDA) and 5 (SCL)
- UART TTL serial voltage: 5 V
- Bootloader protocol: original STK500 protocol
- Automatic reset capacitor: 100-nanofarad capacitor
- Auto-reset disable resistor option: 110Ω resistor from 5V to the reset line
- USB overcurrent protection threshold: If more than 500 mA is applied to the USB port, the fuse will automatically break the connection until the short or overload is removed.
- Maximum PCB length: 2.7 inches
- Maximum PCB width: 2.1 inches
- Connector overhang: The USB connector and power jack extend beyond the maximum length dimension.
- Mounting holes: Four screw holes
- Digital pin 7 to 8 spacing: 160 mil (0.16")
- Other pin spacing: 100 mil
- EAGLE files: Arduino Uno reference design (207k zip)
- Schematic: Arduino Uno schematic (34k pdf)
A good fit for Arduino learning, prototyping, shield-based builds and projects where a removable DIP ATmega328 is useful.
Jargon buster
Plain-language definitions for the technical terms used above.
- AVR
- AVR is a family of 8-bit microcontrollers (made by Microchip, formerly Atmel) used in many classic Arduino-style boards such as the Uno and Nano. They are widely supported but older, which can be a limit for memory- or speed-intensive tasks.
- Bootloader
- Small starter software on a microcontroller that lets new code be uploaded before the main program runs. Knowing how to enter bootloader mode matters when you need to program the board or recover it after a faulty sketch.
- COM port
- A COM port is how a computer (chiefly under Windows) presents a serial port to software, whether a physical RS-232 port or a virtual port created when a USB-to-serial device is plugged in. Software can then communicate with the connected device over serial using a terminal or configuration program.
- DC
- DC means direct current, where electricity flows in one constant direction, as supplied by batteries, USB ports and many plug-pack power supplies. When a product specifies DC, it runs from a DC supply rather than mains AC, so you need to provide the correct voltage and polarity.
- DFU
- Device Firmware Update is a mode that lets you load new firmware onto a board over USB. It matters when recovering a board or installing firmware without using a separate programmer.
- EEPROM
- A type of non-volatile memory that keeps stored data even when power is turned off. In a sensor module, it can be used to store settings or calibration data so they do not need to be re-entered every time.
- Flash memory
- Flash memory is non-volatile memory that retains stored data even when power is removed, and can be erased and rewritten in blocks. It lets data such as firmware, settings or saved records persist across power cycles.
- GND
- GND is the ground or reference connection (0 V) for a circuit. When connecting two devices together, their grounds must be joined so both agree on what counts as a low or high signal.
- I2C
- I2C is a two-wire communication bus used by many sensors and small modules. It matters because several I2C devices can share the same two wires, but each device needs a compatible address and your controller must support I2C.
- IDE
- Short for Integrated Development Environment, a program used to write, run and manage code. It matters because some learners prefer a traditional coding workspace instead of a guided notebook-style lesson.
- LED
- A light-emitting diode (LED) is a small electronic component that emits light when current flows through it in the correct direction. Because it only conducts one way, its polarity matters, and a through-hole LED must be soldered the correct way around to light up.
- microcontroller
- A microcontroller is a small computer on a single chip that runs a stored program and controls connected inputs and outputs such as buttons, sensors, displays and communication interfaces. In a device built around one, it is the part that executes the code and coordinates the device's behaviour.
- PCB
- A printed circuit board (PCB) is a board, usually rigid, with etched copper tracks that connect electronic components together without loose wiring. Components are mounted on the board and signals route between them through the copper layout.
- PWM
- Pulse Width Modulation is a way for a digital pin to simulate variable output power by switching on and off very quickly. It matters for controlling things like LED brightness, motor speed, or servo-style signals from a microcontroller pin.
- RX
- RX means receive, usually showing data being received by the board. An RX indicator LED can help with troubleshooting USB or serial communication.
- SCL
- The clock line used by the I2C bus to keep data transfers timed between a controller and connected devices. When wiring I2C, SCL must be connected to the SCL pin on every device sharing the bus.
- SDA
- The data line used by the I2C bus to carry information between a controller and connected devices. When wiring I2C, SDA must be connected to the SDA pin on every device sharing the bus.
- Shield
- An add-on board that plugs into a main controller board to give it extra features such as sensing, motor control or communication. Knowing a product supports shields helps you judge whether it can connect neatly into an existing maker-board setup.
- SMD
- SMD means surface-mount device, a component style designed to be soldered directly onto the surface of a circuit board rather than through holes. SMD parts are compact and mounted flat on the board, which suits smaller and mass-produced designs.
- SPI
- A fast serial communication bus often used for displays, memory cards, and sensors. It matters because SPI devices need specific pins for clock and data, plus a separate chip-select line for each device.
- SRAM
- Fast temporary memory used by a processor while a program is running. More SRAM helps with projects that handle larger data buffers, networking, displays, or more complex code.
- TTL serial
- A simple serial data connection that uses microcontroller logic-level voltages (typically 3.3 V or 5 V) rather than the higher, inverted voltages of computer RS-232. When a device lists TTL serial, it can usually wire straight to a microcontroller's UART pins or to a USB-to-TTL serial adapter, but it needs a level converter before connecting to a true RS-232 port.
- TX
- TX means transmit, usually showing data being sent from the board. A TX indicator LED can help you see when the board is communicating or uploading code.
- UART
- UART is a simple asynchronous serial interface that sends data over separate transmit and receive wires, usually labelled TX and RX, with both ends set to the same baud rate. It is a common way for microcontrollers and other serial devices to exchange data.
Related Tutorials
Free step-by-step guides