Custom PSoC 3 Board Design

Tip / Sign in to post questions, reply, level up, and achieve exciting badges. Know more

cross mob
Anonymous
Not applicable

Hey guys,I'm an undergrad student from BITS Pilani,Goa campus,heading the on-campus CUA Initiatives.We're trying to build a custom PSoC3 board,to better suit our specific needs and for wider exposure of this tech amongst our student body.

   

The first version is going to be a bare-bones solution,i.e just the PSoC3 chip,the required capacitors around and a programming header,with as many pins broken out to headers as possible.All power rails will be provided via off-board supplies,or not.Lets see.

   

A few specs the board needs to meet,( I do understand these might be impossible to meet

   

1.Single Sided

   

2.Can be etched using toner-transfer method of self PCB Fabrication.(Hence the first point)

   

3.Can be hand soldered 

   

4.Low Cost.

   

All these point toward the DIY nature of board production and assembly,essential for easy access to PSoC3 solutions,without requiring large numbers of FTKs and DVKs.

   

Let me discuss each part of that in some more detail,since I want some help on this design.

   

The PSoC 3 Chip - Owing to the fabrication constraints mentioned above,we're going to go with the 48pin SSOP chips of the PSoC3 family for our initial designs. We would like to go with the CY8C3866PVI-021 (most feature rich SSOP part) but its $14.So,our next option is the CY8C3246PVI-147,which is priced at $7.We do lose a few features,but lets see how that goes.

   

.

   

Just the required capacitors - We'll probably have 0805 SMD caps where needed,according to the schematics(I'll come to that) in the datasheet for the PSoC3 Family.

   

.

   

Programming Header - Now this is the tricky bit.We would like to reduce cost and parts,hence the mini prog would be the first to go.That leaves us with 2 options,one - build that FX2LP programming circuitry OR,do a one-time program of a custom UART/SPI bootloader. The latter is more attractive,since it goes along nicely with our aims on this board(Simple to build,Cheap and widely useable).I have been following some topics here on the forum in this regard,and hope that this can be implemented.We do have old miniprogs from our PSoC1 kits,Could those be used to burn on the bootloader? ..Or is the new MiniProg3 absolutely necessary for that?

   

Power - There are lot many power rails than conventional controllers,so each of these will be broken out to a header(on our first fab).Adding some LDO voltage regulators etc will be a plan for the future,since as of now,the aim is to get a basic programmable platform.

   

.

   

Schematics - I'm not too sure on how the older MiniProgs(I2C ones..) can be used to program the psoc3,so I'm a little hazy on those details.If someone could clarify the chip's basic requirements with respect to programming etc for this initiative,I'd be greatful.

   

Comments,suggestions and criticism are most welcome on this.

   

 

   

 

   
0 Likes
1 Solution
Anonymous
Not applicable

Inspired by my inital success with the EzPSoC3 board,I developed yet another board,the kind that isnt good in terms of analog noise etc,but serves as a low cost entry point to PSoC3.

   

 

   

   

I hooked it up to the miniprog,and programming it was easy,and seconds later,I had it accepting project files over USB 🙂

   

More here http://kmmankad.blogspot.com/2012/01/psoc3-hardware-quick-and-dirty-fab.html

View solution in original post

0 Likes
82 Replies
Anonymous
Not applicable

Basically need some input on the real-world feasibilty of the above described design.

   

.

   

We'll try and have it be prototyping friendly(shields like the arduino,breadboard plugin-able without too much space loss etc) too,but I think thats too many design demands for a day 🙂

0 Likes
Anonymous
Not applicable

   

Hey guys,I'm an undergrad student from BITS Pilani,Goa campus,heading the on-campus CUA Initiatives.We're trying to build a custom PSoC3 board,to better suit our specific needs and for wider exposure of this tech amongst our student body.

   
    Cool ! Great to see students working with PSoC!   
   
        
   

1.Single Sided

It is possible to make a single sided PCB for PSoC, however it is going to be tough. A doucble sided PCB with very few jumps between the two sides can be designed if carefully done.

2.Can be etched using toner-transfer method of self PCB Fabrication.(Hence the first point)

    3.Can be hand soldered    

 

