Instructables
Picture of Daft Punk Table Replica Driver Board
gxcard-Vg.png
gxcard-Vg-pcb.png
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.

Datasheets:
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.

 
Remove these adsRemove these ads by Signing Up
ron.v2 years ago
can you please post a part list for the whole table?(only the electrical parts) using 2 leds per square perhaps theese leds
 Can this be used for Mac's as well?
falsehero5 years ago
Here are a set of 25 LED boards suitable for this project. Read the description on the page. 70000 mcd. 200 Red LEDS. 25 boards. Ready to GO!

http://cgi.ebay.co.uk/ws/eBayISAPI.dll?ViewItem&item=250464782332
danolo6 years ago
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 !
bmxmike6 years ago
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.
RPisces6 years ago
Nice! This could be used for a REALLY cool timed fireworks display!!
Evil-e6 years ago
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?
Method6 years ago
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.
ian (author)  Method6 years ago
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.
dpt2.jpgdpt.jpg
buZztiaan6 years ago
coolness, can't wait to see how this turns out :)
camello236 years ago
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
liquiddan6 years ago
can we get this to work with iTunes?
ian (author)  liquiddan6 years ago
Of course!
ian (author) 6 years ago
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.
gxcontrollerbrd.pnggxcontrollercct.png
gmoon6 years ago
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?')
ian (author)  gmoon6 years ago
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.
gmoon ian6 years ago
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.
ian (author)  gmoon6 years ago
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.
gmoon ian6 years ago
heh heh. Easy for you, maybe...
Ora6 years ago
I would like to use this, but I don't quite understand how from the information provided in this instructable.
ian (author)  Ora6 years ago
I expanded on a few areas and added a pcb image with photo notes that describe connections to the circuit board. I hope that helps.
frollard6 years ago
Excellent project - would love a jpg of the board and schematic - What software did you use to make the files in the zip? I can't get them open.
ian (author)  frollard6 years ago
I use eagle, its pretty much the standard, default PCB/circuit cad program for hobbyists and makers. I added a link.
JoelSimpson6 years ago
YES! This type of circuit would be VERY useful in so many of the projects that I'm interested in. Could you add a schematic and a picture or two of a prototype-in-action?
what :-\?