Disco Drinks Coaster





Introduction: Disco Drinks Coaster

Although we live just outside Cambridge in the UK, my wife is tragically addicted to all things Las Vegas. It's been nearly six months since our last visit, and she is pining for bright lights and cocktails. Few things make a drink nicer than some coloured lights in the vicinity.

Ever alert to the causes of my wife's grumpiness, I decided to cheer her up by making an animated, brightly lit drinks coaster.

Here it is under a gin and tonic:

And here it is, glass-free, displaying a spinning galactic ice-cube.

The coaster can be driven from any PC with a serial port and will display any 10 by 10-pixel video you wish.

Step 1: Buy Some Parts

You will need:

30 1K 0805 resistors (R1 - R30)
30 MBTA42 NPN transistors (Q1 - Q30)
10 100 Ohm 0805 resistors (R31 - R40)
10 FMMT717 PNP transistors (Q31 - Q40)
5 74HC594 SOIC shift registers (IC1 - IC5)
4 100nF 1206 capacitors (C1 - C4)

and finally:

100 TB5-V120-FLUX-RGB8000 RGB LEDs (LED00 - LED99)

The LEDs can be hard to get hold of at a decent price; eBay is once again the friend of the penurious electrical engineer.

Step 2: Make and Assemble the PCB

Manufacture one or more PCBs using the attached Gerber and drill files. A double-sided PTH process is required, so it is probably best to use one of the various small-volume professional PCB manufacturers; I have found PCB Train in the UK to be fairly reliable.

Assemble the board, taking great care when soldering the surface mount components. I found this one to be right at the limit of my dexterity. Note that there are two different types of SOT-23 transistor, and two types of 0805 resistor on the board. Look at the bottom silk layer to see the component names (R23 etc) and use this to match against the parts list in step 1.

Once you're done, your circuitboard should look like this.

Step 3: Drive the Board

This is the tricky bit. You need to use something (probably a microcontroller) to drive the board in a way which generates an image. Attach power and data cables to the connector in the bottom right of the board. Seen from above, we number the six pins:

1 2 3
4 5 6

The corresponding signals are:

1. XVOLTS - drive voltage for LEDs. Connect to 4V current limited supply.
2. SERIAL_CLOCK - shift data from SERIAL_DATA on positive-going edge.
3. SERIAL_LATCH - latch 40 bits from shift register to LED control on positive-going edge.
4. GROUND - common ground.
5. 5VOLTS - supply voltage for control circuitry. Connect to 5V supply.
6. SERIAL_DATA - input data for shift register.

To scan the display, clock 10 4-bit numbers into the shift register. To clock in a bit:

- bring SERIAL_CLOCK low
- modify SERIAL_DATA
- bring SERIAL_CLOCK high

Once 40 bits have been clocked in, the SERIAL_LATCH signal can be brought high to transfer them to the LED control circuitry. Each 4 bit number selectively enables the red, green and blue LEDs in one row, and selectively disables all LEDs in one column. So if we clock in a string:

0011 0100 0111 ...

This sets all the LEDs in row 0 to blue, all the LEDs in row 1 to green and all the LEDS in row 2 to cyan (green + blue). It disables all the LEDs in columns 0 and 2. By rapidly clocking in various combinations of values (typically with only 1 of the 10 column-disable bits low), we can scan the array to build up an image, and use pulse-width modulation to give a range of apparent intensities.

The attached firmware can be used with an Atmel ATmega644 to generate the required signals in response to serial input from a PC or Mac.

Step 4: A Warning and a Tip

A couple of words of warning. Modern LEDs can be very bright indeed. You could probably hurt yourself pretty badly by dialling them up to full intensity and ignoring your look-away reflex, so don't. Also, when debugging your firmware it is easy to stall the scanning process and burn out the precious LEDs. Use a decent current-limited bench power supply, with the current dialled back to a few tens of milliamps to avoid this happening.



    • Epilog Challenge 9

      Epilog Challenge 9
    • Science of Cooking

      Science of Cooking
    • Paper Contest 2018

      Paper Contest 2018

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




    I'd pay money for that (and I don't have much money to spare).

    Well, the parts get cheaper all the time. There are Chinese guys on ebay selling factory-direct LEDs for a tenth what you'd pay from a western dealer. Not very well tested; if you look at the video you'll see I lost a few green dies and one blue die. LED projects are a lot of fun; just don't wear them to the airport :)

    that's good im gonna try to cover the whole surface of a table with this. 

    Why not the airport? (Oh and I agree with the Hong Kong dealers, they're so cheap it's not even funny. Compare 100x 12000mcd Leds at $6.99 including shipping... to $2 Radioshack for 1 measly LED) (:

    Whoa. Didn't see THAT coming... I will defenitely not bring lit LEDs to airports anymore-- D:

    This is still one of my all time favorites.

    i'm in cambridge UK too! hi-five!

    How long would this run for before LEDs died? Also, how long you think it could run for on batteries (making it portable)?

    Well, I had a few dies die (heh) during development. Out of 300 dies, I lost about 4 greens and 1 blue. Those look like early-life failures due to a lack of factory testing; when you buy from some guy in Hong Kong via eBay, you take what you get. The design at present drives the LEDs hard (up to 100mA @ 10% duty cycle), which is within spec but won't help lifespan. With the modifications I've discussed elsewhere (using the 74HC to pull down) this drops to more like 10mA @ 10% duty cycle. I'd figure on a few thousand hours of continuous use before significant numbers of failures. With the modifications, you could get a nice display at 100mA average with a 3.5V supply, so say 10 hours out of a 3VAh pack. It sucks that the raw material cost for this scuppers it as a commercial product :(