GadgetLab Trilife Blinker

From LVL1
Jump to navigation Jump to search

The TriLife circuit lights a LED depending on what three neighboring TriLife circuits are doing. It's like the Game of Life on a triangular grid.*

It's working on a breadboard--there's one microcontroller**, one LED***, a few resistors and a capacitor. Let's get boards made so 10, 20, or 400 people can solder one board each, then assemble all into a giant display! We'll need to add lots of connectors (three per board plus an optional programming connector).

We could use some help laying out the wires according to the netlist. [[1]].

Eagle is popular but the free version limits your board size. We also need power jacks and a couple connectors that are just wires, so that every LED can connect to three neighbors. I put the parts on the board in a small footprint that will meet these needs. Here it is without any wiring--you would have to use the netlist to complete the schematic: [2] Here it is with the schematic wired up but without any wires drawn on the board yet: [3] Can you route the wires without moving any of the parts? You can add vias--holes through the board--that let you do crossovers. It's a 2-layer board.

Other design considerations: What happens if one board gets plugged in backwards; will it fry the whole thing? (The purpose of three of the resistors is to protect the microcontroller in case this happens). Can you label it so it's really hard to plug things in upside down or backwards? We can also get special connectors that won't plug in the wrong way. Connectors are the most expensive part of this kit.


It's really a clockless 4-state Greenberg-Hastings cellular automaton but that's not important right now.


The microcontroller is a PIC10F322, one of the tiniest available microcontrollers. It takes turns listening on each of three input pins--one for each neighbor. It discovers the brightness of the three neighbors' LEDs, then adjusts its own LED accordingly. An onboard temperature sensor can be used for randomizing the startup state.


It's a regular LED. We control the brightness using pulse width modulation. There are four LED settings: dim, bright, brighter, brightest.