CircuitPython module for the TSL2591 precision light sensor. See examples/ for a demo of the usage.

  • Author(s): Tony DiCola

Implementation Notes


Software and Dependencies:

adafruit_tsl2591.GAIN_HIGH = 32

High gain (428x)

adafruit_tsl2591.GAIN_LOW = 0

Low gain (1x)

adafruit_tsl2591.GAIN_MAX = 48

Max gain (9876x)

adafruit_tsl2591.GAIN_MED = 16

Medium gain (25x)

adafruit_tsl2591.INTEGRATIONTIME_100MS = 0

100 millis

adafruit_tsl2591.INTEGRATIONTIME_200MS = 1

200 millis

adafruit_tsl2591.INTEGRATIONTIME_300MS = 2

300 millis

adafruit_tsl2591.INTEGRATIONTIME_400MS = 3

400 millis

adafruit_tsl2591.INTEGRATIONTIME_500MS = 4

500 millis

adafruit_tsl2591.INTEGRATIONTIME_600MS = 5

600 millis

class adafruit_tsl2591.TSL2591(i2c, address=41)[source]

TSL2591 high precision light sensor. :param busio.I2C i2c: The I2C bus connected to the sensor :param int address: The I2C address of the sensor. If not specified the sensor default will be used.


Disable the device and go into low power mode.


Put the device in a fully powered enabled mode.


Read the full spectrum (IR + visible) light and return its value as a 32-bit unsigned number.


Get and set the gain of the sensor. Can be a value of:

  • GAIN_LOW (1x)
  • GAIN_MED (25x)
  • GAIN_HIGH (428x)
  • GAIN_MAX (9876x)

Read the infrared light and return its value as a 16-bit unsigned number.


Get and set the integration time of the sensor. Can be a value of:

  • INTEGRATIONTIME_100MS (100 millis)
  • INTEGRATIONTIME_200MS (200 millis)
  • INTEGRATIONTIME_300MS (300 millis)
  • INTEGRATIONTIME_400MS (400 millis)
  • INTEGRATIONTIME_500MS (500 millis)
  • INTEGRATIONTIME_600MS (600 millis)

Read the sensor and calculate a lux value from both its infrared and visible light channels.


Read the raw luminosity from the sensor (both IR + visible and IR only channels) and return a 2-tuple of those values. The first value is IR + visible luminosity (channel 0) and the second is the IR only (channel 1). Both values are 16-bit unsigned numbers (0-65535).


Read the visible light and return its value as a 32-bit unsigned number.