These electronic building blocks were my final project for "Introduction to Computational Design." The main focus of the class was on shape grammars - using algorithmic sets of rules to generate designs. The teaching examples generally involved rectangular blocks that were assembled according to a set of rules. A simple ruleset assumed there to be 8 distinct points on each block - one in each corner on the 2 largest faces. The initial block had one point marked. Each block thereafter had two points marked - one to match up with the dot on the previous block, and one to locate where the following block would match up. In the class we often used computer simulations to quickly visualize the results of rules that we created.
For my final project I created a physical version of these computer simulations. A rule set is created on a computer and downloaded to one "teacher" block. This teacher block then communicates via IR to the first block in the construction. This block then confirm the code so that the teacher block can send the proper instructions to the next block. The first block, having received the code, lights up a solid green LED in the appropriate corner. The second block, after receiving it's code, flashes one LED continuously to indicate the point at which it should attach to the light on the first block. Once the user assembles the two blocks correctly (determined by appropriate contact between the copper pads on the face of each block) the LED on the second block ceases to flash, and another LED turns on to indicate where to attach the third block. This is repeated until the construction is complete.
The prototypes that I created for the project had a ruleset hard coded into the teacher block, but beyond that was able to do everything else as described. The ideal system would be able to have a larger number of dot locations on each block, and would also hold itself together. Eventually, in order to completely emulate the functionality of the simulation software, the blocks would also be self-assembling.
click on image to view video