Toner-Transfer method is ideal for student projects - to make a PCBs on your own. There are tutorials on the web that describes how to do a double sided PCB using UV(very similar to toner-transfer method). To design the PCB there are many free PCB design softwares, what I used as a student is Eagle. You can create your own footprint and schematic library for PSoC3 using Eagle. I have created libraries for CY8C3866AXI, TQFP 100 pin package. SSOP is easy to solder(In case you find it difficult to solder, you can learn from Youtube).

In any PSoC3 board you will find plenty of 0.1uF,1 uF and 10uF capacitors. These capacitors are provided to eleimnate transients(0.1 uF) and to hold charge(Bulk Caps, 1uF and 10uF). If the power supply is gauranteed to be stabilised few of these capacitors can be eliminated. But it is always recommended to provide these capacitors for best performance.

4.Low Cost.

Bootloader solution will certainly turn out to be a cheaper solution. Since UART is being phased from PCs, USB will be a better Bootloader solution. 

With respect to programming SWD programming is the most reliable method of programming and it is supported by Miniprog3 programming. 

I hope this helps.

Anonymous
Not applicable

Hey,

   

I dont have a lot of experience with fabrication,but I'll manage well,since I am experienced with the design end of it.

   

Yes,looks like a single sided board will be difficult to pull off,especially since I want to make it breadboard plugin-able(which means it cant take up lots of space on the board).Anyway,thats a later thing,since I will be prototyping this idea with a breakout board on a breadboard with associated caps and a miniprog to fire in the bootloader.

   

As far as the schematics go,I'm drawing them up tonight,and have opened a design review case for the same.

   

Only point I still need some clarification is the USB bootloader.There was an appnote, "USBFS Bootloader for PSoC(R) 3 and PSoC 5" which I cant seem to locate presently.

   

If the bootloader works out,(by works out I mean,the chip as well as PC side sofrware) then this board can be a really attractive prototyping solution for students and engineers everywhere,since the cost wont exceed Rs.500(USD ~10).While it is by no means a replacement for the awesome FTK/EVKs,but it can definitely make this great chip more accessible.

   

As it occured to me the other day,I'm trying to Arduino-ize the PSoC(in terms of hardware...) 

0 Likes
Anonymous
Not applicable

As part of later additions to this design,

   

-we could have boards bootloading each other(like the appnote that shows a 5 doing so to a 3),which means you'll need only one miniprog3,for the very first board 🙂

   

-Though USB Bootloading is very attractive not only for the low cost and super short BOM,it does cut out the debug features you'd get via SWD or JTAG.However,theres still USBUART(on board options..else an LCD or any other output peripheral is super easy to use with the PSoC),which is good enough for most projects.

0 Likes
Anonymous
Not applicable

hello

   

i plan to do similar than you, but i am fortunately emplyed to a company, and we should

   

deliver quality electronics to our valued customers which results in 4-Layer FR4 NiAu-plated..

   

 

   

but for prototyping a set of DVK 001 is at my hand, but they should not leave the lab.

   

for testing the programmed firmware in real environment off the lab i like to recommend a tiny schmartboard.

   

