Go back to home page

PCB business card

PCB business card with mechanical switches that can play games

PCBmodE
Electrical design
Arduino/C++

This was an entry to the Business Card Event competition; it won first place. It features a unique design and a variety of games that you can play on it.

Hardware

My card has a PCB that is designed in PCBmodE, a PCB editor that lets you define the PCB in JSON files and route it using Inkscape (a vector graphics editor). This makes it very flexible and allows you to have features such as traces that are curves, custom copper fill patterns, and native support for different fonts and vector graphics. The card's design takes full advantage of this flexibility, and has a unique aesthetic that something like KiCad couldn't reproduce.

Onboard, there are four Kailh Choc switches, one in each corner, a 128x64 OLED display, a CR2032 battery holder hidden underneath the display, a piezo speaker, and an ATtiny3216 microcontroller. This microcontroller has capabilities similar to (and in some cases better than) the ATmega328, the microcontroller in the Arduino Uno, and it allows the card to run several games and provide information that doesn't need to be printed on the PCB. In order to make sure that the display doesn't short out on the battery holder, a custom 3D printed spacer is used. There's also a 3D printed key that can be used to remove the battery by inserting it in a hole on the back of the spacer.

Firmware

The firmware for my card is custom made in the Arduino IDE. It features several applications:

All of these together take up almost the entire flash memory of the microcontroller, so there probably isn't room to add anything else unless it is really simple.

For more information see the website linked at the top of the page.