I2C on RPi

I recently built an access-control-system, which makes it possible to open our local hack(er)space without a physical key. The core of the system is a Raspberry Pi v2 running Debian. Connected to the RPi’s GPIOs is a big status switch, which is used to announce the hackspace status (open / closed). More recently it got a couple of MCP23017 I²C port expanders with a couple of bell buttons, a number keypad, door openers, reed switches and other door control related stuff. Read more →


Our hackerspace’s access-control-system (for unlocking the door) uses a few mcp23017 port expanders for input/output handling of different sensors and actors. When I started working on this, the mcp23s08 driver (which also supports the mcp23017) was not yet enabled in Debian’s arm build. I requested it to be enabled in Debian Bug #845064, which got recently fixed by Ben Hutchings. As a quick hack to solve the problem I took the driver and ripped it out of the kernel, so that I can build it externally. Read more →