GuGaplexed Valentine LED Heart using ATTiny13V Microcontroller

GuGaplexed ValentineGuGaplexing is a new LED display multiplexing technique. Compared to Charlieplexing, GuGaplexing allows you to control twice as many LEDs, with just a few additional components.
GuGaplexed Valentine LED Heart project has 40 LEDs arranged in an ‘Arrow Piercing a Heart” arrangement using only 5 pins of a microcontroller. The project uses an AVR ATTiny13V Microcontroller. All the 6 I/O pins of Tiny13 are used in this project; 5 for controlling 40 LEDs and the 6th pin to read a switch. Pressing the switch changes the display animation on the pierced heart.

Step 1 The Circuit Diagram

The circuit consists of a Tiny13, 40 red LEDs of 3-mm size, a bunch of BC547 (NPN) and BC557 (PNP) transistors, a few resistors and a push button switch. The Tiny13 is mounted in an 8-pin socket. The schematic in pdf and eagle format are available here.
An important point to note is that the circuit uses 5 transistor pairs using NPN and PNP transistors and these transistors must be matched for their beta values, which is done easily with suitable multimeter with transistor check function.
Briefly, the way GuGaplexing works is as follows: The microcontroller pins operate in one of three possible states: 0, 1 or Z (the high impedence state). Charlieplexing technique makes use of this fact to increase the number of LEDs that can be controlled compared to the conventional multiplexing technique, which does not exploit the third state (i.e. the high impedence state ‘Z’) of the pin. Thus Charlieplexing manages to control N*(N-1) LEDs using N digital pins.
Now wIth 2 pins, there are eight logic combinations: 00, 01, 0Z, 10, 11, 1Z, Z0, Z1 and ZZ. So in principle with suitable decoding of these states, it should be possible to connect 8 LEDs using two pins only, ofcourse at the cost of additional external components for the decoding job. GuGaplexing does a compromise and uses a pair of transistors (NPN and PNP) per pin to decode four of the possible eight combinations. Thats how, for N pins, GuGaplexing achieves 2*N*(N-1), which is twice as many as Charlieplexing.
More details of the GuGaplexing LED display multiplexing technique will be available as a Design Idea on EDN ( in near future.

Step 2 GuGaplexed LED Heart in action

Here is a youtube video of the project in action.

Step 3 Source code

Here is the source code of this project written in C and compiled using winavr gcc. The source code, Makefile and the hex file is attached.
For more Detail: GuGaplexed Valentine LED Heart using ATTiny13V Microcontroller

About The Author

Ibrar Ayyub

Ibrar Ayyub is an experienced technical writer with a Master's degree in computer science from BZU Multan University. He has written for various industries, mainly home automation, and engineering. He has a clear and simple writing style and is skilled in using infographics and diagrams. He is a great researcher and is able to present information in a well-organized and logical manner.

Follow Us:
Scroll to Top