Skip to main content
PartAndStock
Blog

What Is the PCF8591? I²C ADC + DAC Module and Uses

November 6, 2026 4 min read
Quick answer

The PCF8591 is an I²C converter holding both an ADC and a DAC on one chip: 4 channels of 8-bit analog input + 1 channel of 8-bit analog output. It is used for reading analog sensors and producing a simple analog output; it connects via SDA/SCL with a base address of 0x48. 8-bit is low resolution; for precision the ADS1115 is better.

The PCF8591 is an I²C converter that holds both an ADC and a DAC on one chip: 4 channels of 8-bit analog input (ADC) + 1 channel of 8-bit analog output (DAC). For the concepts, see what is an ADC and what is a DAC.

What is the PCF8591 used for?

Reading analog sensors (LDR, potentiometer, temperature) and producing a simple analog output. Being I²C it connects to an Arduino/ESP with just 2 wires (SDA/SCL); it adds channels to boards short on ADC inputs (the ESP8266 has only one).

Specifications

ParameterValue
ADC4 channels, 8-bit
DAC1 channel, 8-bit
InterfaceI²C (base address 0x48, set with A0-A2)
Supply2.5 – 6 V

Watch out

8-bit resolution is low (0–255 steps); for precise measurement the 16-bit ADS1115 is better. The DAC output is low-current (may need a buffer/op-amp). Sampling is slow; it is not suitable for audio/fast signals.

Equivalents

  • ADS1115: 16-bit, ADC only (more precise).
  • MCP3008: 8-channel 10-bit SPI ADC.
  • MCP4725: 12-bit I²C DAC (better output).

Find it in our catalog

Use the PCF8591 search.

Frequently Asked Questions

What is the PCF8591?+
The PCF8591 is an I²C converter that holds both an ADC and a DAC on one chip: 4 channels of 8-bit analog input + 1 channel of 8-bit analog output. It is used for reading analog sensors and producing a simple analog output.
How many bits is the PCF8591?+
Both the ADC and the DAC are 8-bit (0–255 steps). That is a low resolution; for precise reading the 16-bit ADS1115 is preferred, and for a better DAC the 12-bit MCP4725.
How is the PCF8591 connected?+
Over I²C: SDA and SCL (plus VCC, GND). The default address is based on 0x48; the A0-A2 pins let you set 8 different addresses.
What is an equivalent to the PCF8591?+
For a more precise ADC, the ADS1115 (16-bit); for many channels over SPI, the MCP3008 (8-channel 10-bit); for a better DAC, the MCP4725 (12-bit).