For a few months now, in between other jobs, I have been designing a piece of test equipment. I hope that it will be on sale around early August, depending on how much other work comes along in the meantime. For this I need to use PCB design software. Whilst there are many packages available, I require one that is linux friendly and ideally free, like beer and speech.
Until recently I have been using Eagle for my PCB designs, whilst this has been fine until now. My work-flow is slowly being crippled by its proprietary nature. It appears that really the only package available is gEDA and PCB.
One of the main “Features” of eagle is its (binary) libraries. I seem to spend most of my time drawing footprints and symbols so one of the biggest selling points for gEDA/PCB is text based libraries. Like so many others, after a brief (probably too brief) search of the Internet I decided to write my own tools for making pcb parts. Although it is quite possible to draw and write parts by hand, who wants to place hundreds of pads on a grid manually. I find the system used to notate the pads rather un-intuitive so at its least these tools act as an abstraction layer between the way I think and the way PCB thinks. For example PCB draws a SMD pad by specifying a line and a width where the line is shorter than the pad by the pads width. I just want to think about the pads dimensions x/y and position X/Y/A(angle) or any other co-ordinate system that suits my situation.
Another gripe is that Tragesym (also a Python script) takes tab separated CSV which whilst exportable from openoffice with little hardship, is not very compatible with a make based situation. It would also be nice to use one ods file for each component with a separate tab for each part of the symbol. ods2trag attempts to provide this functionality by converting each table of an ods spreadsheet into individual csv files that are compatible with tragesym.
I have written these tools as I needed them. They have already served me well, I hope they may be of some use to others too. Suggestions and contributions are welcome. I hope to clean up/comment/re-write some of the filthy bits but I guess the structure will stay the same.





