This is a business card that will type out some text when you plug it into a USB port.
It uses a ATtiny85 microcontroller with V-USB based code to emulate a keyboard. The typing is triggered by the CAPS LOCK status LEDs being toggled 3 times.
This instructable will focus on using CadSoft EAGLE to create your own USB PCB business card. I want you to be creative in the design, so some minor steps I've taken may have been omitted.
Code download is provided on step 8.
Step 1: Circuit
The circuit is based on V-USB's recommended circuitry. It's powered by the 5V from the USB port. There's two 68 ohm resistors, one on each of the USB data lines, these act as terminating resistors which suppress reflected signals. There is a 1.8 kilo ohm resistor on the D+ line, which allows the computer to detect when something connects to the USB port, and it identifies the device as a low speed device. Two Zener diodes with Vz of 3.6V are on the data lines to clamp the voltage on those lines. There is a 0.1 uF capacitor between the 5V and GND as a decoupling capacitor.
Since the business card should be a compact and thin design, 0604 surface mount packaging is selected for most of the components. The diodes are Mini MELF packaging (they look cool in my opinion).
The microcontroller is an ATtiny85, which is a 8 pin AVR microcontroller. The SOIC package version is chosen to keep the design compact and thin.
To program the microcontroller, in-circuit serial programming is used, which requires the signals: reset, SCK, MOSI, MISO, along with power and ground. The SCK and MOSI are exposed by the USB connector, while two pads are provided for the MISO and reset signals. This allows for a programming adapter to be made.