So this project is basically a simple way to get into building things without all the need to get complicated. You build your creation, move it how you want it to move. No need for compilers, programmers, wires, or even a computer. When you rotate the motor, the back emf from the motor is feed into the adc on the uController. It then counts for how long it receives that tiny amount of voltage. In playback mode it simply goes back through its memory map and turns the motor on for the duration of its count. If it encounters a switch being pressed in record, it loops in playback until the switch is pressed and it continues on through the array.
Video of switch in action
Very clever :)