Many of you have probably seen the Awesome button done by Matt Richardson of Make Magazine. If not here is his video which was very well done and was the inspiration of my project.

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

You will need:
  • 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
  • Heatshrink
  • USB mini cable 

Step 2: Take it apart

First things first, take the easy button totally apart. Just like in the Make video we are going to need to take it all 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

Staples earlier this year changed the circuit board in the teensy which made it alot tougher to hack. The change removed the thru hole resistors and replaced them with surface mount resistors. This means there is no longer a 'easy' place to solder to to have access to the button.

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

The RGB LED i used had a common ground,  each of the RGB leads has its own resistor on it, 

Red-180 Ohm
Green-100 Ohm
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

This was the scariest part for me, because once you've done it you've done it. 

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

My encoder had 5 leads on it. 
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 
Ground  High

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
Ground -Ground

Step 7: Teensy and USB cable and the casing

You are going to need to cut away almost all of the battery compartment as well as the two screw pillars right next to the battery compartment in order to get everything to fit, even with these changes though its quite strong.

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

Ok now your almost done!!

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.
Hi, great project. I have been using ifttt for fun and work, i then discovered bttn. You can see bt.tn it can act as a trigger for any of the 100s of apps that intergrate with ifttt. Unfortunately the bttn is very expensive and i could use more than one around home and work. Any advice if something can be hacked of if its even possible to trigger ifttt specifically? These all seem like normal keyboard commands where as this needs to be a programed function? Sure there is a workaround and i know it would be a super cool instructable!
Great project. I'm trying to learn a bit more about electronics, and appreciate your work. I have a question, too. I have a newer easy button. I looked at your picture. It looks like you scraped the pcb between the two button connections and solders, effectively connecting the two. Is that right or am I not seeing it. <br> <br>I guess I'm asking if you are connecting the two lines or not. Thanks.
Thanks for looking at the post. I did scrape away some of the pcb between the connections i think i did that when i was originally trying to solder to the wire trace. The trace is actually that copper in between the two black wire looking lines that's what i was scraping the pcb board off of so i could solder to the copper between the two small black lines if that makes sense.
Thanks. That is helpful. I'm glad I asked because I originally thought I was going to scrape some of the line off to connect. <br> <br>I think I'm a bit out of my league. I scraped it and held a wire there to check for continuity, which I can get, but it is difficult. When I pushed the button, I expected the current to drop. It doesn't. So I'm not sure I'm ready to solder it in place. This project looked much easier with the older button.
Would make a great &quot;read it later&quot; button using the global keyboard shortcut and the ReadLater app on Mac. I think I'm going to hack that one up!
For a controller suitable for Minecraft that is better than a keyboard and mouse, I am sure, the amount of lines of code would be unbearable lol...
well the code really isnt too bad once you get it setup, as for minecraft im not really sure what kinda commands one sends in that game(havent played it apart from the android version) so i cant say weather this would work well or not, one thing to look into for a easy way to do something like this is the nostromos n52 game controller which does alot of things like this, only its all done in software not actually written to the button like this is but so long as you stay at the same machine it should work well i would imagine.
I love the ideas! Some quick questions though....<br>&gt; What is the (average) cost of the teensy? <br>&gt; How many inputs (and outputs if any) can it support)<br>&gt; What types of inputs can it support? (Analogue/Digital/TTL) <br>I am wanting to make my own custom DJ controller... for a few reasons:<br>Cost - main reason... also design and style - I am wanting to make my controller fit into the steampunk genre... and portability - I am wanting to make it wrist/arm (think, like a bracer) mounted... for truly mobile DJing...<br><br>Thank you,<br>(amongst many other names)<br>DJ Electfire
Follow the link on Step 1 &quot;supplies&quot; that should clear up all your questions but here: <br>the teensy is $16+s/h <br>http://www.pjrc.com/teensy/<br>it has 25 i/o, 12 of which are able to be analog inputs, 7 of which are able to be PWM<br>it also supports TTL<br><br>I have a dozen different arduino's but w/o a doubt my new favorite is the teensy due to its small size, cheap price and ablity to act as USB host.
Thanks for the information! <br>(I completely missed the link)<br>*Faceplam* <br>Thanks though!

About This Instructable




More by thematthewknot:Awesome button, and then some.Hack Your Canon CameraSimple Arduino Stoplight Controller
Add instructable to: