Jay and Jaimie make a huge backlit LED skull sign for the shop using the X-Carve and an Arduino!

A few weeks ago we helped a friend out and used our X-Carve to make a big sign for an event. We got inspired and realized we didn’t have a sign of our own so we set out to design it! We used birch plywood and built it in two layers, then used an Arduino to control the LED strips that light it up. This was a relatively simple project that was as much fun as it looks. You should definitely make one!

COMPONENTS:
Arduino Micro – https://amzn.to/2CcIaDT
LED Strip – https://amzn.to/2CcIlix
Mini-Breadboard – https://amzn.to/2TmzPrL
Capacitor – https://amzn.to/2tTpww6
Resistor – https://amzn.to/2Hj8RKw
Jumpers – https://amzn.to/2EToiaJ

MATERIALS:
Birch Plywood
Black Spray Paint
White Wash Stain
CA Glue
1″ Plastic Spacers

TOOLS USED:
X-Carve CNC – https://bit.ly/2vyBZGM
1/8″ Downcut Spiral Bit – https://bit.ly/2VGSoDJ
CNC Clamps – https://bit.ly/2IYqaTL
Z-Probe Kit – https://bit.ly/2Hkz4IH
CNC Dust Boot – https://bit.ly/2VISv1w
Table Saw – https://amzn.to/2TaegKQ
Hand Drill – https://amzn.to/2Hgz4cG
Impact Driver – https://amzn.to/2Tqy4tF
Hot Glue Gun – https://amzn.to/2XKn3lI
Utility Knife – https://amzn.to/2SLslJL
Clamps – https://amzn.to/2Cjkga3
Microjig Push Pads – https://amzn.to/2Hko7ql

The Arduino, Schematic, and Code

We used an Arduino Micro for this to control the LEDs that light up the sign. There are lots of off the shelf LED controllers available but we enjoy coding it ourselves. It gives us more control and allows us to change things whenever we want, which is right up our alley! Along with the LEDs (300 sequential LEDs, all in a single strip), there’s the Arduino Micro, a small breadboard, a 100uF capacitor, a 470ohm resistor, and a barrel jack for the 5V power source.

Powering the Arduino and LEDs

The Arduino uses a USB micro adapter for its power and the LEDs are powered externally by a separate 5V power adapter. Because there are 300 LEDs and they’ll be using a lot of power, its recommended to power them separately and not through the Arduino.

Since both the Arduino and the LEDs use a 5V power source, we could have spliced the one wall adapter to power them both…but in our case, it was easier to just use two cords. We might upgrade it in the future to simplify once we’re sure we’ll stick with this configuration long-term.

The Mini-Breadboard

The LED manufacturer recommends putting a 100-1000uF capacitor on the positive/negative terminals between the power input the LEDs to prevent any surges from damaging the LEDs, so we did that (100uF). Additionally, they recommend putting a 470ohm resistor between the data pin of the LEDs and the Arduino for the same reason, so we did that too. Since we didn’t have a circuit board to solder these extra components to, we used the breadboard as a junction to get the capacitor and resistor in place. We also used it as a junction for the power and ground jumpers, since it was there.

The Code

We’re using FastLED, which is an excellent free library available for Arduino that makes it super simple to make LEDs do…basically whatever you want. 🙂 You can choose which type of LEDs you’re using and then use some really simple APIs to control them. Highly recommended if you’ve not used it before!

Otherwise, the code is dead simple! Choose your LED type, figure out how many there are, then tell them what to do. 🙂

Code and schematics can be found below.

The Arduino Code (Click to Expand)

// Include Libraries
#include "FastLED.h"

// Define Global Variables
#define NUM_LEDS 300
#define DATA_PIN 2
int fadeAmount = 5; // How fast does it fade? e.g. Higher number = faster fade.
int brightness = 0;

// Define the LED Array
CRGB leds[NUM_LEDS];

void setup() { 
FastLED.addLeds<WS2812B, DATA_PIN, GRB>(leds, NUM_LEDS);
}

void loop() {

for(int i = 0; i < NUM_LEDS; i++ )
{
leds[i].setRGB(47,49,61); // Set Color (RGB)
leds[i].fadeLightBy(brightness);
}
FastLED.show();
brightness = brightness + fadeAmount;

if(brightness == 0 || brightness == 255)
{
if(brightness == 0){
delay(20000);
}
fadeAmount = -fadeAmount ; 
} 
delay(10); 

}

Check out some related Projects!

DIY Raised Planter Box

DIY Kids Montessori Bed

DIY Backyard Mini-Ramp

DIY Halloween Countdown Clock