What Is the PCF8591? I²C ADC + DAC Module and Uses
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
| Parameter | Value |
|---|---|
| ADC | 4 channels, 8-bit |
| DAC | 1 channel, 8-bit |
| Interface | I²C (base address 0x48, set with A0-A2) |
| Supply | 2.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.