It all started with a small LCD salvaged from an old printer. I recruited my code-savvy older brother, Adam, and we soon had the LCD displaying text from an Arduino microcontroller. This was neat, but it was inconvenient having to plug the Arduino into a computer for reprogramming whenever we wanted to change the text.
We needed something for inputting the text, and it didn’t take long to find a PS/2 keyboard code library for Arduino — which confirmed my observation that anything that communicates with wires has probably been hooked up to an Arduino. I salvaged a PS/2 port from an old computer motherboard, and after some trial and error, we could plug in a common PS/2 keyboard ($5 new) and type messages directly into the Arduino and out to the LCD.
The LCD was so small, however, that hardly anyone noticed our witty remarks. We needed a bigger display. After looking at many appallingly priced commercial LED matrix products, we found a new and much cheaper offering:
Sure Electronics’ 8×32 display boards. They cost $9 each and you can cascade up to four into one long display. We ordered three, and by the time they’d arrived, the Arduino community had already produced a library to run them. (Our code is based on two open source Arduino libraries: PS2Keyboard, by Christian Weichel; and MatrixDisplay, by Miles Burton.) The result is our PS/2/You system, which displays keyboard-typed messages in 2"-tall LED letters that can be read from quite a distance. You can store and switch between six different lines of text, and it automatically scrolls through lines that are too long for the display. Power comes from an AC adapter or six AA batteries for portable operation, and the whole thing is housed in a sturdy wooden frame.
Steps
Step #1: Build the frame.
Next



- Cut the 1×4 lumber in half lengthwise to make 2 strips about ¾"×1¾" (a nominal 1×4 is actually around ¾"×3½"). Use a narrow-kerf blade if possible.
- Line up the 2 boards beside each other on a flat surface with their narrow edges up. Place one of the display panels facedown between the boards, so that the flanges on the panel rest on the boards, with the protruding LED matrix between them. Gently squeeze the boards snug against the sides of the LED matrix, and measure between the outside edges of the boards. This measurement is the length of the frame’s end pieces. (Remember this measurement for the following steps.)
- Use a chop saw or handsaw to cut a 45° angle on one end of each piece, oriented so the cut goes diagonally across the narrow edge. Measure 18¼" down the board’s length from the inner edge of the cut, and make a second 45° cut that angles back out. Repeat on the second board. These will be the 2 long sides of the frame.
Conclusion
This project first appeared in MAKE Volume 27, page 92.





































Hi Raul,
Sorry about that! A blank space was causing problems. It’s now been updated in Step 12. Also, you can go to it directly here:
http://cdn.makezine.com/make/27/PS2You-code.zip
Yes! SPDT is correct. I’ll go in and change it now. Thanks Raul!
I’m in the same boat as Adam. I’m not getting anything to display. I first thought my USB port wasn’t giving enough voltage so I tried it with a powered hub and still nothing. This is my first project and I know I soldiered correctly and wired everything right. I too can use some help.
I have the new board. I don’t know how to open and edit the MatrixDisplay.cpp file
Regarding the hot voltage regulator above, I installed the voltage regulator reversed. After correcting, there are no overheating issues. All is well. Thanks for your help.
I found this in the release notes for the latest Arduino IDE (1.0):
* The behavior of Serial.print() on a byte has been changed to align it
with the other numeric data types. In particular, it will now print
the digits of its argument as separate ASCII digits (e.g. ’1′, ’2′, ’3′)
rather than a single byte. The BYTE keyword has been removed. To send a
single byte of data, use Serial.write() (which is present in Arduino 0022
as well).
—
I guess if I can’t figure out how to change the code to account for this, I’ll just roll back to the previous IDE.
Success! (couldn’t wait till tomorrow)
I was able to breadboard up the Ardweeny circuit and one DE-DP13111, no keyboard. Used Arduino 0022 and did the code modifications specified above to get the best ‘hello world’ message scrolling in green!
// What's Trending
Raspberry Pi Design Contest
Dad Builds Son an Iron Man Arc Reactor
Seventeen Sneaky Secret Hides
Teardrop Camper Trailer
What to do with an 800 Lb Eucalyptus Slab
10 Things to Connect to Your Raspberry Pi
Lego Steampunk Strandbeest Model
80-Ruxpin Art Installation
// What's Shared
A better way to slice a pumpkin
DIY Nerf Darts
100 Dollar Store Organization Ideas for Craft Rooms and Beyond
In the Maker Shed: Minty Boost USB Charger
Mad’s Mouse House
Lace Princess Crowns
I Have a (Puzzling) Dream
Play the Rings of a Tree Trunk Like a Record
// Most Commented
Plastic Bags into Plastic Blocks: Revisited
10 Hot New Boards to Watch
Why the Maker Movement is Here to Stay
MAKE Asks: Roadside Hacks
Ten Tips for Hand Saws and Blades
DIY Hacks & How To’s: Convert From Battery Power to AC
How To Make Your Own Laundry Detergent
What to do with an 800 Lb Eucalyptus Slab
Trending Topics
Get our Newsletters
About Maker Media
Subscribe
to MAKE!
Get the print and digital versions when you subscribe