Ronja Twibright Labs

Ronja Guidelines

Creating a PCB

  1. All components are in the upper left corner
  2. Set up line styles this way:
    Style nameLine width [mil] Via hole [mil]Via size [mil]Clearance [mil]
    Signal20245614
    Power40356514
    Fat80508014
    Skinny12244814
  3. DRC constants

    It is necessary to set (overwrite) several values in /usr/local/share/pcb/Pcb or /usr/share/pcb/Pcb config file to get the DRC parameters right for the chosen process:

    For PCB versions pcb-20040215 and earlier:

    Pcb.Bloat:	1378
    Pcb.minWid:	1182
    Pcb.Shrink:	400
    

    For PCB versions pcb-20040530 and later:

    Pcb.Bloat:	1378
    Pcb.minWid:	1182
    Pcb.Shrink:	400
    Pcb.minSlk:	787
    

    If you are running GTK PCB, then enable milimeter grid units in Screen -> Enable milimeter grid units and then go into File -> Preferences -> Sizes -> Design Rule checking and enter

    Minimum copper spacing0.35
    Minimum copper width0.3
    Minimum touching copper overlap0.1
    Minimum silk width0.2
  4. Select -> Disperse all elements
  5. Set up all drillholes and copper annuli sizes of all component types according to table below
  6. Fix the netlist by editing the schematic in gschem and regenerating netlist from schematic until PCB stops beeping during "ew".
  7. Place connectors and lock them.
  8. Place components that constitute a borderline (shielding rims, optocouplers, transformers) into approximate supposed place of the borderline, lock them.

    You will probably need to change number and length of the shielding rims. For this you can generate rims of give length using the rimgen script in schematics/packages directory. Example: you want to make a rim 700 mils long (solderable length). Then run ./rimgen 700 and it will make file rim_700. The you put footprint=rim_700 into the schematic, rerun gsch2pcb and then place the rim to required place.

  9. Drag components onto right sides from borderlines where they belong
  10. Create ground planes and lock them
  11. Pins (not pads!) that are on ground:
    • Green them using "f"
    • Select -> Select all connected objects
    • SetFlag(SelectedPins, thermal)
    • Manually add thermal to locked pins (green)
    • Send SMD components which have a green end to the solder side.
  12. Disable the ground and power in the netlist
  13. Green the ground and place components so that ratnests become as short as possible (working in the solder view) according to schematic. Prevent high concentration of ratnests in one spot - in such case, move affected components a little apart, to accomodate for future numerous traces, so that critical traces are as short as possible. You can flip SMD parts between the sides of the board to make the ratnest shorter.
  14. Enable the power in the netlist
  15. Place bypass capacitors to chips according to the schematic.
  16. Enable the ground in the netlist
  17. If the board is simple rectanglular shapte outline, fix polygons 40 mils from border. Draw a drawing with coordinates for this task.
  18. Turn on soldermask display. Fix component labels (silkscreen) so that:
    • Every label goes either from left to right or from bottom to top
    • No label should go over a hole
    • All labels should be completely on the soldermask
    • No label should cross another label or component outline
    • Every label should be in a position that it's not ambiguous what part it belongs to. For example for label C169, the closest capacitor to this label should be C169.
    Turn off soldermask display.
  19. Connect grounded SMD pads to ground
  20. Route power polygons and traces
  21. Route traces from shortest to longest, prefer the solder side.
  22. Check that all filtering capacitor traces between capacitor and adjacent IC are short and thick and if not, fix them.
  23. Print out all postscripts zoomed
  24. Find all places where ground plane is broken and fix them.
  25. Shine the groundplane with 'f' and fill all places that are lighted as connected by a thermal and aren't
  26. Shine IC power line with 'f' and find IC's that have power omitted. Fix in schematic, regenerate PCB and fix.
  27. Find all places where ground plane is insufficiently interconnected from HF point of view and try to fix them
  28. If the board is rectangular and is not bordered by soldering rims, then move everything and change the board size until there is 1mm (or 40mil) space between the edge of the board and nearest copper.
  29. In all other cases draw outline of the board with skinny style.
  30. Fix the silkscreen and increase size of the silkscreen labels to what suitably fits.
  31. Write revision, copyright, product name, designed in XXX, somewhere into a free space in the silkscreen.
  32. Look out for dangling traces and traces that can be evened out.
  33. Check all packages if their numbering is correct by displaying the numbering using 'd'
  34. Check that packages have pin 1 square. Omit only those where the pinout isn't important.
  35. Check that all necks between adjacent pins of packages aren't thinner than minimum width copper and possibly fix them.
  36. Run mask.pl
  37. Print all copper layers on a paper
  38. Find all places where tiny garbage from ground planes is left, highlight them with a pen and then fix in the program.
  39. Fix silkscreen
  40. Add populating coordinates along all edges of the board. Numbers 0 1 2 3 ... along the vertical edges. Letters A B C D ... along the horizontal edges. Sector 0A is upper left. The marks are at coordinates 1cm, 2cm etc.
  41. View with gerbv
  42. Print into Gerber and PostScript. Leave everything turned off. If the board is rectangular and does not contain outline, turn on outline.
  43. Make Czech and English README.txt. Example: README.txt READMEcz.txt
  44. Add generation of the zipfile into Makefile.schematics.
  45. Generate the zipfile and check:
    1. That READMEcz.txt and README.txt mentions the same set of files
    2. That all files mentioned in README.txt are present in the zip
    3. For every file *.output_*.gbr, *.output_*.cnc and *.output_*.txt *.output_*.ps generated by PCB that it's either mentioned in the README.txt or is not necessary (empty).
  46. Send an e-mail to the manufacturer and specify:
    • Board name into the subject and body
    • Number of boards
    • refer to README.txt in appropriate language
    • Deadline
    • Payment method
    • Delivery address
    • Exposed film disposal option
    • Attach the zipfile

Populating a PCB

Table of pin dimensions
Part typeMaximum lead diameterHole sizeCopper widthSources
0.25W resistor0.6mm0.7mm60 milMeasurement of blue capacitors from gme.cz and green TESLA: maximum was 0.55mm (green TESLA)
Capacitor0.7mm0.8mm64 milMeasurement of yellow ones from gme.cz - more types (shapes).
DIL?28 mil60 milCopied from I2C2P
CANON connector?0.8mm62 milCopied from I2C2P
RADIAL_CAN_200?0.7mm65 milCopied from I2C2P
RADIAL_CAN_300?0.7mm65 milCopied from I2C2P, only 60mil changed to 65mil (for it not to be less than RADIAL_CAN_300)
RADIAL_CAN_400?0.8mm75 milCopied from I2C2P
Elyte 13x210.6 nominal0.75mm70 milgme.cz catalogue
TO92?30 mil60 milCopied from I2C2P
Jumper pin?40 mil80 milCopied from Twister
1N5408?60 mil120 milCopied from Twister
Handmade coil?60 mil130 milCopied from Twister
SOD2726 mil30 mil60 milDatasheet 1N4148
TO-2201.08mm1.1mm85milLM7805 datasheet
An expected information missing here?