“Out of the box this is a versatile I2C IO expander but it can also be reprogrammed using Arduino. I used it with a Velleman 8-Channel relay board to make an I2C controlled switch. It can also drive a single string of neopixels which is useful for platforms without accurate timing such as Raspberry Pi. Would be great keyboard controller if they added switch matrix support which I may try myself when I work out how to reprogram it in Arduino.”