The PinThing is a motorized pin display
Tactile displays are one of the neatest ways to interact with how data is displayed, as it can not only be seen, but also felt. However, these kinds of systems are often quite expensive due to their complex nature, which is why Jason Higgins wanted to create his own pin display that he calls the PinThing. The device primarily consists of a five by three grid of “pixels” that are each driven by their own geared motor. When the motor turns, it slides a nut along a threaded rod, therefore pushing the pixel in or out.
Nearly the entire project was 3D-printed to keep costs low. This includes the backplate, bracing for the motors, and the threaded rod/nut assembly. Some of the earlier motor prototypes had a built-in homing pushbutton switch, but this was determined to be unnecessary.
A single Arduino Uno sits at the bottom of a stack that consists of two Adafruit Motor Shields, which have the PCA9685 I2C motor driver. This allows the Uno with its limited IO to still control the 15 motors easily. It runs the StandardFirmataPlus firmware and receives commands from a Node.js server over its serial port. In the future, the software could be expanded with extra functionality to draw pictures from a digital image, write text, and more.
You can read more about this project in Higgins’ write-up over on Hackaday.