OK. Time for the soldering iron. I have used a small prototype board to connect a my I2C bus devices together and connected all the parts.
Here is a picture of all the components connected
Now to test that I can control each device one by one. After booting up the Raspberry PI (RPI), logging in as root user and running the following, I get:-
i2cdetect -y 1
0 1 2 3 4 5 6 7 8 9 a b c d e f
00: -- -- -- -- -- -- -- -- -- -- -- -- --
10: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
20: -- -- -- -- -- -- -- -- -- 29 -- -- -- -- -- --
30: -- -- -- -- -- -- -- -- -- -- -- UU -- -- -- --
40: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
50: -- -- -- -- -- -- -- -- 58 -- -- -- -- -- -- --
60: -- -- -- -- -- -- -- -- -- -- -- -- -- -- -- --
70: 70 -- -- -- -- -- -- --
This is correct. I2C Address 0x70 is the 4 Digit 7 Segment display. 0x29 is the touch sensor board, 0x58 is the Amplifier control, 0x3B = UU is the ReSpeaker 4Mic board as I have install the ReSpeaker drivers which use this address.
So now we have all the I2C devices connected. Next I will write some code and learn how to drive the components correctly, using C# of course :)