= Welcome to the I2C I/O Extensions for Squeezebox = This project is a modified version of Felix Müller's [http://www.gwendesign.com/slimserver/dev_hard_and_software.htm#io_extension I/O Extension] for the Squeezebox. Thanks a lot to Felix! == Additional features (over the original version) == * Support for Volume control * Configuration via Web interface * (renamed to I2C, formerly ExtendedIO) == Installation == There is no downloadable zip file, but anonymous readonly svn access is available. You can install directly into your local Plugins folder: {{{ Plugins$ svn co http://svn.ibp.de/svn/squeezeplugins/I2C }}} == What is it good for? == To use this Plugin, you need some custom circuitry connected to the ''geek port'' of a Squeezebox (SB2) or SliMP3. ''The Squeezebox 2 and the SliMP3 are pretty much obsolete hardware by now. For similar functionality on current hardware, you could probably use a design based upon the [http://www.gwendesign.com/slimserver/dev_hard_and_software.htm#irblaster IRBlaster] (again from Felix Müller).'' I use it: * for a relay that turns the amplifier on and off with the Squeezebox * for an analog volume control through a motorized potentiometer For my custom circuit, I followed Felix lead and used a PCF 8574 - an 8-bit I/O expander for I2C. This is connected to a dual H-Bridge IC (L293D) with a bit of glue logic - mostly inverters (gate IC2C could be omitted). One H-Bridge is used to drive a motorized pot, the other half H-Bridge drives a relay. The schematic looks like this: [[Image(SqueezeI2C.png)]] ''This schematic is not tested as shown - I built my version on Veroboard - but it should be close.'' == Volume control == There are two different ways to set the volume on a Squeezebox: * through the web interface. This will set the absolute volume. * through the remote. This will change the volume in increments. The former isn't really feasible with a simple motorized pot, but the latter is easy (and all I really needed). This is a bit of a dilemma (because more than one way to control volume is confusing). I chose to ignore the dilemma and implemented this: When an output is configured for volume control, and the volume is changed in increments, the I2C plugin will bypass the standard volume control. When the volume is changed by an absolute value (through the web interface), the change is forwarded to the original volume control of the Squeezebox. == Contact == Drop me an email at [mailto:lars@ibp.de]