We detect you are using an unsupported browser. For the best experience, please visit the site using Chrome, Firefox, Safari, or Edge. X

As the most fundamental elements of every microcontroller (MCU), the Input/Output (I/O) pins serve as the device’s links to the outside world. Our PIC® and AVR® devices are designed to support industry-leading I/O controls and to provide innovative features that can take your products to the next level. 

Standard I/O Features

Tristate Control

Supported on PIC and AVR MCUs

Tristate control sets whether an I/O pin is a low-impedance output or a high-impedance, also called tri-stated, input. A pin that is tri-stated is an input that effectively turns off the output driver, making the pin an input. The ability to switch between the two modes of operation gives you choices in pin assignments. 

Analog or Digital Inputs

Supported on PIC and AVR MCUs

When using the I/O on an MCU, it is important to set whether an input is analog or digital. A digital input on a pin setup for analog functions may cause unexpected or incorrect behavior due to the way the MCU tries to read the value. Likewise, reading an analog value on a pin set up for digital logic may add noise and error to the signal.

Open Drain Output

Supported on PIC MCUs

Open-drain logic is a type of active-low digital logic that supports multiple devices asserting a shared line at the same time. This type of logic is commonly used to indicate an interrupt or that data is ready. PIC MCUs have built-in open-drain output support that eliminates the need for an external transistor to enable denser system integration.

Interrupt on Change (IOC)

Supported on PIC and AVR MCUs

The Interrupt-on-Change (IOC) function on the I/O pins generates an interrupt based on a change in logic level. IOC is useful as a trigger to read data from a sensor or to indicate that a button has been pressed by the user.

Weak Pull-ups

Supported on PIC and AVR MCUs

Normally, switches and buttons have a pull-up resistor that ensures that when the button is not pressed (in the open state), the digital level of the I/O is defined to be at a logic 1. A weak (very-high-valued) pull-up resistor inside the MCU can be used in the same manner. 

Schmitt Trigger

Supported on PIC and AVR MCUs

A Schmitt trigger is a type of digital input circuit that uses a positive-feedback threshold to determine whether a signal is a digital 1 or a digital 0. This can improve digital behavior with signals that bounce or that are temporarily at an undefined logic level.

Advanced I/O Features

Our MCUs are available with advanced I/O features to improve their usability in a variety of applications. Advanced features vary by device. Please check the device family data sheet for more information.

Multi-Voltage I/O (MVIO)

Multi-Voltage I/O (MVIO) allows the MCU to interface with digital inputs or outputs at a different operating voltage than the device. MVIO is designed to operate independently of both the core and auxiliary power supplies. If either supply loses power, then the MVIO pins are tri-stated.

Peripheral Pin Select (PPS)

Supported on PIC MCUs

Peripheral Pin Select (PPS) is an advanced feature that allows for rerouting of digital peripheral I/O from a default location to a developer-selected location on the device. PPS can be used to simplify PCB layouts or to resolve signal connection issues. The PPS registers can also be locked in place, preventing unwanted changes to the registers.


Supported on AVR MCUs

The PORTMUX feature allows an alternative pin assignment for many of the on-board peripherals, similar to PPS operates on PIC devices.

Virtual Ports

Supported on AVR MCUs

Virtual ports are mirrored copies of the PORT registers. Unlike the standard PORT registers, the virtual ports can be modified by bit manipulation instructions and can access a single bit in one cycle.

High Current I/O

Supported on PIC MCUs

High-current I/O allows the MCU’s I/O pins to sink or source up to 100 mA of current. Generally, the limit on MCUs is approximately 20 mA.

Slew Rate Control

Supported on PIC and AVR MCUs

The slew rate control registers offer the ability to increase the rise and fall time of a logic signal. Slowing the speed of the edges can reduce the electromagnetic interference generated by the sudden change in output. 

Input Threshold Control

Supported on PIC and AVR MCUs

Ordinarily, an MCU’s operating voltage determines the threshold levels required for proper reception of a digital signal. However, input threshold controls allow an MCU that is running at a higher voltage to correctly receive a lower-voltage digital signal.

Special I/O Pins



AVR devices feature an active-low RESET line which, when held low, will reset the MCU. An internal pull-up resistor is built into the MCU, eliminating the need for an external pull-up resistor in most cases. Please consult the device data sheet for more information on RESET.



PIC devices utilize an active-low master clear (MCLR) line to reset the MCU. MCLR is also required for programming and debugging. The MCLR line must have an external pull-up resistor to VDD. Please consult the device data sheet for more information on MCLR.

I2C Pins


Some of the I/O pins on PIC devices are special versions of standard I/O that have improved I2C or 2-wire bus performance. The enhancements on these pins include faster slew rates, stronger internal pull-ups and selectable thresholds for standardized I2C and SMBus interfaces.