First off, I'm still relatively new to electronics design, and so I was hoping I could post my first PCB design up here for you all to review or give constructive feedback. Such as, what I should've done differently, any EE cardinal sins I've committed, that sort of thing. I've got no formal training, so everything I know is self-taught or learned from watching Dave. I'd really appreciate any knowledge you all can impart to me by reviewing my project.
What I've designed is a bare-bones, minimalistic CPLD dev board. I'm calling it, the "micro-MAX", since it uses an Altera MAX3000A and it's a "minimalist" dev board. It breaks out all the IO pins to standard 2.54 mm headers. It has a USB-Blaster-style 10-pin JTAG header, so you must supply your own USB-blaster-compatible programmer when using this board (again, bare-bones approach). I've built a prototype using a breadboard and a TQFP breakout board, and I tested it and everything works perfectly.
Some of the other components provided on-board: a 3.3 volt linear regulator, with the 3.3 volts broken out to one of the pins so you can supply the rest of your project with 3.3 volts. Also, there's an oscillator on-board. I've gone with the 3225 footprint, but I haven't specified a speed so that I can just choose whatever speed oscillator I want in that footprint, depending on what speed I need for the project. There are two 3-pin 2mm headers that are connected to this oscillator. One connects the oscillator's ENABLE pin to either high or low, so you can use a 2mm jumper to enable or disable the oscillator, as your project requires. The 2nd 2mm header selects which pin on the CPLD the oscillator's output goes to (either GCLK1 or OE2/GCLK2), so you can have a choice over that. There's also a reset button tied-high connected to the global CLEAR pin on the CPLD. Last, there are two LED's just hanging out just in case you might need them. They're just connected to a 2-pin header that's not connected to anything else, so you would have to install a jumper from the LED to the output pin of your choice, should you want to use it.
I'm going to be assembling these things by hand, at least initially. I've placed a few components on the under-side of the board (bypass caps and pull-up/down resistors) to save a little bit of room. I've done this on other little proto boards in the past, and it's always worked well for me. If there's any reason at all that you'd recommend against this, please, let me know. I plan on reflowing the top first, then doing the bottom components manually with an iron. I'm real good at soldering 0805's by hand.
I've attached the Eagle project files, as well as some low-res renderings of the top and bottom sides, if you don't want to bother downloading the source files. I should also mention that the design is heavily influenced off of this one I found at Dangerous Prototypes:
http://dangerousprototypes.com/docs/Jose:_Altera_MAX3000A_CPLD_breakout_v1However, I did not directly download that project and modify it. Mine is made entirely from scratch. I figure I should probably mention the inspirational source, when it comes to adhering to all the open-source restrictions, but since I didn't use their project files, should I mention it in my documentation anyway? After getting feedback from you all, I plan to upload this project to my website and release it as open-source.
I'd be real grateful for any constructive feedback you can give me to help me improve. As I said, this is my first real design, so I'm looking to the community to show me if there's anything I needed to have done differently, since my lack of formal training makes it difficult for me to spot problem areas. Obviously, I've run a DRC against the design rules for the fab house I've selected, and Eagle reports no errors. But I'm looking to see if there are any EE design standards or best practices that I need to be aware of.
Thank you for taking time to review my project.
Edit: I forgot to attach the rendering of the schematic. Now it should be there.
-Greg W.