This document describes the process of building a 10x10 LED matrix display to visualize John Conway's Game of Life. The initial design used individually addressable WS2801 LED strips controlled by an Arduino, but this prototype failed to work. With help from the local makerspace community, a simplified redesign was implemented using pre-wired WS2801 LEDs in a custom laser-cut case, which successfully displayed the Game of Life. The project demonstrated that keeping designs simple is important, and that maker communities can provide valuable assistance when projects run into problems.
2. The Hardware Brief
• To build a 10 x 10 matrix of lights that can play the
Game of Life (GOL).
• The matrix must be controllable from an external
source (the display only needs to render the GOL, it
does not need to run it).
• A high quality finish is required.
4. Sourcing Lights
• Due to the size of the
matrix we can’t plug in
lots of lights into a micro
(100+ pins needed!).
• Multiplexing is one
solution:
▪ This would provide very
fast IO to render an
image, but adds
complication to the
wiring of the device.
5. Sourcing Lights
• We don’t need fast refresh rates (the GOL will be
slowed down a lot due to the ‘limited’ size of the
screen).
• Addressable RGB lights would give us expansion
room (replacing or adding pixels would be easier)...
7. WS2801 & WS2812B
• 2 wires (ws2801B) and 1 wire (ws2812b) required to
control a huge string of LEDs.
• Very bright RGB and individually addressable.
• Although timing is sensitive (would require FPGA or
some fancy DMA on very large strings) we aren’t
running that many LEDs (100 is relatively small).
• 100 of these LEDs would need a fair amount of
‘current’ at 5V, but easy to supply (10A external psu).
8. Prototype 1.
• 5 x 5 Matrix using a
WS2801 string.
• Bit of hardboard.
• Arduino.
9. Designing The Final Hardware
• WS2812b tape (very
cheap per LED).
• IKEA HOL table (A 10
x 10 lattice!).
• Wire.
• Front one-way-mirror.
10. A Lot of Soldering Later…..
If YouTube decides to work….
http://www.youtube.com/watch?
v=M7ut70dOd7o#t=192
11. Version 2
• Soldering by hand is slow and potentially unreliable.
• Time to produce some PCBS.
!
!
!
!
• Produced in KICAD.
▪ Each strip contains 5 LEDs (will need 10 strips of these).
▪ Surface mounting each led and a capacitor. Fits nicely in
the lattice gap.
16. Diagnosis – Why is my LED not working?
• Power is fine (5V consistently across the power rail).
• No shorts.
• Can run an individual stick.
• Should be working and we have yet to diagnose
what is wrong (probably something messing up the
signal).
18. The Society To The Rescue – Scrapping the design and going Plan B.
• KISS approach (This had got lost along the way.)
• Many Tinkersoc members = many man/woman
hours.
• More eyes to check the work.
• A fun evening of building (make this an actual
Tinkersoc project).
19. Day 1 - Case Design
• Custom case was designed in autoCAD
• Lasercut by architecture department (took over 1
hour to cut all the MDF).
20. Day 1 - LEDs
• Back to the WS2801s (same as those used in the
prototype).
!
!
!
!
!
!
• Kiss again: 100 LEDSs prewired purchased and
measured to fit the custom case. Arrived day 2.
21. Day 1 - Software
• Arduino micro setup with GOL firmware.
• A PhD student wrote this. Uploaded and tested.
23. Lessons Learnt
• Things can be swimming along fine and fall over
when you least suspect it (generally right at the end).
• KISS is the best approach (as long as you KISS the
right thing).
• Your society can save your butt.
• I love the smell of laser’d MDF in the morning.