Take care to the fact that not ALL features of a PSoC 0.6 (3/5 smile!) schould be routed to ANY pin! When looking at the pin's view you'll get informed that for instance Port 0 and Port 3 are dedicated to some of the internal OpAmps and IDACs. Additionally some switching resisances can grew up to worsen analog input signals. Other pins are dedicated for USB and I2C.
In fact you may route digital signals to any pin, but take care with the analog sub-system in a PSoC.
Good advice, Bob. I've taken care that all the pins on the GPIO header are in fact GPIOs, not SIOs, and I've excluded certain pins - those dedicated to the MHz Xtal, the USB support and SWD programming - from the GPIO header in favor of using them for their dedicated purposes.
Unfortunately, there's no avoiding the less-than-optimal analog routing in this case, since an expansion board can't guarantee which pins it will get, so my board isn't able to take advantage of the dedicated Opamp pins: applications that use analog will have to use the analog routing. Unfortunate but, I think, inevitable for the application.
You might consider 4 mods -
1) Use of a RRIO OpAmp vs a LM358, to increase drive level to MOSFET. Make
sure your choice can handle large C load, eg. stability reasons. Design wise
insure power sequencing in this circuit cannot cause phase reversal of the
OpAmp outputs. Stated another way make sure OpAmp power supply comes
up before any other pin on the OpAmp.
2) For 3.3V Regulator, strap a diode across it to prevent blowing out reg if
its input is shorted to ground, caused by its output cap C18 discharging back
thru regulator. That would be D1 in this example.
3) Some place on board edge for a large ground post where scope probe ground
clips can be placed w/o shorting any other part of board. That would be at
least two or more scope ground lead clips/alligators.
4) Use polymer tanatalums in BOM for any bulk caps, they have ~ 10 x better
freq response curves than regular tantalums, lower noise in board. Close to
the polymer a place for a SMT ceramic as well, .1 or .01 uF.
Try to keep analog & digital grounds separate and connect them together at one point of the board similar to -030/-050 kits to get better analog performance.
I have - there are separate digital and analog ground planes under the chip following the PSoC guidelines, and they're joined to the main ground plane at a single point to the NW of the chip.