Rev 1.2
After working on version 1.0 for a while I realized there were a few shortcomings in the design. Not show stoppers by any means, but features that were handy to have on the board... not on a peripheral. Version 1.0 worked as intended and is running a temperature monitor and RTCC continuously as I write this. There was not a flaw on the board, I am really happy with it.
But, it needed some extras so I started work on version 1.1. I added a dedicated LCD port, a MAX232CSE, RS232 connector and glue, and a USB port/connector. The design software didn't have an up to date component for the USB connector so I needed to model a new one. If you've ever had to layout a complex footprint, you know what I'm talking about when I say it takes time.. cuz it better be right! This brought the board size to a whopping 3"x3.5". Wow. During the research on the chip for the USB support I learned about the SSP port and it's functions. STOP THE PRESSES!!!
Enter version 1.2. I shelved v1.1, ripped up everything and started over again. This time I added a 10x2 header to hold all the SSP signals. This is a combination of port D and port E that initiates a high speed parallel interface with CS, Enable, and R/W lines. The USB interface can access a hardware module that drives this SSP port. Sweet! USB printer interfaces are based on similar setups. I don't think I'll be using it anytime soon, but it has every indication of being useful on a development board.
I added a MCP23017 I2C 16bit expansion port chip to the board and using it to drive the LCD port. Less dedicated lines, and less code since all the I2C routines will already be included in the core firmware. The MCP23017 serves two functions, first it will drive the LCD connector, a standard 16x2 line display. Driving the LCD should be easy and fairly quick to code. I also brought the 16 lines out to a couple headers should they be needed for low throughput I/O. The MCP23017 has a couple interrupt lines on it that I routed back to the mpu through a couple jumpers to enable or disable them. I call it kitchen sink engineering, not sure what I'll need it for, but it's there just in case. Code will be forthcoming. Last I added a dedicated SPI port and brought the I2C port out to the edge of the board. The ICSP connector is located in a fairly accessable spot and should not interfere with the PICKit3.
It's a complete and gud rooking board, lets hope it works ;)

--Dave