Device Tree Overlays

In my local hackerspace I maintain a Raspberry Pi based system with some hardware extensions (mainly I2C devices). It’s running with Debian’s kernel and a patched device tree for the additional hardware components. This is the ideal candidate for DT overlays, so that I can use the DT blob provided by Debian and automatically apply the custom changes in top. With DT overlays from configfs still not being available I thought about giving the U-Boot “fdt apply” command added by Maxime Ripard from Free Electrons a chance. Read more →

I2C on RPi

Back in January I wrote about the Raspberry Pi’s I2C module having problems with a specific I2C feature: clock stretching. The planned workaround was using a NXP SC18IS600, since Cypress CP2120 only comes in a QFN package. I received the chips some time ago and use it since a month for our hackerspace’s access control system. Unfortunately the Linux kernel only came with a driver for NXP SC18IS602, which does the the other direction (I2C -> SPI). Read more →

Ersa i-Con Pico

Since some days one of the ERSA i-Con pico soldering stations in our hackerspace greeted our members with an “Error 501” message and did not heat up. Ersa provides a document, which translated the 501 error into “i-CON pico system error” with the additional hint “hardware error of the temperature regulation board or connection problem”. One of our members removed the heating element with the soldering tip (its just plugged into the tool) and connected it to the hackerspace’s second i-Con pico station today. Read more →

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 →

MCP23017

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 →