An oversized scanned-matrix display using 10mm LEDs.
When Steven Colbert and Jon Stewart announced the Rally To Restore Sanity and/or Fear, my politically zealous brother wanted to add some flair to the party. We devised a satirical protest sign that would scroll conservative absurdities on one side of the sign and liberal nonsense on the other, reading such garbage from a hand-curated text file.
What it does
- Displays arbitrary text/graphics in a variety of ways.
What it’s made of
- 74AHC595-series 8-bit shift registers
- PFET transistors (to source current through columns)
- NFET transistors (to sink current through rows)
- LM3150 DC/DC buck convertor
- 10mm LEDs
- A bunch of support components
- Custom PCB designed in EAGLE and fabricated at PCBExpress
- Firmware written in C using MPLABX, compiled by XC16 and loaded using an ICD3
Theory of operation
Send it bunch of bits over SPI a zillion times a second and you get pretty text! The code linked to above just sets the stage – it’s up to you to send the display what you want to see. When I get some extra time (LOL) I’ll hook it up to a WiFi module and use it as a wall-clock.
It works, yay! Lessons learned:
- Light-bleed into adjacent LEDs is easily fixed with some opaque heat-shrink tubing.
- Each row has a considerable amount of capacitance that needs to be discharged with each row switch. Write an all-off sequence to the column drivers to do this.
- Light output is considerably reduced when you scan the display, essentially reducing it to 1/7 (in this case using 7 rows) of the original brightness. You can overdrive the rows by 7x (in this case using 7 rows) to get around this but you must make sure your OE line is de-asserted until you start switching the rows or you’ll pop the LEDs.