Working with I2C port expanders

There are times when you don’t need much processing power for your project but you do need a lot of I/O pins. It often doesn’t make economic sense to choose a larger microcontroller just to get extra pins so the answer is to use a port expander chip. [Raendra] posted a guide for using one of these chips, it’s a Microchip MCP23008 chip that uses the I2C protocol for communications.

You are probably already familiar with using shift registers like the 595 series for port expansion. There can be benefits to using an I2C device instead. One of them comes when using multiple port expander chips. With cascading shift registers you must always shift in the data for the entire chain of chips. But I2C devices are individually addressable, so you only need to push data over the I2C bus for the chips that need to be changed, the others will remain unaffected. It is especially easy to use these if you already have another I2C device in your project design as the addition only requires the connection of the SDA and SCL lines. Keep them in mind for future undertakings.

Graphic calculator as a spectrum analyzer

[Michael Vincent] turned his TI-84 Plus into a spectrum analyzer. By running some assembly code on the device the link port can be used as an I2C bus (something we’ll have to keep in mind). After being inspired by the cell phone spectrum analyzer he set out to build a module compatible with the calculator by using an I2C port expander to interface with a radio receiver module. Now he can sniff out signals between 2.400 and 2.495 GHz and display the finds like in the image above.

[Thanks Cecil]