Make your own StatTrak Fedora.

This hat will be able to track how often you tip it. Although it can't detect the action, so you have to push a button everytime you want the counter on the screen to go up. (For anyone who doesn't know or hasn't guessed yet, this is based on a couple of jokes on the internet like tipping your fedora to m'lady and StatTrak from the game Counter strike : Global Offensive)

This is an easy project to build in about a weekend. The Fedora that is shown in the pictures was also featured in a video by a popular youtuber (Look at 1:32) :

The idea for this project was inspired by this youtuber aswell. So check out his content, because he is funny guy.

We have also made a fake commercial for it:

Step 1: Step 1: Aquire the Ingredients

What you'll need to build the fedora is this:

  • Any type of fedora (preferably one with more headspace)
  • An Arduino Starter Kit
  • A piece of cardboard
  • Glue or a glue gun
  • Extension cables for LCD screen and the button

If you got all these items, you're good to go!

Step 2: The Code

You'll need a code to make it work (obviously). Here is the code:

#include <LiquidCrystal.h>

LiquidCrystal lcd(12, 11, 5, 4, 3, 2);

const int buttonPin = 6;

const int buttonPin1 = 8;

int buttonPushCounter = 0; int buttonState = 0; int lastButtonState = 0;

void setup() {

pinMode(buttonPin, INPUT); pinMode(buttonPin1, INPUT); lcd.begin(16,2); lcd.setCursor(0,0); lcd.print("TIPTRAK: "); }

void loop() {

buttonState = digitalRead(buttonPin);

if (buttonState != lastButtonState) {

if (buttonState == HIGH) { buttonPushCounter++; lcd.setCursor(9,0); lcd.print(buttonPushCounter); } }

lastButtonState = buttonState;


Step 3: Step 3: the Wiring Layout

For the wiring you'll need a:

  • Switch/Button
  • 10 Kilohm Resistor
  • 220 Ohm Resistor
  • Potentiometer
  • LCD Screen

For a picture of the layout, check the attached pictures.

Step 4: Get That Button Off the Breadboard!

Well you obviously want to able to count the tips. That is why you want to mount the button to the front of the fedora.

To do this you are going to need:

  • a breadboard connector
  • 2 wires (preferably 15cm or 6 inches)

Now that you have aquired these parts you can start soldering.

Solder the two wires to the connector. When you are done with this you can solder the other sides of the wire to the button. if you have done this right, you will be able to connect it to the breadboard were the button previously was connected. Test if the connections you have made are working by turning on the arduino and pushing the button. If the button doesn't work ,you'll need to check the connections you made with the soldering iron.

Now we can get to the next step.

Step 5: Now the Screen....

For the lcd screen you can actually do the same thing you did for the button, but there is an easier alternative to extend the reach of the screen. You can find premade extension wires (as shown in the picture) for the screen on sites like aliexpress or ask your local electronics shop if they have something like this.

Step 6: Mount It to the Fedora

Now this is the part were everything can go wrong, because you need to make holes in your beloved fedora. So take some time to measure everything before you just go crazy with your scissors.

On the picture you will see were you need to cut the holes

The red holes or slices are the places where you can stick the contacts (from the screen) through the fedora and the blue holes are technically not needed if you glue the screen to the fedora, but if you don't want to permanently mount it to it you can use these holes for screws or something like that.

Step 7: Put Everything Together

Start by mounting the button and the screen. Use hotglue where you need it.

Connect the screen to the arduino and do a test fit.

To mount the arduino in the fedora you will need a peace of cardboard or something similar. You can base your mount on the attached picture or fabricate your own. Always test fit and make cuts and adjustments were it is needed. When you have cut your mount to the right size ,you can attach the arduino to the mount using hotglue or something less permanent.

Now you have to figure out how to power the arduino. We do recommend using a powerbank. Cut a hole so you can connect the usb cable to your arduino .

After that you can mount the mount to the fedora. Use hotglue or something similar.

And basically you are done. enjoy!!

If you have any improvements please tell us.

I'm thinking about making this and was curios how you reset the tiptrak
<p>Can this work for a top-hat? I want to be the best meme alive.</p>
Yeah, it should work and will probably be more wearable than the fedora, Because there is more room in the hat , I think.
<p>Can this work for a top-hat? I want to be the best meme alive.</p>
<p>Can this work for a top-hat? I want to be the best meme alive.</p>
<p>Can this work for a top-hat? I want to be the best meme alive.</p>
<p>Can this work for a tophat? I want to be the best meme alive.</p>
<p>Can this work for a top-hat? I want to be the best meme alive.</p>
<p>Can this work for a top-hat? I want to be the best meme alive.</p>
<p>Hi eikew thanks for making this guide and i myself is planning to make one of these but i just need to know where i can buy the materials, is there any specific website that you would suggest? thanks - Tex :)</p>
<p>I used this starterkit (http://www.amazon.com/dp/B00UET6VJ6?psc=1)and based it somewhat on the crystalball project in the instruction booklet. Other parts I needed I could just take from my school and from old electronics (like the wire I uses for the button, that was a fan extension cable). I hope this helps in some way :)</p>
<p>This looks pretty cool, but I'm not sure I understand what the hat does. If you were to add a simple explanation up front in the introduction, that would be awesome ;)</p>
<p>going to do that. I do understand that someone who doesn't know what it is and just stumbled upon this post won't know what it is. </p>

About This Instructable




More by eikew:StatTrak Fedora (Factory New)            [ARDUINO] 
Add instructable to: