Integrated Game Business Card

Use this to distract your customers. This one will stay on top of their desks instead of getting lost in a drawer.

Public Chat
Similar projects worth following
This has been a small on and off again project of mine for the past few years.

It started when I designed a device that used an SSD1306 OLED, but the final board had to be thinner than if I soldered an off the shelf through-hole module to it. Once I had a design finished that let me integrate the panel to my device via i2c, I noticed a cool joystick module from Alps... Then an idea crossed my mind. I searched for something open source that could display on a SSD1306 using a low power processor and came across an excellent API with many nearly complete games at tinyjoypad. The games are designed to work on the Attiny85. I used the ssd1306xled library by tinusar and made a few minor mods to change the display orientation -- and there it was!

A few revisions later (mostly to deal with component shortages due to 2020) and it's all yours.

You can download all files from Github.

Video Game Business Card

This business card uses an ATTiny85 programmed by an Arduino AVR via the pin header. It uses the Open Source repository from Tiny Joypad for the software. The screen can be just about any 128x64 SSD1306 device. I use the .94" one to keep costs per unit down, but I designed the card with space to fit a larger size screen too. The button top of the joystick is designed in OpenScad and 3D printed. 

This is very much designed to a price.  That's why there is no USB port, no rechargeable battery, and it requires an external programmer via an unpopulated AVR pin header. 

My original goal was to keep the BOM below $6.00, but it's crept up a little over time.  I also had to re-design it because I could not order the attiny85's in a SOIC package for a while.  QFN's are more difficult to solder, but I think the card actually looks better for the work!

Some of my component choices were also simply "because I had a lot of them."  When looking at the card, see if you can find any components that only slightly make sense.   There are a few of those.  Balance those with the cost of ordering different ones and waiting for them to arrive and the method to my madness becomes apparent. Oh, and for the love of all that is pizza: Use a more thumb friendly button.  I had way too many of the ones you see here and had to get rid of them. They make an ok button for game play, but you can do better.  Don't be as cheap as I am.  Be better!

The software is from the amazing set of games/tools/api from danielc at  All it took to make them work as a little code integrating a graphics library and some to flip the screen so it works with this design.  That code is on my github page.  I like the idea of being able to switch games, so I included the least expensive option I could.  An unpopulated pin header is on the card that I use to program it. 

The programmer I use is an Arduino nano with a 10uf cap between GND and RST, and 5v, GND and D10 -> D13 to the appropriate pins soldered to a 2 row 6p pin header that I wedge into the holes on the card to load software.  (My teacher wife would roll her eyes at me because of that last run-on sentence. Glad she's not going to see this.) The total cost of the programmer is around $6.00 and lets me be flexible with the software I load on the cards.

Finally, I used ATTinyCore from Spencer Konde to add support for the microcontroller to Arduino IDE.  

Things to note:  The version of Arduino IDE and the libraries you have often affect how the software compiles... or doesn't.  Several of the games should be simple to get running.  A few will require some debugging to work with your setup.   Changes are almost always minor.


BCD Joystick Cap.scad - OpenSCAD file for the pad on the top of the joystick. 

BCD Joystick Cap.stl - STL file - import in your 3D slicer.

BOM_Game-Buisness-Card_2024-05-24.csv - Current Bill of Materials updated with in-stock items @ DigiKey

BOM_Game BCD 4.0_2023-04-13.csv - Old bill of materials for the card.

PCB_Game BCD Board 4.0_2023-04-13.json - EasyEDA PC Board. 

SCH_Game BCD 4.0_2023-04-13.json - EasyEDA Schematic. 

From tinysaur: - Arduino Library for the OLED screen.
(He liked it too:


Tinyjoypad Games/TinyDriver.h - Modified OLED library driver include for use with ssd1306xled.  Use this with all programs below.

Tinyjoypad Games/SOFTWARES/ - Contains test software

Tinyjoypad Games/Games/ - All games included here.  Use TinyDriver.h and the ssd1306xled library.

ATTiny85 Support for Arduino IDE:

  • Coming Soon: Comparative Evaluation of PCBWay's Printed Circuit Boards

    Dan Schnur07/06/2024 at 21:50 0 comments

    PCBWay has generously offered to support this project by manufacturing a set of printed circuit boards.

    A while ago,  I restored a vintage mid-century radio and needed to replace a damaged knob.  I designed a replacement using OpenSCAD and ordered a Pantone color-specific resin 3D-printed knob from them. They did a stellar job. I have high hopes for the boards that are currently on their way.

    Once they arrive, I will compare them to boards made by another manufacturer. The PCBWay boards were ordered using specifications as close as possible to ensure a fair comparison. With both companies offering comparable prices, may the best quality board win!

View project log

  • 1
    Modify the Card Design

    Make sure you replace the text and graphics on the silk screen on both the front and back of the card with your own!

  • 2
    Get your PCB Made:

    If you are using my files, then the board is panelized with 4 cards each.  Make sure you order enough cards to hand out.  Unstuffed cards are really cool to hand out too...  I may have a batch that I got wrong...  Just saying.

    If you are using EasyEDA, export the gerber files and choose a PCB fab of your choice. 

    The settings I have my cards manufactured with are:

    via PCBWay

    • Dimensions:  180 x 114 mm
    • Layers: 2 layers
    • Thickness: 1.0mm
    • Layers: 2
    • Material: FR-4
    • FR4-TG: TG 150-160
    • Thickness: 1.0
    • Solder Mask:  Matte Black (Your choice though, matte black is a fingerprint magnet.)
    • Silk Screen:  White - That's my choice,  be artistic!  I'm not artistic.  Don't be like me.
    • Surface Finish: HASL with genuine lead!
    • Request the product number on the tooling strips/rails of each panelized set.
    • Order a stencil for the top too.
    • Existing fiducials I get lasered through.

    via jlcpcb

    • Material:  FR4
    • Layers: 2
    • Panel by Customer
    • Delivery Format: Panel by Customer
    • PCB Color: (I use black, but it's your choice. )
    • PCB Thickness: 1
    • Surface Finish: HASL (with lead!)
    • Stencil:  Order one for the top only.
    • Fiducials: Etched Through (This can change depending on your equipment)
    • Engrave Text: Yes (That way I can keep track of what is what.  Optional depending on your equipment)
  • 3
    Order components.

    See enclosed BOM for the the best places to order from.  I updated the most recent with current parts in stock from DigiKey.

View all 8 instructions

Enjoy this project?



stevenaughtonnsx11 wrote 3 days ago point

I am completely new to such projects. I’ve just always been interested in how such toys are repaired.

  Are you sure? yes | no

Dan Schnur wrote 05/28/2024 at 17:04 point

Right now it runs from a 3 volt cr2032 coin cell.  To keep the price down, it does not use a lithium battery.  It also has a minimal low power microcontroller, so it won't run Arduboy programs.  You could modify it, add a USB port, a Lithium battery and charge controller.  I didn't because my goal was not only to keep the price low, but to keep the build as simple as I could.

  Are you sure? yes | no

Ale o co chodzi wrote 05/28/2024 at 14:54 point

Can You add step up down from 1V to 6V ?

It will work with any battery : 18650 etc.

it is compatible with arduboy?

  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