I've been working on something similar for several years. (Alas, I don't have MIT's PR budget.) I call it "PinThing" and implement the pins as DC motor powered, 3D printable linear actuators. I use limit switches to detect end-of-travel, and a shaft encoder to measure distance traveled. Current goal is to make an array of four 3x5 pin blocks to make a digital clock display. One of these days I really need to finish and formally publish this project! One big challenge in the project is driving down the cost per pin to make a large array affordable -- that's why I focus on using 3D printable parts and cheap motors.
Here's a demo of one pin powered by Arduino and an H-bridge motor driver circuit: https://youtu.be/pLzDHLm01wM
Three.js software demo: http://pinthing.com