Skip to content

Sense Hat V2 Colour/Light intensity sensor fix #126

Open
@kal9001

Description

@kal9001

The Raspberry Pi Documentation for the V2 sense hat shows they use a different sensor to the Astro Pi. Instead of the TCS34725 it uses the TCS3400 which sits at a different i2c address and with different registers for it's data.

I've seen the statement that sense hats don't have the light sensor and this is why there is a warning all the time. But I can physically see it, it's on the silk screen, and the RPi docs show it. So dug deeper and was able to confirm the different part number. It's possible that others do physically have this sensor but it won't work with the drivers as they are.

I've been able to fix this on my own machine by editing the sense hat library with the correct registers, gain options, and sensor ID, all changes are wholly within the colour.py file and it now works fine as best as I can tell.

I don't know enough about github to be able to make a code change suggestion. Also my change does not allow models with the older chip to work at all. It seems more sensible to do some kind of check to scan for the old device on i2c addr 29, or the new one at 39, but the added annoyance is that the TSC3400 does not initialise itself with a name or driver in /sys/bus/i2c/ but does appear on an i2cdetect.

For anyone interested the file with the new parameters is below.
colour.py.txt

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions