loading

Daft Punk Table Replica driver board reverse reconstruction.

I'm in love with the daft punk table: https://www.instructables.com/id/How-to-build-a-Daft-Punk-Table-Replica/?ALLSTEPS

I'm actually making a wall hanging rather than a table because theres no room in my studio for another table.

The author of that instructable didn't include the microcontroller program or a circuit for the driver board. From the description (and looking at another site) we can tell that it uses a a couple I2C port expanders connected to a transistor array. I have both the PFC port expander and the ULN2803A in my parts box, but I think it can be made cheaper, faster, and expandable.

I want to ditch the I2C bus. Why?
1. Its slow (100 or 400 khz), not that more is needed, but what about bigger boards?
2. Its bit intensive: each chip update requires a)start signal, b) address byte, c)port setting byte, d)stop signal. That's more than 8 bytes of bits per table update.
3. Its expensive: the i2c bus needs 2 pullup resistors, and you have to route Vcc to them on the PCB. I2C peripherals are a bit pricey ($1+ for the PFC i2c port expander). You need a UC with hardware I2C, or write a I2C software routine, etc.
4. Its not expandable beyond the assigned number of I2C addresses. The PFC chips have a limited number of address selections (determined by the state of 3 pins). If all addresses have been used then a second I2C bus would have to be added.

These goals can all be accomplished 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 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.

Why its good:
1. Its fast, up to 20 Mhz
2. Simple interface - clock in only the bits needed then set the latch. 26 bits, <4 bytes per refresh.
3. Its cheap: 0.33 per chip, easy 3 wire interface can be operated with microcontroller, PC parallel port, or even buttons.
4. Massively 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. Power supply and control unit are separate components. The 595 has a 'blank' pin, it seems to reset all the chips to a known state when pulled low. I wanted to make it available for a 'more complete' design, but I also included a jumper so that it can be manually disabled for use in simpler implementations.

The 3d is just for fun: the PCB is mostly unrouted.

Any comments or suggestions? Has anyone used the 595 before? I've ordered a few to play with, but have not yet used them.

Picture of Daft Punk Table Replica driver board reverse reconstruction.
gxcard.png
sort by: active | newest | oldest
danolo8 years ago
Hey, im trying to build my own table, but i dont have any experience on electronics, could you help me, step by step making the eletronic part of my table please ?. i really dont understand anything of eletronics. what do i need to buy, what things gows with what, and how to program the table, thx !.
trialex9 years ago
Have you looked at the Maxim 7219 (datasheet).

You can drive up to an 8x8 matrix directly with one external resistor to set the output current. Send the commands over the i2c network and the 7219 does all the multiplexing for you.

Only downside is cost, they run about US$10 each in singles. But that is MORE than made up for in the simplicity of the circuit.

Heaps of examples of code and schematics from the arduino community, eg here and here
ian (author)  trialex9 years ago
Thanks for the suggestion. Thats a cool chip. Since there are only 25 signals in this project I don't feel the need for muxing, and the cost is about the same as my whole driver board, PCB included.
trialex ian9 years ago
All good! I was just letting you know what was out there.

I know the satisfaction in designing your own solution from scratch. Sometimes though a kick in the right direction is welcome.

Keep us informed about this design - I've been obsessed with LED matrix furniture since DDF hit the web. I just can't find space for it in my house anywhere. Damn it would be sweet though!
ian (author) 9 years ago
Final update: made some big mistakes in the 595 connections. Check this page for 595 details.....

http://www.arduino.cc/en/Tutorial/ShftOut11
ian (author)  ian9 years ago
ian (author) 9 years ago
And Another.... This is pretty much finished. I ditched the blank function and got a board that has no jumper wires (one layer). Screw terminal x17 and x18 are not connected so that two separate power supplies can be used on each half if needed. The Blank on the 595 is 'Active low'....does that mean it blanks on low and must be held high, or is it blank on high, held normal 'active' state on low?
ian (author) 9 years ago
Here are the eagle cad files if you would like to mess with them. I corrected a few things (like seperating +5 from the LED Vcc that needs to hit the ULN2803). Also note that the resistor should be provided at the LED location, and is not included on this board.