# A CharliePlexed RGB LED Dice

18,953

37

16

Published

## Introduction: A CharliePlexed RGB LED Dice

This Instructable will show how to make a colourful dice using the technique of charlieplexing with RGB LEDs.

The project uses 7 RGB LEDs arranged in the form of dice.Each RGB LED has three separate LEDs inside so that makes a total of 21 LEDs and they have been controlled by 4 I/O pins of ATTiny13V Microcontroller.But according to the theory of CharliePlexing,we can only control 12 {n(n-1)} LEDs from 4 I/O Pins.

Actually the arrangement of the LEDs in the form of dice is such that they can be divided into four groups.Three having two LEDs each and one having single LED . The LEDs of each group are ON and OFF simultaneously and can be connected to same I/O pins with same enables.In short , they are treated as single LEDs.So that makes total of 4 RGB LEDs to be handled by the code ( 4 x 3 = 12 so charlieplexing holds)'

The 5 I/O pin of the Controller is used for Switch which when pressed generates random numbers from 1 to 6 and when released generates random colours( 6 in all)

## Step 1: Circuit Description

The circuit consists of tiny 13 , 7 RGB LEDs ,few resistors and a microswitch apart from power supply connections.The schematic in PDF and SCH format is available here

The resistors used in the circuit are in the form of arrays as shown in the image below.

CHARLIEPLEXING

Charlieplexing technique uses all the three possible states : 0,1 or Z ( High Impedance state) of the digital I/O pin of a microcontroller .It manages to control N*(N-1) LEDs using N digital pins. In this technique only one LED can be controlled at a time and hence all the LEDs to be controlled should be refreshed at a suitable frequency so that they appear stationary.

The LED to be controlled at a particular time has its I/O pins (to which it is connected ) declared as output and all other pins are declared as input ( High Impedance or 'Z' state)

## Step 2: Working Pics of the Dice

Here are a few more pics of the dice in action.
Look at different colours it can produce.!!!!!!!!!!!

## Step 3: Source Code

Here is the source code of the project written in C language. The compiler used is WINAVR GCC
Makefile and .Hex files are also attached

## Recommendations

• ### Large Motors Class

8,823 Enrolled

• ### Casting Contest

We have a be nice policy.

## Questions

does anyone know if I can order this somewhere or parts at least ?

does anyone know if I can order this somewhere or parts at least ?

hmm, please explain to me how LED1 G glows without the LED2 G glows?

Hi there, with todays technologies, I would consider using WS2812 rgb leds, you just load the data in and go, they can be daisy chained together, this would only take up ONE pin of the micro and probably make the code simpler too - and one more advantage... each colour has 256 shades, therefore you get the full 16.7million colours on each device !!

Nothing new nothing fancy here. They made it picbasic forum at 2006. Try that link; http://www.picbasic.co.uk/forum/showthread.php?t=3510 maybe minor differences but same idea, same technic, different micro.

Cool, I am the 5,999 viewer!

i am the 9038

You say "In this technique only one LED can be controlled at a time". It's my understanding that with charlieplexing you are able to have n-1LED's on at a time. Is your statement saying you are controlling the three LEDs (x2 for each color in the paralleled chip) in the chip at the same time ?

What programmer and software did you use?