Sunday, 7 August 2011

Creating custom components with DIPTrace

Whenever we design and layout PCBs for homebrew manufacture, there always comes a time when we have to undo a great deal of work, and amend the footprints or patterns for the components on the PCB layout. This is because most PCB packages use "standard" pins and pad sizes, which - while fine for mechanised pick-and-place and SMT soldering machines - can be a nightmare to solder by hand. Whenever we've made a PCB we've always had to create a library of custom layouts - even when the PCB software includes libraries of common components from a variety of different manufacturers.

Because we're getting to like DipTrace very quickly and plan to use it for all our PCB work in the immediate future, the first thing we need to do is re-create our library of custom layouts.

Here's a quick overview of how to do this using DipTrace:

Start the DIPTrace pattern editor application. Create a new library (or open an existing custom library if you're adding to one you've already started) and from the [Pattern Menu] select [Add New To Library]

Fill in the name and RefDes values. RefDes is what is used every time a new instance of this component is added to your PCB. We've used IC so that when a PIC 18F2455 is added to our designs, it will automatically be labelled IC1, IC2 etc.



For this part, we're drawing a 28-pin SOIC chip (SMT version of the 18F2455) which consists of 2 rows of 14 pins. DipTrace includes an "add-row-of-pins" option. As you drag your mouse, it tells you how many pins it has put down



Select all the pins then right click on one of them to edit the properties



Changing the X and Y values affects only the first pin selected, but changing the height and width of the pin(s) affect all selected pins.



Depending on how your environment is set up, the pads may not be the correct type at this stage. We changed the pad type to rectangle, set the hole size to zero and the pad type from "through-hole" to "surface".



You should see a row of 14 pins- select them all and right click to copy



Paste a new row of pins and draw a rectangle between them (this will form the silkscreen layer later, showing where and how the IC chip should be placed on the board)



Check out the component datasheet to find out pin sizes and spacings.
In this example, we can see that our rows of pins need to be 7.5mm apart (the E1 value in this diagram)



Double-click each pin to amend it's height/width and X/Y values.
Note that DipTrace works from the centre of each pin as the origin. So if you have a pad that is 4mm wide, and you want a 7.5mm gap between pins, you need to consider the pad size when calculating the X/Y values.

For example, if you have the left hand pads at zero, the left hand edge of the pad starts at -2mm and the right-hand edge of the pad would be at 2mm. If you place the opposite pad at 7.5mm, the gap between the pads would be less than this. Because the left-hand pad overlaps by 2mm, and the right hand pad overlaps by the same amount, the gap between the two pads would be only 3.5mm (7.5mm less 2mm from the left-hand pad, less 2mm from the right-hand pad = 3.5mm)

So to get a gap of 7.5mm between the pads we actually need to start the second row of pads at (7.5 + 2 + 2) = 11.5mm

When you're happy with the pad placement save your pattern and start the DipTrace schematic software. Place the PIC18F2455 component into the schematic. You should notice that when a component is added to the schematic, a PCB layout pattern is also included. Double-click the component (or right-click to select properties) and click the "attach pattern" button to change the PCB pattern for this component



Select your custom library from the pop-up window and select the new pattern layout you've just created. Repeat for any and all components in the circuit.



And that's how easy it is to create your own custom PCB layout patterns for components and use larger-than-average pad sizes to help when it comes to soldering!

1 comment:

  1. Thank you Chris! Excellent article/tutorial. I've been all over the internet looking for a good, readable tut from someone who can manage the English language. Just what I was looking for.

    ReplyDelete