Daft Punk Table Replica Driver Board





Introduction: Daft Punk Table Replica Driver Board

This instructable presents an output expander card for something like the Daft Punk Table Replica. This is a work in progress and collaborations on this instructable are welcome.

The 'graphics card' is just an output expander. Just three microcontroller pins are needed to control an almost unlimited number of high voltage/high current outputs. An extra array of transistors allow the output expander to switch higher currents than plain microcontroller pins. Each output extender card has 16 outputs and multiple cards can be chained together. Two cards are required to drive a daft punk table replica with 25 squares. Note that muxing is not used, this is simply a 1:1 output expander.

****NOTE: the blog below is gone. The files are still available here. Important files have been attached to this instructable as well, without permission of the author.....****

The original daft punk table replica instructable didn't include a microcontroller program or a circuit for the output expander board. From the description (and looking at this blog.) we can tell that it uses a few I2C IO port expanders connected to a transistor array. Take a look at the PCB here.

The ULN2803A is used in all the designs I have seen. It is an array of transistors that switch higher current/voltage than plain microcontroller pins. This is a a perfect chip for this project, but note that the output is reversed. The ULN chip sinks current to ground, so we connect it to the ground side of whatever we want to switch.

I have the PCF8574 port expander in my parts box, but I wanted something cheaper, easier, and expandable. I ditched the I2C IO expanders. Why? The i2c bus needs 2 pullup resistors(a pain). I2C peripherals are a bit pricey: $1+ for the PCF8574 i2c port expander. You need to deal with I2C in hardware or software. The PCF8574 chips have a limited number of address selections (determined by the state of 3 pins):if all addresses are used a second I2C bus is needed.

I designed a new output expander with a handy chip I learned about in lady ada's bike POV instructable, the 74HC(T)595.

The 595 is a serial to parallel port expander with 8 output bits. The interface is a simple 3 line affair (SPI) with serial data/clock lines and a latch that puts the data on the pins. Now the cool part: several can be connected end-to-end so that you can create a chain with hundreds of extra outputs. Bits can be clocked in at up to 20Mhz, so large or multiplexed grids are possible.

Read a great detailed 74hc595 tutorial here.

Why its good:
1. Its fast, up to 20 Mhz
2. Simple SPI interface - clock in the bits then set the latch. With 595: <4 bytes per refresh. With (i2c) PCF8574: 8 bytes per refresh (+ i2c overhead). Easy 3 wire interface can be operated with microcontroller, PC parallel port, or even buttons - requires no extra passive components.
3. Its cheap: 0.33 per chip.
4. Massive expansion potential, multiple chips can be chained for a disgusting number of outputs.

The circuit is pretty basic. It only includes those things needed for the graphics card : I/O expanders, transistor array, connection headers. Check the PCB image for photo notes with a pin description for the board (the blue image below).

Power supply and control unit are separate components that will be added in future steps.

The capacitors on the latch line are optional. The datasheet [pdf!] for the 595 suggests adding a 0.1uf capacitor if the output flickers. I didn't need them, but if you experience flicker when changing the latch pin try adding one or two 0.1uf capacitors here.

Schematic and PCB, in Cadsoft Eagle format, are included in the zip archive.

The 74hc595 serial to parallel (SPI-compatible) output expander used in this project.
PCF8574 i2c IO expander used in the original daft punk table replica.
The ULN2803A, an array of transistors that allows us to switch bigger loads than the 595 alone.

Step 1: Controller With USB Interface and SD Card Script Storage.

A separate (PIC 18F2550 based...) board controls the graphics card.

Image input is accepted from a USB port (as a virtual serial port on your PC or MAC), or from scripts stored on an SD card (scripts generated using the software on this blog).

The driver board isn't done yet. It will go here after some testing. I can post my current draft cct/pcb if anyone would like to follow along.



    • Make it Move Contest

      Make it Move Contest
    • Casting Contest

      Casting Contest
    • Planter Challenge

      Planter Challenge

    We have a be nice policy.
    Please be positive and constructive.




    can you please post a part list for the whole table?(only the electrical parts) using 2 leds per square perhaps theese leds

    Hi , I'm making my own table, but I'm starting the part of the electronics, but i have no experience on this, and i don't understand anything of the things that you are saying here, can anyone pleasee help me telling me what should i buy, and what goes with what, and how i program everything, i can't wait to finish, and i really need alot of help here, need list of parts, pics of hows it should be done, and the software needed to program everything, thx !

    I know this is probably old and not kept updated but i was looking at the LED-Wiz. Would cost a little more but gives lots of different options. Only thing is you would still need to wire the graphic card but he did say that usb was possible.

    Nice! This could be used for a REALLY cool timed fireworks display!!

    Thank you for your outstanding work. Currently I try to build up the graphic and expander board by myself. Therefore I would like to ask you to post a list of the component parts?

    Please post more of your work (other schematics & pcb) I am doing a similar project and would like to "collaborate" with this little bit. My project differs in that I have multiple colours per square. Going to involve 12 shift registers to control essentially a 5x5x3 matrix (3 colours per square). I'm considering using a ATmega to build a usb controller right in, however, still waiting on parts.

    1 reply

    finished firmware tonight. It reads the plain text version of the script files from an sd card. It reads all *.dpt files from the root directory and plays them. I would like to extend the script format a bit to include additional instructions. If the first number for the column is bigger than 5 bits (say 255/0xff) then the next few bytes could be data bytes. I want to add a repeat instruction (per file, at beginning of script) and a speed instruction (change at any time). USB is possible, but I have not added it.


    coolness, can't wait to see how this turns out :)

    Hello, thank you or posting this. But im really interested on doing this project and i have no idea of electronics. Im just able to make a pcb, but i have no idea on how do the connections go from the board to the led circuits. could you please be more descriptive. that would be great Thank you


    Of course!


    I've attached images and source files for the USB controller. Comments are welcome. This isn't cleaned up, just routed. It is all on one side without any jumpers.


    You should get lots of positive input, if you:

    1) Show it in action (video)
    2) Include a schematic
    3) Explain what it does--it controls the light matrix on the table. Show a picture of the table and lights.
    4) Explain the interface clearly-- I think it's SPI input (although i2c is mentioned, also), but you claim button control, also? Then on the second page, it's USB? Or memory card? (I guess that could be SPI, too)
    5) Maybe keep "graphics card" always in quotes, and use something like 'matrix driver' instead...

    Anyway, the hardware looks pretty impressive. (Maybe this is 'still in development?')

    4 replies

    This is still very much in development. I will update as I finish stuff. I wanted to post the finished output expander and open this as a collaboration.

    I read your original response (deleted posts still get sent via email.) You have very ambitious plans for the interface--that sounds impressive. It's only the first version of the explanation that was confusing. Re: 'graphics card' moniker --it's your choice, of course. But now you've added text to explain the reference...Much improved.


    I don't really think it can be called ambitious. It is a very simple firmware. For more on the USB PIC check out my Indoor/Outdoor USB thermometer instructable.. Its only a matter of bringing it together with a SD card/FAT driver on the 18F2550 chip. The most ambitious part is the I might have the motivation to etch the final PCB when the design is complete.

    heh heh. Easy for you, maybe...


    I would like to use this, but I don't quite understand how from the information provided in this instructable.