I liked the idea of having a button to press for a certain function on the computer, however i wasnt such a fan of having a $5 button, and a $16 microcontroller operating only one function.
So my project differes in a few ways.
I added a RGB LED on top of the button, I also added a rotary encoder on the side of the button.
The idea being this:
the encoder switches the function the button preforms, and the LED gives you feedback telling you what mode it is in now so you know what function will be preformed by pressing the easy button.
Step 1: Supplies
- Teensy 2.0(http://www.pjrc.com/teensy/) $16
- Staples easy button ~$5 (if you can find a older one get that, becuase the new one has a different circuit board thats difficult to access the button on)
- RGB LED (http://www.sparkfun.com/products/9264)
- 5mm LED holder
- Rotary encoder/knob(I got a bag of 10 encoders for $10 off ebay, and the knob i am using is from a guitar)
- Wire ~18 gauge
- Soldering iron
- Dremel or other rotary tool to cut though plastic(youll be coping alot lol)
- Drill w/ assorted drill bits.
- Hot glue
- USB mini cable
Step 2: Take it apart
Once you have it in pieces there are some more things you can remove
Cut both the wires to the speaker and the battery compartment, Also remove the springs in the battery compartment
Remove the weighted bars, also go ahead and remove the capacitor on the button circuit board, we wont need it either.
At this point you should have a pile of things that wont be going back into the button(speaker,batterys,battery spring, wire, capacitor)
Step 3: Circuit Board
But not all hope is lost. if you look though my pictures you will see you need to drill a hole in the PCB and then solder to it. Becareful that when your scraping away the coating you only scrape whats in between those two narrow lines.
Step 4: LED
Blue- 100 Ohm
You can see in the picture each lead is covered with heatshink this will prevent any shorting.
The LED is then connected to the Teensy
RED goes to Pin 15
Green goes to Pin 14
Blue goes to Pin 12
Step 5: Drilling holes
There will need to be 3 holes, one for the USB cable, one for the LED and one for the encoder.
I drilled the LED one dead center above the A and S in EASY. Make sure you start with a small hole and slowly work up to fit the LED holder.
The other two holes are a bit more tricky, You need to look at your encoder's size and figure out where to put it, mine is where those metal bars are originally. This step will vary depending on what encoder you have and where you want to place it.
Step 6: Encoder
2 are for the momentary switch if you press the knob in
3 are for the encoder part
On the encoder side there is
A Ground B
On the Switch side there is
As you can see from the picture i wired both grounds together to save on the number of lines going back to the teensy.
The encoder gets connected to the teensy:
A - Pin 6
B - Pin 7
Button - Pin 5
Step 7: Teensy and USB cable and the casing
As you can see in the picture there's not much room in here at all. You will need to cut the USB cable thread it though, and then resolder it. At this point you should have everything attached now the fun part...putting it all together. It took me about 30min to figure a way to get everything in there and having the button still operate. One tip is the screws you took out from the inside, they dont get put back in. The only screws i used were the 4 on the bottom, the rest is so tight though theres no need for them.
Make sure you have the reset button accessible from the battery door so that you can program the button after its together.
Step 8: Code
Once you have everything together time to plug in the button, you should still have access to the reset button on the teensy.
I am not going to go into the software side of how to program the teensy here, but i did in my other instructable http://www.instructables.com/id/PC-B-Gone-V1
Attached is some simple code i wrote for this button(same code as shown in the demo video i made) There are many more functions you can easily add. I have posted version two which also includes a python script to run on your computer to use one of the functions as a email checker.
I hope you have gotten some ideas from my project and look forward to seeing what you make.
Feel free to post any questions you might have, i check this site daily so i should be able to get back to you pretty quickly.