I am trying to see if esp8266 is capable of a certain task. So we have a board that has lets say 9 spots. On each spot you can put a cube. Each cube has 6 sides. Now the board itself will house an ESP8266. U need to put the correct cube on each of the spots, but not only that, u need to use the correct side of the cube. The system will alert the user whether he put the correct one, with the correct side on the correct spot. Now obviously, i need a way to detect this.

So for this small scale example, we have 9 cubes with 6 sides. That means system has to be somehow able to differentiate 54 different "sides". There are a couple of ways i can think of to do this:

- each side having different resistance and i am measuring that

The problem here is that i only have 1 ADC, which means i can only measure 1 cube. That is not enough, i have to be able to measure 6 cubes at once which means i would need 6 ADCs.

- each side has different voltage

Same as above ... i only have 1 ADC ..

- i supply a 3.3V to each cube. Then i have some pins ... some of them are connected to this 3.3V, some of them are connected to GROUND. I use GPIOs to measure which pins are "1" and which are "0" and i differentiate cubes and sides by that.

The problem is that in order to read differentiate 6 sides, i would need 3 GPIOS (2^3 = 8) for each cube, which is 18 GPIOS for the whole thing. I dont have that many GPIOS.

Any other ideas ?