Chirstmas Tree With Arduino and PixLeds

by emdee401 in Circuits > Arduino

740 Views, 2 Favorites, 0 Comments

Chirstmas Tree With Arduino and PixLeds

xmastree (2).jpg

This design is based on my "Dreamcatcher with Arduino Rainbow". I added a onboard on/off switch and a reshaped the PCB design into a Christmas tree 'board outline'.

It has a TIny85 Atmel controller and you can upload a boot-loader to use it as an Arduino. The Christmas tree decorations are replaced by pixleds WS2812 ( 14 x)

It can by run off battery 9V or even 2 penlite batteries ( 3V)

It has a mode switch to change the pattern of the lights but at the time of release, it has not been implemented in the firmware. However, feel free to adjust the coding to your liking...

You can make your own PCB, schematics and gerbers are included. You can also buy a pcb at my tinder store.

The size of this christmas tree is approx. 150 x 300 mm

Supplies

PCB "Xmas tree 1.0"

https://www.tindie.com/products/markdonners/christ...

Atmel Tiny 85

14 ws2812 pixel leds

and a handfull of small components...

A complete "BOM" list is included

Assemble Your PCB

assembly_green tree.png

If you purchased a PCB without components, you'll need to buy them and assemble all yourself.
Start assembling the SMD components and solder the headers and USB connector last.

If you don't have any experience soldering SMD, you could choose to buy a assembled PCB. The components in the BOM list are from my library. Components like resistors and capacitors may be replaced with different brands etc. No need to stick to the list as long as the value of the components is the same.

You can purchase a PCB from my Tindie store:

https://www.tindie.com/products/markdonners/christ...

or you can make one yourself. PCB gerber files can be downloaded here:

www.judoles.nl/Projecten/xmastree/gerbers.zip

Program the Bootloader

1.png
3.png
2.png

Bootloader
To us the ATTINY85 with the Arduino user interface you will need to install a bootloader onto the microcontroller first. Without a bootloader installed, communication between the microcontroller and the Arduino interface is not possible. A bootloader is a little program that, when installed, will monitor some in/output lines of your microcontroller to see if the Arduino interface is trying to talk to it. It can be used for uploading a new sketch to your microcontroller without the use of a ISP programmer. It uses USB instead. Basicly, the Arduino dreamcatcher uses the Micronucleus bootloader.

Installing the Bootloader
To install this bootloader onto your ATTINT85 microcontroller, follow the steps below: Connect your programmer to the ISP Header on the DreamCatcher board. I used an Atmel AVRISP MKII that I operate with the frealy available AtmelStudio. See the link below:

https://www.microchip.com/mplab/avr-support/atmel-...

Maybe you prefer to use a different programmer and software or an
Arduino UNO in "In Circuit Programmer" mode...All is fine as long as it gets the job done. For those of you who don't have a programmer and like to use that UNO as a programmer; take a look at other instructables. However, I prefer using my AVR programmer in combination with the free AtmelStudio. So, lets start! Open Atmel Studio, go to the TOOLS menu and select Device Programming.

Select your programmer, device, and interface and click Apply. If everything is wired up correctly and there are no driver issues etc. then you should be able to read your device signature by clicking read. Depending on the type of programmer, you will also see the on board voltage of your dreamcatcher. Which brings me to the following important reminder: Make sure the power to your dreamcatcher is on! one way of doing this is to connect the USB cable. Most ISP programmers will not power up your board so you need to power it for them in order for the programmer to work! Now it is time to program it. Upload the bootloader t85_default.hex

Don't forget to program the fuse bits while you are at it.

Set Fusebits\

SELFPRGEN = [X]

RSTDISBL = [ ]

DWEN = [ ]

SPIEN = [X]

WDTON = [ ]

EESAVE = [ ]

BODLEVEL = 2V7

CKDIV8 = [ ]

CKOUT = [ ]

SUT_CKSEL = PLLCLK_1KCK_14CK_64MS

EXTENDED = 0xFE (valid)

HIGH = 0xDD (valid)

LOW = 0xE1 (valid)

Now that the microchip is prepared and ready to receive our first sketch we’re almost good to go. There is one more thing that needs to be done. We need to install the windows driver.

Installing the driver for this board.
Actually, the driver for this board is the same as for the Digispark HW-18 board that was used as a starting point for my PCB design. The driver files are included or can be downloaded here:

https://github.com/digistump/DigistumpArduino/rele...

If you need help installing this driver, look at this video:

Upload the Firmware (Sketch) to Arduino

sketch.jpg

The sketch V1.0
The first version of this sketch doesn't support the modebutton. This will be implemented in the next release. The idea behind the modebutton is that you can change the way or sequence that the leds light up. However in the first release V1.0, it is not yet implemented.

Installed Arduino libraries:

you'll need to install Adafruit_Neopixel library

If you haven't already, you will need to install the Arduino compiler. You can find it at Arduino.cc or find it with google.

You will also need to install the Adafruit_Neopixel libary. In my sketch I used version 1.5.0. You can install it by using the menu item: 'Library Manager'.

The sketch is called Dreamcatcher because it is the same sketch i used in my dreamcatcher project

Enjoy Your Tree and Have a Merry Chistmas!

assembly_green tree.png

Don't forget to tell your friends about this amazing tree. Better yet...build one for them! It's a cool present!