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

I am an experienced technical writer holding a Master's degree in computer science from BZU Multan, Pakistan University. With a background spanning various industries, particularly in home automation and engineering, I have honed my skills in crafting clear and concise content. Proficient in leveraging infographics and diagrams, I strive to simplify complex concepts for readers. My strength lies in thorough research and presenting information in a structured and logical format.

Follow Us:

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top