Because we all love blinking LEDs.

Similar projects worth following
This is a fun little project for Christmas. There are 16 LED's (red, blue, green and yellow) on a star shaped PCB. The LED's are switched individually by a micro controller in various patterns to create nice visual effects.


On the videos below you can see the currently implemented effects:

On the video below you can see how XMAStar behaves when the button is pressed:

On the video below you can see how XMAStar behaves on under-voltage:

My goals with this project

I wanted to learn the usage of Altium's Circuitmaker. Looking back it was a great choice. After the initial learning period Circuitmakeris a quite powerful free tool for PCB design.

I wanted to build a circuit that is powered with a DC-DC converter using 1 or 2 AA or AAA battery.

For a time I had this little project in mind so I wanted to realize it in this year.

When I was in my early teen years I build a similar star for Christmas. It was a great project. It used discrete transistors to switch the LED's, the transistors were controlled by an up-counter, running from an RC oscillator. It is great to see how technology and my knowledge advanced during the years so now I can design such a circuit with a DC-DC converter, micro controller and current generator based LED driver.


  • run the circuit from AA batteries
  • have at least 1 day of continuous operating time
  • use a DC-DC converter
  • control the LED's with current generator based LED driver

HW block diagram

On the picture below You can see the HW block diagram.

16 LED's are organized in star shape. The circuitry is switching on-off these LED's in various order to create fun visual effects. The color of the LED's are blue, red, yellow and green. I choose through hole LED's because the bulb size of through hole LED's are generally bigger than the SMD ones.

A LED driver IC is used to switch on-off the LED's on SPI commands, and to set the operating current of the LED's to 5mA.

The XMAStar is powered from two AA size battery (Alkaline, NiMH or NiCd). The AA size batteries are chosen because they have a relatively small size, has sufficient capacity to run the circuitry continually for at least 1 day (see the calculation later). Also good AA size PCB solder-able battery holders are available.

The voltage of the two batteries are not sufficient and stable enough to power the LED's therefore a DC-DC converter is used. It converters the battery voltage to fix 3.71V.

Note 1: 3.71V is chosen because the forward opening voltage of the blue LED's can be above 3V, the LED driver needs a minimum 0.6V to operate therefore voltage is chosen above 3V+0.6V

In sleep mode the DC-DC converter is disabled to save power. In disabled mode the DC-DC converter disconnects its output from the battery, therefore the LED driver and the LED's are not supplied, the DC-DC converter consumes around 1uA in sleep mode.

There is power supply selector for the micro controller. In sleep mode when the DC-DC converter is disabled the micro controller is running directly from the battery. If the DC-DC converter is enabled the micro is running from the DC-DC converter output. The power supply selector is implemented with two Schottky diode.

There is micro controller which has three main functionality

  • it sends SPI commands to the LED driver to switch on-off the LED's in various orders
  • it handles a push button.
  • it checks the voltage of the batteries, if the battery voltage drops below a certain level than the micro switches off the DC-DC converter and enters sleep mode

Since in sleep mode the micro runs directly from the battery a low power type PIC is used: PIC16LF1703 which can operate down to 1.8V.

Note 2: the upper voltage limit of this type of micro controller is 3.6V, subtracting the voltage drop on the power supply selector Schottky diode from the 3.71V supply voltage we are just below this limit.

There is one push button connected to the micro. By pushing this button the speed of the LED switching can be adjusted and the circuitry can be put in sleep mode. Meaning of push button presses respectively :

“Low speed state” → “Medium speed state” → High speed state” → “Sleep state“ →“Low speed...

Read more »

View all 18 components

  • Variants

    hkdcsf12/07/2015 at 19:25 0 comments

    So far I have built these variants:






  • Challenge 1

    hkdcsf12/07/2015 at 11:52 0 comments

    If you have an idea for a LED sequence please leave it in the comment part below.

    Please use the format given by the example in chapter 'System design: controlling the LEDs'.

  • Challenge 2

    hkdcsf12/07/2015 at 11:51 0 comments

    If you have suggestions how to decrease the power consumption further please leave a comment below.

View all 3 project logs

  • 1
    Step 1

    Visually check PCB for sorts or cut-off:

  • 2
    Step 2

    Solder SMD parts:

  • 3
    Step 3

    Solder LED's and button:

View all 6 instructions

Enjoy this project?



anaramo wrote 01/24/2018 at 08:02 point

Hello. Where can I download the hex file?
Thank you.

  Are you sure? yes | no

hkdcsf wrote 02/19/2016 at 05:00 point

Just realized that the PCB was not public in Altium's Circuitmaker. Now I made it public.

You can find the schematic and PCB under Circuitmaker community vault for free.
Search for the following tag: 'XMAStarLEDs', under Start/ Popular, new and watched projects 'show more'/ Community/ Projects.

  Are you sure? yes | no

hkdcsf wrote 12/11/2015 at 07:11 point


These are great suggestions.

I may try these in a PSpice simulator first.

Thank You!

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/11/2015 at 14:05 point

You're welcome, and it's a lot of fun too :-)
I should probably show off a prototype I made with a 3V Lithium battery.

  Are you sure? yes | no

Yann Guidon / YGDES wrote 12/09/2015 at 08:23 point

Cool project :-)
For more electronics fun, try it with

- a "Joule thief" (step-up with single transistor, a base resistor, a common-mode choke and a diode) [hours of development fun !]

- "charlieplexing" (you need 5 GPIO pins to drive 20 LEDs)

Together, I believe they will consume less power...

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates