Business Card Gamepad

Bussines Card with PC interface via Micro USB Type B PCB connector that acts like a gamepad. USB connectors for FREE!!!

Similar projects worth following
This project is an excuse for use and test the new an awesome USB PCB connector Eagle library!. This is the project i used to develop and test some PCB connector ideas i had.

I made a PCB business card that connects to the PC via Micro USB type B PCB connector an let you use the card as a game controller.

The card uses an Atmega32u4 microcontroller with USB interface integrated, capacitive PCB pads as buttons, an some Arduino libraries to make the card act as a game controller when pluged in a PC.

The idea of this project is to make a business card, but a real one, a slim card that you can have in your wallet to show how cool are you, and play some games... wait, what? 

Business card, so boring... why not use it for something more fun. This project is about making a PCB business card that can be used as a game controller.

Features of the project.

The project is a mixture between an Eagle project for the PCB and an Arduino project for the software part, that makes a business card that can be used also as a game controller hooked up to a PC.

The main inovation of this project is the use of a USB micro B PCB connector (free connector!). Using a PCB thickness of 0.6 mm (the thiner the card, the better for your wallet) and the USB PCB connector Eagle library, you can imitate the mid plate of a real USB micro B receptacle, so it can be used with the widely available USB to micro USB cable to connect the card to a PC.

Thanks to this connector you can use it as USB device, and if you add the use of the ArduinoJoystickLibrary you have the ingredients for a PCB gamepad.

In order to save even more money i decided to use capacitive touch buttons (free buttons!), using the PCB copper as base for the buttons and the change of capacitance of a copper pad with the closeness of a finger for detecting a press. It uses the Arduino ADCTouch library that uses a simple trick to detect a change in capacitance in an ADC input of the microcontroller that is connected to a copper plane.

  • PCB Connector Testing

    juan jesus12/31/2017 at 17:15 0 comments

    Before prototyping I wanted to test the PCB connectors first, because I have some footprint variants and I didn't know which one was the best.

    For that reason I made a test PCB with 8 footprint variants, 3 for the micro b connector and 5 for the type c connector.

    I ordered it from a very cheap PCB manufacturer, I had some problems with their web, and I had to do the order it 2 times. Because i was in a hurry the second time, I used  the wrong PCB thickness of the board and ordered 1.2 mm PCBs.

    I realized it when the PCBs come, two weeks later, so I was a little bit annoyed. The whole point of making the PCBs was to test the connectors, and with a PCB thickness of 1.2 mm I could not do anything.

    (Luckily for me, this mistake save me from a possible laptop destruction, you will see why)

    I don't want this PCB to waste so I tried to modify the PCB to make, at least, a rough test of the connector. Thankfully, those PCBs are made of FR4 material, and the way it is made is from thin layers of glass fiber, this make easy to scrap some layers to achieve the right thickness of 0.6mm (with the help of a caliper).

    The footprint for the PCB connector type C is two sided, because the reversibility of the real connector, you can plug it either way. On the other hand, the real USB micro b is only one way, but my first footprint for that connector were two sided, that means that if you connect a USB micro b cable to that connector, in one side it does connect with the pads of the connector, but on the other side, the plug has a metallic surface, so all the pads are shorted together. That means that it could short circuited the USB supply and if there is no overcurrent protection it can potentially destroy my laptop (I seen some example of that).

    I was scraping the PCB, thinking that I could not prove the reversibility of the connectors when I realized that it could cause the short circuit. of the USB, so my annoyance turned into happiness. I still could not test the reversibility of the connectors, but at least my laptop was safe. And at the end the test was successful and i was prepared to do the real prototype.

    By the way, the test results were that the tighter the connector the better. So my conclusion was to make the cutout for the connector as small as possible to add more grip to the plug and maintain the cable attached to the PCB, and also make the cutouts a little bit longer considering that the drill doing the cutouts is round and can not do perfect corners.

  • Free USB Connectors!

    juan jesus12/24/2017 at 20:14 1 comment

    One of the main features of this project is the PCB USB connector that makes the interface between the business card and the computer.

    As I said, I wanted a very thin card so the use the USB type A PCB connector was descarded (you need are least 2.4mm thickness for a good grip). 

    Another reason for not choosing the USB type A PCB connector is that this PCB connector was made simulating the USB type A plug, so you have to connect it directly to the PC, and this is not good for a gamepad, is really difficult to play videogames with a game pad with no cable. You can find one of those USB plug/USB receptacle cables, but those are not very common.

    So I thought, what is the USB cable that we all have around? And the answer was the USB to micro USB cable. 

    I searched for the specification of the USB micro B cables and connectors to look at the dimensions of the connectors, and find a way to create a PCB micro USB connector. 

    One of the restrictions of the PCB connector is that the thickness of the PCB has to be one of the commonly used thickness: 0.6mm, 0.8mm, 1mm, 1.2mm, 1.6mm, 2mm.

    To my surprise the mid plate of the USB micro B is around 0.6 mm (the majority of the cheap PCB manufacturers can do 0.6mm PCBs, with little or no extra cost), the contacts are a bit below the surface but the other side of the connector is spring loaded, so you can have a a bit of slack. Copying the pads pattern of the mid plate was all i needed to create a footprint in Eagle.

    For getting extra points I also investigated about the "new" USB type C, and looking at the specification it also uses a mid plate of around 0.6mm thickness. It has much more pads and unlike the micro B, it can be used either way. So i created another top and bottom layer footprint for the USB C connector.

    I put together those footprints with some variations and even a USB type C connector USB 2.0 compatible in a single Eagle library.

    Those types of connector are not bullet proof, obviosuly it can not be used for a lot of pulgs and unplugs and the fit is not 100% perfect. But if you have a project that needs a USB connector, and you don't mind to use a 0.6 mm thickness PCB, you can use it and have a free, low profile connector.

  • A bit of background and research

    juan jesus12/20/2017 at 22:13 2 comments

    Before I started this project I searched how other people made his own PCB business cards to find ideas and possible problems that they encountered to help me make my card.

    With a fast search on google you find a lot of projects with PCB business cards, some of them are just business cards with no other purpose than that. But the vast majority of these projects have another use for the cards. Those are some examples:

    • Ilia Baranov's useful card. Nice card to have around, it has a ruler, hole sizes, and footprints of commonly used components.
    • Here it is a flamethrower business card! awesome!
    • POV business card. I really like the way the routing has been done, it looks futuristic. 
    • Brian McEvoy and his blinky cards. Simple, beautiful, and functional. The free battery holder just blows my mind, awesome idea.
    • Logical Card. How many logic gates does it take to change a light bulb?

    Because I wanted to connect my card to a PC I searched for business cards that had PC connectivity. Those are some examples.

    • Brian Carrigan business cards versions 1 and 2.
    • Mathieu Stephan right thickness card
    • Corey Harding development board card. It acts as a keyboard to write his contact info in any text editor.
    • Ch00ftech paint Card. It acts like a mouse and draws in paint his logo, very cool!

    The problem with all those cards is that they used the old fashioned USB type A connector. In order to use this connector you need a PCB thickness of 2.4 mm for a good connection. There is not a simple way to achieve this, some uses extra solder on the USB connector pads, some use tape on the back of the connector, and my favorite one (The Mathieu Stephen business card), uses a 2 PCB stack (1.6 + 0.8) to achieve the exact thickness. But with this thickness the card is not usable for a normal wallet. it is very rigid and fat to be inserted into the wallet.

    With this information i had 3 or 4 ideas of what i wanted for my card, but finally I decided to do a gamepad business card, because it was something I didn't see and i like to play old video games.

    Later I found that someone had the same idea before me, but I don't know if he really finishes the project.

  • What I want in a business card

    juan jesus12/12/2017 at 21:41 0 comments

    Features i'm looking for:

    • Use: A business card is something you take, use one or two times and through it away or store it in some dark drawer for the rest of the eternity. I want to give it a second life, a use for something else.
    • Design: “Design is not just what it looks like and feels like. Design is how it works.” –Steve Jobs
    • Innovation: Innovation is always good, or so the news says.
    • Price: A business card can't be expensive, you are giving it away for free!
    • Thickness: I don't want to have a wallet about to explode in my pocket, i want a slim card.
    • Coolness: If it has an use and also looks cool, what more do you need?

    And with those features in mind, I designed my business card.


    i had some ideas. First, i wanted to use it as a memory storage device to store my CV, but Mathiew Stephan already did a nice work with the two versions of his business card. So not to leave the innovation aside, I wanted to make something different. I was between two ideas, in one hand I wanted to use it as a USB midi device (a piano was my first approach) and in the other hand a gamepad controller. Gamepad sound a lot cooler, so we have the use! 


    I'm not a very good designer, but as the quote I wrote before, i tried to focus on the simplicity and the usefulness of the card.


    The most difficult part. Luckily for me this project started not only because I wanted my own business card, but also because I have an idea of a USB PCB connector. So my contribution to the world is a new type of PCB connector. Free connectors for everyone! 


    One microcontroller, one crystal (needed for the USB timing), ten passive components, a PCB. USB PCB connector: free, PCB touch buttons: free. Can it be cheaper?, maybe, but not much more. 


     0.6 mm looks thick to you? most RFID cards are 0.8mm ;). Due to the USB micro B PCB connector it uses, the thickness of the PCB must be 0.6 mm to assure a good fit of the plug, that makes a very thin card. Is true that you need to account also the thickness of the components once soldered to the PCB, that makes the card a little bit thicker, but hey!, is a 1 mm gamepad, what more do you need?


    Gamepad... in your wallet... When your wallet gets stolen on the way to work, you are going to be sad, not for the money, or the photos of your family, you are gonna be sad because today you are not going to be able play old video games when your boss is not looking :_(.

View all 4 project logs

Enjoy this project?



tsibg wrote 03/26/2023 at 07:43 point

Nice! Despite the project being few years old now I decided to test the USB-C connector layout! Surprisingly the only one USB-C on PCB footprint I could find in the internet was into this project!
And it works! 

Just a side note: The layout with tracks did not have CC1 and CC2 coming out from the USB, which are usually needed to be pulled down with R5.1K. 
Also, maybe it is good idea to try PCB_USB_C_2.0DS_2 with smaller gap -0.1/0.2mm. Good news: It plugs well! However, the pcb can be slightly moved left-right when plugged.
In real world the only cables I had problem with were old USB-C cables I had used for years, otherwise is just fine. Will give a try to the data lines soon.

Update: While I got the USB-C working for power with some cables, it seems that it is too loose for data. Maybe it should be 0.7mm thick?

  Are you sure? yes | no

Alex Buznik wrote 10/30/2019 at 18:11 point

Great work!

  Are you sure? yes | no

Jacob MacLeod wrote 10/24/2019 at 10:44 point

This is so cool!

  Are you sure? yes | no

2019 wrote 10/24/2019 at 10:05 point

If I paypal you some cash, would you please send me one? :D

  Are you sure? yes | no

peels wrote 10/23/2019 at 23:27 point

Why not keep the "free" USB connector and have it plug in via a female USB type B micro connector?

  Are you sure? yes | no

deʃhipu wrote 10/24/2019 at 08:56 point

The thickness of the PCB would be a bit much for that.

  Are you sure? yes | no

Foul wrote 10/23/2019 at 16:53 point

Add Bluetooth and it will be perfect ;)

  Are you sure? yes | no

