Dot Matrix Business Card (2-23-09)


Two unpopulated PCBs of this are available for sale at $15 usd each

The dot matrix business card is a small electronic device, with a 5x14 matrix of LEDs. These LEDs can display scrolling messages. Four buttons control which message is displayed. An ATMega168 microcontroller is the brain behind it all.


The goal of this project was to create a dot-matrix LED display the size of a standard business card. Eric Forkosh of Narobo helped in the design and fabrication of the dot-matrix business card. The initial goals were to have a slim design, enough LEDs to create a recognizable display, and buttons to switch between messages.

Schematic Diagram

The schematic diagram was created using Cadsoft Eagle. This is the final schematic of the device.

A larger vesion of the schematic can be seen here.

Board Layout

The board layout was also created using Cadsoft Eagle.


The dot-matrix business card was designed around an Atmel AVR atmega168v microcontroller. The LEDs were arranged in a 5x14 matrix. All of the anodes of each row were connected and all of the cathodes of each column were connected. To drive an LED, the output pin of the cathode was turned low and the output pin of the anode was turned high. The atmega168v was powered by a single 2032 lithium coin cell battery. Four tactile switches were added to allow the changing of messages.

Software in Java was written to translate text into a matrix.


Currently the code has not been released.


The PCBs were manufactured and the boards were populated by hand. The LEDs were a in a small 0603 footprint, which is fine for manufacturing but extremely difficult for hand soldering. The next prototype will have larger LEDs. Programming the atmega168v was done using a ISP MKII in-system programmer by Atmel.

Future Considerations

The next prototype will utilize shift-registers to save I/O pins on the atmega168v. Also, because less I/O are used, a smaller microcontroller may be implemented instead. The tactile switches will be connected to their own individual input pins, as some interference was experienced when using them both as an LED output and button input. The LED package will also be changed to a more manageable 1210 or 0805 package.