# AD/DA converter module, photoresistor, thermistor, PCF8591, I2C

- Page: https://sigmanortec.ro/en/ad-da-converter-module-photoresistor-thermistor-pcf8591-i2c
- Price: 14.17 RON
- Availability: In stock; 1-2 zile
- Reference: 9158 · EAN: 5946152242743
- Category: Mechatronics and IoT > Sensors and Modules > ADC and DAC Modules
- Package (shipping data): 0.009 kg
- Updated: 2026-09-14
- Shop: [Sigmanortec.ro](https://sigmanortec.ro/en/llms.txt)
- Prices: RON, VAT included; prices and stock as of 2026-10-22 02:22 (Europe/Bucharest)

## Description

Quickly expand analog measurement and control capabilities for Arduino and other boards using the PCF8591 over I2C. It offers 4 ADC inputs and 1 8-bit DAC output, includes jumper-enabled LDR, thermistor, and potentiometer, operates at 2.5-5V, and has a fixed I2C address of 0x48 for easy integration into projects.
This module uses the integrated PCF8591 (you can download the datasheet from the product page), compatible with Arduino and other development boards, useful when the development board has a limited number of ADC ports or does not meet the necessary specifications. The usefulness of the digital to analog signal conversion function should also be mentioned.
Analogue ADC input:
The 4 analog inputs are connected to pins AIN0-AIN3 , with reference single-ended to GND. The integrated PCF8591 also supports their use as differential input.
Single-ended:
Differential input:
It has an integrated photoresistor, potentiometer and thermistor that can be used independently and can be activated/deactivated by connecting the related jumpers:
J5: Connect LDR (photoresistor) to channel 0 ( AIN0 )
J4: Connect the thermistor to channel 1 ( AIN1 )
J6: Connect the potentiometer to channel 3 ( AIN3 )
Note: Channel 2 ( AIN2 ) has no alternative purpose so no jumper is required.
The module with I2C interface has 4 analog inputs and 1 analog output.
Photoresistor: The LDR sensor detects changes in light intensity. The decrease in light intensity has the effect of increasing the voltage on channel 0, the read value being a relative number.
Thermistor: The thermistor is actually a resistor that changes its resistance depending on the temperature. The decrease in temperature has the effect of increasing the voltage on channel 1.
Potentiometer: This is a 10k potentiometer, connected between VCC and GND, with a pin connected to channel 3. Turning it leads to a voltage variation between 0V and VCC (supply voltage). Clockwise rotation (CW) lowers the voltage on channel 3.
Analogue DAC output:
The analog DAC output pin is AOUT , which offers a resolution of 256 steps, 8 bits. For example, for VCC=5V, the step size is 5V/256=20mV.
The DAC output has a 1K resistor and an attached LED that allows visualization of the analog output signal. The presence of this LED still limits the output signal, not reaching the VCC value. If we have 5V on VCC, the maximum voltage on the analog output will be 4.2V. This problem can be solved in two ways. Supplying with a higher voltage (not more than the recommended maximum) or simply removing the LED.
DAC is also used internally by ADC inputs. If the DAC output is used, a track-and-hold circuit holds the value that was set on the output pin while the DAC circuit is being used by the ADC circuit.
I2C interface:
The I2C address of the module is fixed at 0x48. The integrated has 3 pins for addresses that are connected to GND, therefore not adjustable.
The module includes two 10K pull-up resistors on the I2C SLA and SDA pins.
Test Code:
Download the PCF8591.h library by Rob Tillaart from the Board Manager of the Arduino IDE, then use the code attached on the product page.
Specifications:
Supply voltage: 2.5 - 5VDC
Resolution: 8 bit
Communication: I2C, 8 addresses available
Analog inputs: 4
Sampling speed: 100KHz Max, limited by communication speed
