Creating Pin Art Within This Miniature Motor-Driven Display
The PinThing uses a matrix of motors to slide several pins back and forth to create text and images.
What is a pin display?
There is a wide variety of methods in which to show information, including screens, LEDs, and seven-segment displays, but none of those are all that tactile. The PinThing, created by Jason Huggins (known as hugs on Hackaday) wanted to solve this by making a device he calls the PinThing. It's a small-ish programmable pin art display that uses motors instead of light in a grid to either show or hide a given pixel. One of his goals with the PinThing was cost, as a single pixel requires an entire motor, so a grid of 10 rows and 10 columns can add up quickly. Therefore, he made as much of the design 3D printable as he could.
Building an actuator
The heart of the PinThing is its array of motor-driven pixels which move forward to show a protruding solid surface or retract to hide it. Each actuator assembly consists of a single motor, along with a built-in gearbox and 3D printed threaded rod/nut combination. After Huggins was finished constructing each individual "pixel", he combined them into a five by three matrix mounted within a pair of 3D printed brackets. One of his earlier motor prototypes featured a small momentary pushbutton switch that could detect when the nut was at the home position, although he determined this was unnecessary in a later revision.
Controlling the motors
There is an Arduino Uno that sits below a pair of stacked Adafruit Motor Shields and runs the StandardFirmataPlus firmware. The board handles commands that come from the control software and translates them into instructions for the PCA9685 motor driver integrated circuits. In order to simplify the development of the code, PinThing's software is hosted by a Node.js server with the "Johnny-Five" library which sets up each motor for use with the controller boards. There are a few functions programmed by Huggins to write the word HI, push all of the pins up, set them back down, and stop every motor.
Translating an image to the device
For now the PinThing display can only show simple images with the pixels taking on values of either on or off. However, the motors and linear rods allow for much more granular motion, therefore making topographical maps a possibility. This additional functionality is something Huggins wants to add in the future, along with some way to map characters dynamically to the pixel matrix.
You can view this project's detailed instructions and build log here on Hackaday or view a demonstration of how it works here.