Importing OrCAD libraries

Hello forum,

I have for 20 years (how’d that go by so fast?), used the same version of OrCAD (v9.2) for schematic capture. My process is to create the schematic in OrCAD, associate full bill of materials info with each component, generate a csv file for import into a spreadsheet of choice, generate a netlist in tango format, import that into Eagle, lay out the board, and generate gerbers. If I ever need autorouting, I can pass an Eagle design to Konekt’s Electra (very similar to Specctra but much more affordable and friendlier licensing terms), autoroute it, and pass it back to Eagle. With all the little helper apps, user-language programs, scripts and so on, this convoluted sounding process has worked amazingly well. I have never used Eagle’s schematic tool, as I’ve always found OrCAD Capture to be incredibly effective.

With Eagle no longer available on acceptable licensing terms, and OrCAD’s vintage user interface becoming considerably less tolerable, it’s time to move on. Not to mention, I’d really like to ween myself off of Windows and bridge over to linux for day-to-day work. KiCAD looks like a great fit.

My experience of KiCAD has so far been good, but I have yet to generate gerber files from it. The schematic tool is great, and creating a placement in pcbnew has been quirky but not at all bad. I love the 3D viewer. It’s a good enough experience so far, that I would like to be able to move legacy designs into KiCAD. I need several conversion tools to do this:

  1. OrCAD dsn files to eeschema sch files.
  2. OrCAD libraries (I have a lot) into eeschema libraries.
  3. Eagle layout designs to KiCAD. I have not tried this yet, but I see there are tools for this.
  4. Eagle footprint libraries to KiCAD (I have done this using an Eagle ULP; works great).

I think 3 & 4 above are manageable, but 1 & 2 are a little more challenging. Are there any tools that would allow me to bring OrCAD schematics and libraries into KiCAD? Can I export to edif format & import into KiCAD?

Unrelated questions that should possibly be in a different thread:

a. Is there any way to use different fonts in eeschema?
b. Is there a way to import component properties from a csv or other text file into eeschema so each part is fully spec’d? This would make bom generation a lot smoother.

Thanks in advance for all help, tips & advice,

I’ll answer a) first cos that’s easy : no, one font is all we get :slight_smile:

Importing to and from other formats is a frequent topic, but there isn’t a good general answer. Considering the huge number of possible conversions, it’s not worth anyone’s time writing a universal converter for what is usually a one-off task. It’s possible to hire a freelancer for $50 to convert a project, it’s hard to beat that.

However, there are rnif2kicad and edif2kicad source code, which might help.


Maybe look at KiPart?
It reads/writes schematic and symbol library files to get all that information in place (besides tons of other stuff).


The hard part is finding a developer with an OrCAD licence

Not an answer to your question, but related- I discovered SnapEDA two days ago. They have a huge library of component symbols, footprints and 3D models you can download for free if it exists or you can have it designed for a small fee if it doesn’t. It would be very beneficial if we can get your well spec’d library on the official github repo once converted. The libraries still need a lot of work. Good luck with your effort!

Please read he stenciling of anything you fetch from these commercial repos before uploading to GitHub


I admit, haven’t read the terms yet. I did mean though if he converted his own libraries to consider making it available to the community.

I’m the only one I know these days, & my version isn’t compatible w. the latest version. Cadence’s annual maintenane $ is now much > what I paid for the tool. I find this hard to accept given the field of competitors. I also tried their layout tool a few years ago; found it ridiculously over-complicated and unstable; lost a layout due to the tool crashing; lesson learned.

Thanks ccandiotes. I’ve no objection to sharing my component libraries, but I do need to watch the licensing issue. Most of mine started by correcting errors in OrCAD’s stock libraries, then adding new parts as needed. I have to pluck my parts out of their libraries… unscrambling eggs.

I still trip over some stock parts once in a while, like the mmbt4403 using an npn transistor symbol. Not to say my own mistakes aren’t just as comical.

This keeps happening. My company abandoned Protel, when it became Altium, for OrCAD and again switched to Zuken CADSTAR several years ago, when OrCAD became too expensive.

I am retired now but the company I worked for used Orcad sch and MAX for PCB. I really liked it but after I retired found it much too expensive. Eagle I did not like so Kicad is all I use now. Building parts is easy enough and quick in most cases. I just design as a hobby now, at 75 I don’t want to start anything big. (:slight_smile:


Yeah, it’s not that I’m AGAINST learning something new - quite the contrary - but the time and effort to truly master a new program, language, technique, etc, has to be weighed against a person’s remaining years and resources. Two old friends have died within the past two weeks . . . . :cry:


Actually, we old fxrts throw ourselves into this stuff to keep us from thinking too much about that and to think we still have something left to contribute to society. Condolences on your friends passing.

1 Like

Yes, my problem is not the electronics, it is the firmware. I am not that
good a programming.
I like the PIC processors and there are a lot of ways to program them. I
started with BASIC, some assembly, and some C,
It’s not like a PC you have to really study the data sheets to get it

True. I’m a microchip design partner; PICs end up on almost everything I do. I used to code everything in assembly, as it’s so pure and deterministic. The processor always does exactly what you say, even if you say something dumb. You can’t easily get surprised by the assembler, as there’s nothing to get lost in translation. Complexity of projects necessitated a move to C very long ago; it’s too painful to maintain a large code footprint in assembly. Recently, owing to a BluetoothLE related project, I’ve been forced away from the old C18 compiler; shame, it’s my fav. The newer XC8/32 compilers seem like a bit of a work-in-progress. They’re (very obviously) old hi-tech compilers just rebranded & updated w. new processor headers. When hi-tech owned the picc compilers, they were actually pretty tight. I still dust off my old one for pic16 projects, though I don’t do a lot of those now.

We seem to have morphed quite a ways from the original topic. :wink:

I think that’s because, unlike a PC, a microcontroller is manipulating hardware as much as it’s manipulating data, and probably manipulating hardware much more than it’s manipulating actual numbers.

About a dozen years ago I stumbled into PIC microcontrollers in conjunction with a freelance gig. I hadn’t done anything in assembly language since the early 1970’s, when a few homework problems for an “Introduction to Digital Processing Systems” class used assembly language. By the time that work dried up I probably wrote 15K - 20K executable lines of PIC Assembly, did the hardware design for half a dozen products, and learned to use some PC board layout programs.


Yes, you are correct there.

agree. assembly is very slow to code but fast to execute. I have not done
assembly in a long time.
yes, we better end this one.:grinning:

I know i should not derail further but well written c with the correct useage of compiler options is at least as fast as asm. (sometimes even faster because optimizer don’t care if a human can ever read their output.)
This stack exchange discussion is a good read on that. (I mainly post this answer because some of the tricks in that discussion are really nice and i did not know about them. Thanks for giving me a reason to go down that particular rabbit hole.)

And yes there are edgecases where asambler makes sense. (But you can use assembler within c code.)


After three decades of OrCAD Capture use I have an extensive library of designs. My usual tool path was to create Tango style netlist in OrCAD Capture and import the design into PCB123. PCB123 is a proprietary layout tool from Sunstone Circuits and locks you into using their foundry services for PC manufacture. It has the advantage of convenience. They took care of the “back end mickey mouse” (e.g. Gerber version, drill file format)–all at a push of a button. However, their service is expensive. I wrote a translator to convert simple Tango netlists to the S-expression format used by KiCAD. I left a copy (406 lines of C code with comments) on GitHub.