TRIKLITS SD Card Controller

SD Controller board

The SD Controller board allows you to control up to 32 Triklits. You take pre-programmed patterns that you generate on your computer and save them on an SD flash memory card. Then you can insert the SD card into the SD Controller board. The controller then runs by itself and sends your patterns to the Triklits, without needing a computer system.

The SD Controller can control up to 32 strings of Triklits (a future version can handle 64 strings). It is attached, via a daisy chained ribbon cable, to up to 4 driver boards. The SD Controller and driver boards are the same size and can be vertically stacked.

The SD Controller and Ethernet interface boards are interchangeable. This lets you use the Ethernet interface to develop patterns, and then switch to the SD Controller to build a standalone control system. You can just pull the Ethernet interface off the driver board stack, and replace it with the SD Controller.

The board requires a power connection (9-12vdc). The power supply needs to be able to supply the Driver boards, so we suggest a 500ma-1A supply if you will have 4 driver boards attached. The power jack is a coax style 2.1/5.5mm socket. The green LED indicates power. The red error LED blinks if a card is not detected, and lights up if data can not be read fast enough from the card, otherwise it is off.

The board has a socket for a standard SD Memory Card (the card is not included). It supports sizes up to 2GB. You will need 40K bytes of flash for every second worth of data for each driver board attached to the controller. For example, a 64MB card would hold about 26 minutes worth of data for one driver card (8 Triklits). For controlling 8 Triklits, a standard speed SD card should work fine. For more Triklits, a faster speed SD card may be needed. We'd suggest using 80x speed or higher cards.

This is an example of the SD Controller stacked with a driver board. When you order the SD Controller with driver boards we will build a stack like this one for you.

Software and File Formats

Our software driver module takes care of formatting the data properly to use with the SD Controller, and the source code for that is available on this web site.

You generate a single data file on your computer system and then save it to an SD Card. The SD Controller currently only supports FAT32 filesystems with 8.3 character length file names. There can only be one data file on the SD card and it must be written contiguously. The SD Controller will read the data from this file in a continuous non-stop loop and send it to the Triklits.

First, create a header file for the SD Controller. Run the program genheader, which is in the CONF subdirectory of the driver distribution. It takes a few parameters, an output file name, an address (0 for master, 1+ for future capabilities), and the number of driver boards attached (1, 2 or 4 only). For example,

./genheader header.bin 0 2
You only need to create this file once, then you can re-use it later.

These instructions assume you have read the info on our output driver (see the main page on this site). To generate an output data file using our software driver, configure the driver in out_file.c and set it to use #define OUT_FILE. Then set the OUT_NAME_FORMAT to be a filename on your computer, such as "out.bin". Set OUTPUT_INTERLEAVE to the number of driver boards attached to the controller (which should match the number you gave to the genheader program mentioned above). Now run your pattern generator so that you create your file "out.bin".

Note that you can also generate multiple effects files, for example, out1.bin, out2.bin and out3.bin, and catenate all of them together to produce the output file.

Now create a final data file for the SD Controller by merging the header and data files. The name of the output file does not matter, as long as it is only 8.3 characters long. The SD Controller will search for the first file it finds on the card regardless of the name.

cat header.bin out.bin > sdcard.bin

Now insert an SD Card into your computer and Format it for a FAT32 filesystem. You must format the card each time you write a new file to it, as the data must be written contiguously. Once the card is formatted you can drag-and-drop the sdcard.bin file to it, or use a command such as:

cp sdcard.bin /cygdrive/g

Now plug the SD Card into the SD Controller socket and it should start running your patterns in a continuous loop forever.

HOME