This website is out of date
PLEASE VISIT
THE NEW WEBSITE
critter board

Cellular Automata Video Synthesizer

Downloads:

  • Cellular Automata Synth Source Code
  • In this example we build a self-contained cellular automata video synthesizer using the Video Critter Mini. The Video Critter Mini is an AVR based video board that can be used to generate simple graphics on an NTSC television. By adding 3 pots and a button, we can make a complete 1-D cellular automata demonstration for around $50.

    Here is a video of the synth in action.

    Update!! This synth is now available as a kit.

    pcb pic pcb pic pcb pic

    pcb pic pcb pic pcb pic

    How it works

    We use a simple 1 dimensional, elementary cellular automata in this example. More info on it can be found here.

    The three knobs allow the cellular automata to be adjusted in some fun ways. The knob on the left controls the width of the board, from 1 cell to 32 cells. The center knob is used to select one of the 256 possible rules. And the knob on the right controls the iteration speed.

    The button is used to clear rows. As long as it is held down, all the cells in the row will be forced to the dead state.

    To make the cellular automata a little more exciting, we have also added sound and color. The color of each cell is based on how long a cell has stayed alive. So if a cell is alive from one row to the next, its color will be different on each row.

    The sound is even more arbitary, but still based on the celluar automata. To obtain some interesting sounds we calculate a frequency for each row. There is no 'right' way to do this, so we played around until something cool happend. This is what we came up with: go through all the cells in a row and if a cell is alive, multiply the current frequency by that cells color (a number 1 - 5). If the cell is dead, do nothing.

    Construction

    Building this synth is very straitforward. It requires soldering up the 3 pots and the switch, and programming the AVR. Here are the connections we used:

    pcb pic

    The download at the top of the page provides the source code and a precompiled .hex file. Check the included README. The Video Critter Mini provides a standard 10 pin ICSP programming header that is compatible with many AVR programmers. We use this parallel port programmer with the avrdude software. There is a lot of info out there for programming AVRs, just check google.