(www.schmarboard.com modell# 202-0011-01 rev B)

   

the granted me a free sample o a tqfp 32-100 0.5mm pitch board. excellent for

   

handsoldering the "big" PSoC3 parts since improved solderstop mask is on the pcb

   

and lot of pads for mounting 0805 caps on both sides . each pin is outlet to 1/10" raster and fit to drill board.

   

i personal, would not miss my miniProg3 for programming (fast ) and debugging,

   

so the 10pin SMD header is also in my design but from different vendor than DVK part (lot cheaper)

   

if additional electronis should be employed to your project and additional PCB space is need,

   

plug your "DIY processor board" onto your PCB, but strongly recommend double side.

   

even if you can process single side only, make excessive use of the groundplane.

   

( you may take a look to some older ham-radio  VHF projects, doing so for years..).

   

 

   

just a few thoughts concerning about the topic  "building a cheap but well working

   

psoc3 equipment".

   

 

   

good luck and greets from germany

   

Markus

Anonymous
Not applicable

Many thanks for the inputs,markus68.

   

Your post raised another doubt,regarding speed of programming via USB Bootloader.Will need to look into that too..

   

Also,does anyone have a copy of that USB Bootloader appnote? "USBFS Bootloader for PSoC(R) 3 and PSoC 5" , If so,please share the associated code and pdf.

0 Likes
Anonymous
Not applicable

Another thing I just realized is,I will need to go with the CY8C3866PVI-021 part,since the cheaper CY8C3246PVI-147 doesnt have USB! 😛

0 Likes
Anonymous
Not applicable

Attaching the USB Bootloader Example that was originally available on Cypress website. Currently it is being totally revamped and possibly everybody can have a complete USB Bootloader soon(We request your patience until then  ) !  Arduino-ize the PSoC(in terms of hardware...)? Interesting. Probably you can come up with a PSoCduino !

lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Project and document attached now.

Anonymous
Not applicable
        what is the timeline for the final release of the USB Bootloader Appnote?   
0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Attached is a picture of the (home) etched form of the breakout board for the Cy8C3866PVI-021.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

Also attached is the pcb layout in pdf,incase anyone would want to take a shot at etching one for themselves.They are all 8mil tracks.

0 Likes
Anonymous
Not applicable

Just for Info,the software used to create this was Fritzing,and not something more professional like eagle or altium,since I'm still working on the creating the Cy8C3866PVI-021 part for them.(which is super easy on Fritzing,since they already have a 48pin part,just need to edit an SVG for the schematic symbol)

0 Likes
Anonymous
Not applicable

Sorry for no updates on this...was busy organizing this semester's PSoC1 Lecture series,and then tests(doing my masters in chemistry) came along(still on).

   

Will add more as soon as I get free.

0 Likes
Anonymous
Not applicable

But otherwise,

   

I've

   

0.made the breakout

   

1.recd the chips

   

2.Almost done the schematic

0 Likes
Anonymous
Not applicable

Great going !

Anonymous
Not applicable

Thanks U2 🙂  ..About the schematic,

   

I've got a few points:

   

I've taken the datasheet's(CY8C38) entry on Power System(Page 29) as my reference for the various capacitors required.I also consulted the schematics of the FTK and the DVK(I'm talking about the CY8CKIT-030),and a Cypress Appnote on Decoupling Capacitors.

   

I have a few points I'm confused about,

   

1.The kit schematics use 0.1uF and 1uF across VDDd and VSSd lines,but the datasheet simply recommends a 0.1uF. ??

   

2.For the USB connections(D+,D-),

   

the PSoC 3 FTK uses direct connections to the chip,

   

the 030 uses a couple of schottky diodes,

   

the CY3124 EvalUSB kit uses series resistors,

   

the CY3209 uses the SN65220 in addition to series resistors.

   

Other designs,(PIC,Arduino etc) use 2 3.6V zeners,or direct connections.

   

Since I want to keep the design simple,yet not crude,which one do I go with? ..Are series resistors good enough? Or the zener arrangement?

   

3.Power levels- This isnt a world-ending decision,but I'd like to hear your guys thoughts on the power system on this thing.(USB or External or both? .. 3.3 or 5?)

0 Likes
Anonymous
Not applicable

 1.The kit schematics use 0.1uF and 1uF across VDDd and VSSd lines,but the datasheet simply recommends a 0.1uF. ??

   

   

2.For the USB connections(D+,D-),

   

the PSoC 3 FTK uses direct connections to the chip,

   

the 030 uses a couple of schottky diodes,

   

the CY3124 EvalUSB kit uses series resistors,

   

the CY3209 uses the SN65220 in addition to series resistors.

   

Other designs,(PIC,Arduino etc) use 2 3.6V zeners,or direct connections.

   

Since I want to keep the design simple,yet not crude,which one do I go with? ..Are series resistors good enough? Or the zener arrangement?

   

 

   

As per USB 2.0 Spec, for a USB FullSpeed device it is necessary to have 45 Ohm termination on each of the D+ and D- lines, to provide an effective differntial impedance of 90 ohm. The USB driver in PSoC3 requires the impedance on the bus to be between 28 ohm to 44 ohm and it is recommended to put a series resistor of 22 ohm on D+ and D-. The impedance on the line is required to be between 28 and 44 ohm including the series resistors. Hence the answer is to use 22ohm series resistors on D+ and D- lines.

   

The VOH signal for D+ and D- lines is 3.6 Volts. In PSoC3, there is an internal regulator on the USB bus driver which takes care of it, hence we do not need any external diodes. In Arduino and other AVR devices, the zeners are put to limit the D+ and D- signal levels.

   

 

   

3.Power levels- This isnt a world-ending decision,but I'd like to hear your guys thoughts on the power system on this thing.(USB or External or both? .. 3.3 or 5?)

   

 

   

It is always advisable to have an external power and USB as well. This was it is possible to have supply from USB. When the board requires larger current the preferred source would be an external adaptor or similar source.

lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

I've done the first schematic,and posted it on my blog,

   

Image link here - 2.bp.blogspot.com/-6Vfj47P668Q/TnsXBv1GClI/AAAAAAAAAUU/1Le8MD4he4E/s1600/PSoC_Custom_Board_Rev1.png

   

A few points -
1.I've blatantly tied VDDd and VDDa together,at the VBUS of the USB port.I think I'll be changing that very soon.
2.Same for VSSd and VSSa.
3.Also,except for maybe a voltage regulator for the 3.3V level,I'll stick to this.
4.This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

   

Attached is the EAGLE schematic(with the cypress_mod.lbr with the concerned chip,a custom part that I made) I've put together.

   

 

   

Mixed signal PCB design is something I'm finding hard to wrap my head around,but I'm reading hard on it(when I can).

0 Likes
Anonymous
Not applicable

I've tried to adhere to the "rules" of mixed signal design,and the guidelines in the Datasheet,regarding decoupling capacitors.However,I'm not able to conclusively decide where the ground planes should be.(Since theres no "exclusive analog half" and "exclusive digital half".Its more like digital(USB part) then analog(VDDa and Port 1),then Digital again(remaining right half of the board)..

   

Below is a shot of the board with VDDa and VDDd highlighted,to show you the digital and analog sections of the board..

   

So, 2 questions :

   

1.how would thr ground planes come up?

   

2.Is it ok to route USB signals "one on top of the other" (one in top layer,the other exactly below it on the bottom layer)

   

If youre interested in the PCB files,drop a comment below.

   

   

0 Likes
Anonymous
Not applicable

I know,there are a few obvious routing errors up there,I'll fix those.

   

Also,is this an excessive number of vias? ..or is that "ok" ?

0 Likes
Anonymous
Not applicable

I should also probably make the "power" tracks thicker.

0 Likes
Anonymous
Not applicable

I've done a second version of the PCB,changes include:

   

-addition of a 3.3V Power regulator and a power level selection jumper.
-Ext DC Power Source connector.
-widened all power tracks to 40mils.
-shortened USB tracks,since long high speed tracks add noise.
-added a 5 pin power header(Vin,Gnd,Gnd,5 and 3.3V).
-added an external pullup to XRES,since the internal one is weak.
-fixed the header alignment.
-and a few other routing and placement errors.

   

Heres a shot of the PCB:

   

   

Heres a shot of the PCB,rendered in 3D:

   

   

TODO: -Work on the silkscreen -Decide the ground plane(s) layout -Run a DRU,pre fabrication.

0 Likes
Anonymous
Not applicable

Sorry about the gigantic images.Too bad I cant edit my posts 😞

0 Likes
Anonymous
Not applicable

I dont have much experience with the type and variety of SMD parts available,and thats the only reason I've used through hole parts where unsure.I'll revise the design soon to a completely surface mount board(except headers,ofcourse).

   

If I do plan to take this to commercial mass production,I'll go with 6mil tracks,and make the SMD parts like 0603 or even smaller,and use a fab house in china or similar.

   

Another point,

   

I've heard that the XRES needs to be 'OR-ed using a diode when its going to be connected to a programmer.Is this really needed in my case? Because the only time the XRES pin will be used as an XRES pin will be for burning in the bootloader.

0 Likes
Anonymous
Not applicable

When you have multiple source that will reset the PSoC device via XRES, it might be necessary to use diodes to seperate them. However if programmer is the only agent that will be applying XRES, you dont need to have a diode.

Anonymous
Not applicable

 Thanks U2..I really appreciate your taking out time for this thread,dispite your heavy work load.

0 Likes
Anonymous
Not applicable

 From what I've read about Mixed signal PCB design,I shoud have one continuous ground plane in the bottom layer.Could someone confirm this?

   

I'll also probably swap the 0 ohm resistors(linking the VDDd and VDDa) for ferrite beads or similar. 

0 Likes
Anonymous
Not applicable

 I'm currently in talks with various PCB manufacturers about the cost and specifications for the initial prototype boards.

   

Also,I'll publish a revised design soon which shall have all SMD parts,and will be production ready at any fab house.

0 Likes
lock attach
Attachments are accessible only for community members.
Anonymous
Not applicable

I've made a few more changes to the design,with the goal of simplifying it,and decreasing component count.

   
   

-Removed the external DC jack.

-Removed zero ohm resistors,and added solder jumpers(from     SparkFun's eagle library).

-Added the ground plane,which is of the "GND" net.(GND net is the USB's ground,shorted with the VSSA and VDDA using a solder jumper.)

-Changed the type of USB connector,since I had a bad experience with a miniusb one.Too small to comfortably solder,with an thick iron like mine.



And yeah,I've decided on a name - "EzPSoC3".

   
   

I'm waiting for a response on a case,on basically if my ground plane is "ok".Heres what the board now looks like.

   
   

Heres an image of the PCB - 2.bp.blogspot.com/-tchnaujm-YY/To3btSUeT_I/AAAAAAAAAUs/NJLAULhN3Bc/s1600/PSoC_Custom_Board_Rev5_OCt0...

   
   

I've attached a pdf of the current schematics.All tips,guidance,suggestions and criticism are welcome.

0 Likes
Anonymous
Not applicable

kmmankad,

   

 

   

clean job !

   

keep it up !

   

 

   

-dave

0 Likes
Anonymous
Not applicable

Hey all,sorry for the sudden pause in progress and updates.I couldnt devote any time due to exams.Free from those now,I'm attaching the schematics and board file(along with the custom library,which has the PSoC chip and the sparkfun library as well as sparkfun DRU file),both with the ERC and DRC giving no errors.

   

 

   

Comments,suggestions,criticism and edits welcome :)

   

 

   

This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

0 Likes
Anonymous
Not applicable

Sorry,forgot to attach.

0 Likes
Anonymous
Not applicable

PSoC3 Custom Board Schematic Rev6 - as on Oct 26.
This work is licensed under a Creative Commons Attribution-ShareAlike 3.0 Unported License.

0 Likes
Anonymous
Not applicable
0 Likes
Anonymous
Not applicable

Not able to attach files here,dont know why.

   

heres a link www.psocdeveloper.com/forums/download/file.php

0 Likes
Anonymous
Not applicable

More changes,and the board seems ready for the first prototype.

   

Heres a link on the latest :

   

http://www.psocdeveloper.com/forums/viewtopic.php?f=42&t=8096&p=36776#p36776

0 Likes
Anonymous
Not applicable

Heres the latest,pre-fabrication version of the board which has been Design-Rule-Checked using the DRU files from SparkFun as well as the popular PCB service,'Fusion' from SeeedStudio( http://www.seeedstudio.com/depot/fusion-pcb-service-p-835.html )

   

I've also added a few extra vias and features to allow for home etching of this double sided board,for those who can.

   

Further plans for the hardware include a through-hole version and an ultra-compact version(speaking of compactness,current dimensions stand at 2.7"x1.9").

   

I'm also updating this(dangerousprototypes.com/forum/viewtopic.php) post with the board progress.

0 Likes
Anonymous
Not applicable

Quick Update: I might have finally found an affordable source for the PCBs.Finalizing the details with him,and I hope to get the prototype boards soon 🙂

0 Likes