Sunday, September 24, 2017

A Personalized Graphic Business Card

Personalized PCB business cards have been becoming more popular lately, and I decided its finally time for me to make one of my own. As a beginner to PCB design this would also be a great first project.




PCB business cards have been a thing for some time, but the popularity of Atmega chips makes it easier to make them more interesting. A good example of this is one made by Corey Harding as posted on Hackaday: https://hackaday.com/2017/09/22/customizable-pcb-business-card/

It features an Attiny85 controller and prints his personal information at the touch of a capacitive trace on the PCB. It also acts as a nice breakout board the recipient can use to play with the chip on-board. I really liked the idea of using a simple microcontroller to make the business card smarter, but I wanted to step it up just a little bit.

I decided to create an LED matrix and write some simple animations for it. At first I thought of using a shift-register or a simple LED driver like the TLC5926 chip. However, given that I am using single color LEDs I am going to be limited in terms of what I could draw on the matrix. That lead me to Texas Instrument's more advanced LED driving chip: the TLC5940. It also drives up to 16 channels, but it features grayscale control giving me a lot more to work with. It comes at a (comparably) steep price but it will make my card a little more special.



For the microcontroller I wanted to use the same Attiny85 chip. It is popular and easy to set up with minimal external components. It's biggest limitation in the scope if this project is the number of output pins. I needed 5 pins to drive the TLC5940, leaving me with just 1 pin remaining. However, I decided to put that pin to use as well by adding 4 buttons. These buttons could be used to cycle animations or add some simple mini-games.

At first I considered making capacitive traces like what I saw in the Hackaday post. However, given that I only had one input pin left on the Atmega it would have been tricky to set up. Instead I went with some low profile tactile buttons and a resistor ladder. This make it possible to use all four buttons on a single analog input pin. I settled on the Alps SKQG 688 switches for their affordability and low profile.



As a beginner to KiCad and PCB design in general it took me some time to get everything in place. Parts like the USB port were a little tricky to design. I had to reference USB specifications to design the layout for the connector. It also took a bit to position the connector at a 45 degree angle in the corner of the PCB.



At this point I am just finishing up the design and making sure everything is ready for manufacturing. Assuming everything goes right I will order the boards to be printed have them ready in time for the next update. Overall I am really exited for this project, and I think it can really help me stand out to employers.

No comments:

Post a Comment