deʃhipu wrote 10/23/2019 at 18:16 point

As soon as they introduce Power over Bluetooth.

  Are you sure? yes | no

Alexis wrote 12/27/2017 at 23:03 point

Can you upload a BOM? It seems there isn't one in the GitHub repo :(

  Are you sure? yes | no

juan jesus wrote 12/29/2017 at 18:27 point

GitHub repo updated with BOM, thanks for your notice

  Are you sure? yes | no

Alexis wrote 12/29/2017 at 21:27 point

Thank you so much! It is very cool!

Can you tell me how did you program it? I'm new into this but I assume that the bootloader needs to be burned right? 

Thanks in advance!

  Are you sure? yes | no

Jacob MacLeod wrote 10/24/2019 at 10:48 point

@Alexis, I think you use another Arduino as ISP and connect the right pins to the AtMega 32u4, and run and upload a file to the Arduino, which will burn the boot loader. I am not sure though, as I haven’t done it, just seen videos about it. I think you probably would then connect pins to a serial-usb adaptor and plug a usb-usb wire into the computer and program the AtMega chip normally. 

  Are you sure? yes | no

Walker Arce wrote 12/25/2017 at 01:12 point

You just saved me some time at work with this Eagle library. Thank you!

  Are you sure? yes | no

ActualDragon wrote 12/12/2017 at 17:42 point

sweet, this can go right next to my credit card knife. XD 

  Are you sure? yes | no

Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates