Quote Originally Posted by mtripoli View Post
@funnydrummer: You don't need resistors on the base of an emitter follower so you can delete those entirely. If you're opposed to using resistors for current limiting (which is the only reason I can see to stack up diodes like you have from the supply, (which is a really bad idea but I'm not going into that) you can use a constant current regulator (CCR) device like the NSI45020T1G from ON Semi (Mouser, $0.34 each). If you use a CCR device you can get rid of all the transistors and resistors entirely and use just the CCR. Put one per drive segment (they can be used high side or low side, see attached schematic). Run the PIC from 5V (voltage regulators are a good thing, why you wouldn't use one I don't know) and there you go.

You're going to need a 0.1uF on each Vdd pin, not just the one you have on the power supply line. While you're at it I'd put at least a 100uF cap on the power supply line as well. It doesn't look like you have a connector for doing ICSP so writing code and debugging will not be any fun at all (unless you like pulling a 40 pin part from a socket for every little change you make to code). If you plan on clipping to the PIC for programming you have no provision for isolating the Vpp line. There is no electrical reason at all for using pull-ups on two switches and pull-downs on the other two, as well as keeping track of that in code is unnecessary. You really should look at the schematic I posted. And why would you post C code on the Pic Basic forum?
Thanks a lot for the suggestions, I really appreciate it!

Too bad I already ordered the PCB, it's a big one so it would be a bit costly to order a second one.
I might edit and optimize the schematic/board in the future, but for now I'm just hoping the current board will do.
The next thing to do is programming. ;-)

Good point though, this is forum isn't called PIC-C...
I'm not familiar with basic programming, that's why I'm just gonna go with C.
I thought it would be nice to post the source anyway, just for the people who prefer C over basic.