Introduction: ArduFlake: Turn Your Arduino Into the Best Gift of All!

About: I'm a student, I'm a fulltime software engineer!
Please vote for me in the Holiday Gift contest and the Make it Glow contest!

First, this started out as a gift, and not an instructable. So please excuse some hand waving here and there as I do not have any pictures of the etching and drilling portions. 

Second, this is for my dear dear wife. Yep, I got lucky enough to have a wife who likes to solder. We found out this summer when out of the blue she asked me if she could solder my RockSat PC board. We also are huge fans of snow flakes. We even had a snow flake themed wedding! Finally, this our 6th year of marriage, so what could be better than a 6 pointed snow flake!

Ok, so get ready, get set, Lets make one together!

Step 1: Get Ready!

Lets gather our supplies.

Software: Parts Supplies Tools
  • Soldering iron
  • Clothes iron
  • Something to cut the PCB (I used a bandsaw)
  • Something to drill the PCB (I used a drill press)
  • Scissors

Step 2: Design Snowflake

NOTE!! 

If you like my original design you can skip this step and go straight to etching. I would like to guilt trip you a tad and remind you that every snow flake is unique. Copying violates that, but if you can live with it, so can I :)

Ok, so this process is more something that a graphics artist would be familiar with. For simplicity sake I spliced together a video that shows the process. 

In short...
  • Export PCB in eagle to clipboard
  • Open paint.net and insert
  • Find and open snowflake in Paint.Net
  • Resize snow flake appropriately
  • Create a new image with 3 layers, the black flake, traces in black, traces in white.
  • Layers should go flake, white traces, black traces.
  • Use a blur function to widen the white layer.
  • Use magic wand to select widened traces.
  • Use paint bucket to thicken up those traces.
  • Save as bitmap!
Confused? Try the video.

Step 3: Etch the Board.

Ok, ok. Get your design file out. If you are using mine, I suggest the PDF. 

This is the first time I have etched a PCB, so rather than lead you down the wrong path, let me refer you to a GOOD instructable on this. 

I liked this one:https://www.instructables.com/id/Mostly-easy-PCB-manufacture/?ALLSTEPS 

There are many good ones online.

Basically:
  1. Clean board with steel wool.
  2. Print on special paper (Used avery label paper worked for me).
  3. Iron the design onto the  board. Consult this video if you want to see it in action http://www.youtube.com/watch?v=QQupRXEqOz4
  4. Soak in water to remove the paper.
  5. Clean board again with acetone (I actually had to use steel wool again!)
  6. Place board in etchant
  7. Wait patiently.


Step 4: Cut and Drill the Board.

I'll admit, I cheated. One of my friends had a shop with drill press and band saw. I used these to cut my boards and drill the holes. My next attempt will use a dremel. 

A few notes as I drilled. The little hole inside the copper really does a good job guiding the bits. I ended up giving up on the presses x-y axis and z axis. I just ended up holding the board and pressing it into the press. Probably will do the same with a dremel when I do that.


Step 5: Build Snow Flake

Now the fun part! Warm up the iron, get your parts and start soldering.
  1. Solder headers
  2. Insert resistors (if you are clever, you will make the colors go int he same direction).
  3. Twist center resistors together.
  4. Solder large blob of solder onto giant center pad.
  5. After the solder has cooled, bridge the large blob to the resistor. The holes for the resistors were drilled to big. 
  6. Now solder the other sides of the LED's. Get the trace hot and put some solder on it then bridge to the resistor. Smaller holes would have been better!
  7. Place some solder on the twister pair at the bottom for good measure.
  8. Trim resistor leads.
  9. Place an LED barely in a hole. Long lead goes to the long trace.
  10. While holding the long end of the LED that sticks out, bend the LED.
  11. Align the LED to radiate and follow the traces and solder it in place.
  12. Repeat 5 more times.

Step 6: Upload Code

Now this is definitely fun. We have access to each LED of the flake. Use your imagination or my code.  Use the Arduino IDE to upload to your Arduino like normal. This code randomly fades an LED on or off. There is so much potential. Much of which my wife will be exploring as she learns how to program.
int maxi=1000;
int i=0;
int pins[6] = {
  0, 0,0,0,0,0};
voidsetup() {                
  pinMode(8, OUTPUT); 
  pinMode(9, OUTPUT); 
  pinMode(10, OUTPUT); 
  pinMode(11, OUTPUT); 
  pinMode(12, OUTPUT); 
  pinMode(13, OUTPUT);     
}

voidloop() {
  int r;
  r=random(8,14);
  int state= pins[r-8];
  if(state==1)
  {
    pins[r-8]=0;
    i=0;
    while(i<maxi)
    {

      i++;
      digitalWrite(r, HIGH);   // set the LED on
      delayMicroseconds(maxi-i);
      digitalWrite(r, LOW);   // set the LED on
      delayMicroseconds(i);
    }
  }
  else
  {
    pins[r-8]=1;
    i=0;
    while(i<maxi)
    {
      i++;
      digitalWrite(r, LOW);   // set the LED on
      delayMicroseconds(maxi-i);
      digitalWrite(r, HIGH);   // set the LED on
      delayMicroseconds(i);
    } 
  }

}



Step 7: Wrap/Give/Enjoy!

I gave her an assembled one, and completely un assembled one including an un assembled FreeDuino.

She liked it. I might even say she loved it!