ADS1115 Sensor

Component/Hub

The ads1115 domain creates a global hub so that you can later create individual sensors using the ADS1115 Sensor Platform. To use this hub, first setup the I²C Bus and connect the sensor to the pins specified there.

../../_images/ads1115-full.jpg

ADS1115 16-Bit ADC.

ads1115:
  - address: 0x48

Configuration variables:

  • address (Required, int): The i²c address of the sensor. See I²C Addresses for more information.

  • continuous_mode (Optional, boolean): Set if the ADS1115 should continuously measure voltages or only measure them when an update is called. Please enable this for the CT Clamp Current Sensor integration. Defaults to off.

  • id (Optional, ID): Manually specify the ID for this ADS1115 Hub. Use this if you want to use multiple ADS1115 hubs at once.

I²C Addresses

In order to allow multiple sensors to be connected to the same i²c bus, the creators of this sensor hardware have included some options to change the i²c address.

  • If the address pin is pulled to GND, the address is 0x48 (Default).

  • If the address pin is pulled to VCC, the address is 0x49.

  • If the address pin is tied to SDA, the address is 0x4a.

  • If the address pin is tied to SCL, the address is 0x4B.

Sensor

The ads1115 sensor allows you to use your ADS1115 sigma-delta ADC sensors (datasheet, Adafruit) with ESPHome. First, setup an ADS1115 Hub for your ADS1115 sensor and then use this sensor platform to create individual sensors that will report the voltage to Home Assistant.

../../_images/ads1115-ui.png
ads1115:
  - address: 0x48
sensor:
  - platform: ads1115
    multiplexer: 'A0_GND'
    gain: 6.144
    name: "ADS1115 Channel A0-GND"

Configuration variables:

  • multiplexer (Required): The multiplexer channel of this sensor. Effectively means between which pins you want to measure voltage.

  • gain (Required, float): The gain of this sensor.

  • name (Required, string): The name for this sensor.

  • ads1115_id (Optional, ID): Manually specify the ID of the ADS1115 Hub you want to use this sensor.

  • update_interval (Optional, Time): The interval to check the sensor. Defaults to 60s.

  • id (Optional, ID): Manually specify the ID used for code generation.

Multiplexer and Gain

Note

As per (datasheet, Adafruit) Section 7.3 Note 2: “No more than VDD + 0.3V must be applied to the analog inputs of the device.” This means if you power the device with 3.3V, take care not to supply the 4 AIN pins with more than 3.6V.

The ADS1115 has a multiplexer that can be configured to measure voltage between several pin configurations. These are:

  • A0_A1 (between Pin 0 and Pin 1)

  • A0_A3 (between Pin 0 and Pin 3)

  • A1_A3 (between Pin 1 and Pin 3)

  • A2_A3 (between Pin 2 and Pin 3)

  • A0_GND (between Pin 0 and GND)

  • A1_GND (between Pin 1 and GND)

  • A2_GND (between Pin 2 and GND)

  • A3_GND (between Pin 3 and GND)

Additionally, the ADS1115 has a Programmable Gain Amplifier (PGA) that can help you measure voltages in different ranges, these are:

  • 6.144 (measures up to 6.144V)

  • 4.096 (measures up to 4.096V)

  • 2.048 (measures up to 2.048V)

  • 1.024 (measures up to 1.024V)

  • 0.512 (measures up to 0.512V)

  • 0.256 (measures up to 0.256V)

See Also