Ronja Twibright Labs

How to edit PCB's, schematics and partlists

Editing pcb's

The layouts have been designed in the 2004 version of PCB program. Eearlier versions will refuse to load the data. Why? Because, by chance, Harry Eaton changed the internal resolution from 1 mil (inch/1000) to 1/100 mil (inch/100,000) to accomodate demands of new technology processes. The version has been chosen for better editing features, not for this change.

Note: Please read the pcb creation guide

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

Silkscreen Patch

For PCB versions pcb-20040215 and earlier it is necessary to apply silkscreen patch made by me that removes silkscreen paint from all areas designed to be soldered on. Without this patch, the reliability of the soldering operation is at stake.

PCB versions pcb-20040530 implement their own silkscreen cutting algorithm that satisfies the necessary requirements. Scripts There are helper scripts mask.pl and pcc.pl that help mass operations with PCB. There are internal server errors on the scripts, to be resolved.

Editing Schematics

Schematics are done in the gschem program that is a part of gEDA suite of tools. Symbols

There are custom symbols made during the course of development of Ronja. They are being gradually added to the gschem program into it's internal official symbol library. A tarball with them is symbols.tgz and you can also view them in the symbols/ directory.

You can include them by doing the following:

1. Make some directory say /home/user/symbols. It can be named anyhow you want and put anywhere you want. 2. Put the files from the tarball into /home/user/symbols 3. Make files gschemrc and gnetlistc in the same directory from which you are running gschem when editing the Ronja source files and into each of them put:

(component-library "/home/user/symbols")

Partlist autogeneration

There are two partlist autogeneration systems:

Controlling component's appearance in partlists

With the old system this is not possible.

With the new one, use attribute package=no to make the part not to be mentioned in the partlist. Use package=custom for the part to appear only in population lists and not in shopping lists. Otherwise the package attribute is to inform which variant of the part is desired (for example DIL vs. SMD etc.). Note it's different from footprint, because footprints have often complicated names which are specific to the program and guy in shop won't have the slightest notion about them. There may be more footprints for one package type differing in silkscreen, or sometimes more information matters than just the footprint (like electrolytic capacitor height). Entering prices

The system allows arbitrary number of suppliers to be entered. The prices are in schematics/prices.csv CSV file. Field delimitter is , (comma), text delimitter " (quote), decimal place delimitter . (dot). Load the file into OpenOffice and fill in prices and order numbers as convenient. You can use also CSV outputs of various models or modules as templates what to fill in: you just have to strip away the "Qty." column. Adding supplier into prices database That's easy. Just copy last two columns of first two rows. This is the heading. Change supplier name and URL and start filling in. The URL is just for user's information. The script will automatically take this into account. Not all table cells have to be filled in. Commiting the changes

Send the final file to maintainer of this site (see at bottom edge of this page), he will quickly check if it's OK and merge it into the main database and regenerate the outputs. Directory structure

Controlling component's appearance in partlists

With the old system this is not possible.

With the new one, use attribute package=no to make the part not to be mentioned in the partlist. Use package=custom for the part to appear only in population lists and not in shopping lists. Otherwise the package attribute is to inform which variant of the part is desired (for example DIL vs. SMD etc.). Note it's different from footprint, because footprints have often complicated names which are specific to the program and guy in shop won't have the slightest notion about them. There may be more footprints for one package type differing in silkscreen, or sometimes more information matters than just the footprint (like electrolytic capacitor height).

Entering prices

The system allows arbitrary number of suppliers to be entered. The prices are in schematics/prices.csv CSV file. Field delimitter is , (comma), text delimitter " (quote), decimal place delimitter . (dot). Load the file into OpenOffice and fill in prices and order numbers as convenient. You can use also CSV outputs of various models or modules as templates what to fill in: you just have to strip away the "Qty." column. Adding supplier into prices database That's easy. Just copy last two columns of first two rows. This is the heading. Change supplier name and URL and start filling in. The URL is just for user's information. The script will automatically take this into account. Not all table cells have to be filled in.

Commiting the changes

Send the final file to maintainer of this site (see at bottom edge of this page), he will quickly check if it's OK and merge it into the main database and regenerate the outputs.

An expected information missing here?