Importing gEDA "*.sym" and/or "*.bxl"

Hi,

I’m trying to convert “*.bxl” file to KiCad format. One recommended path, that is converting BXL to Eagle format first with Ultra Librarian, didn’t work for me because I couldn’t make the latter work in Wine. So I’m now trying to take another path and converted BXL to gEDA format with translate2geda. This seems to work, but I can still see no way to convert from gEDA “*.sym” to KiCad’s “*.lib”.

Thanks in advance.

1 Like

From that translate2geda site:

“BXL files are a package and vendor agnostic device description format that includes pad, symbol and footprint definitions in a single binary file encoded with adaptive Huffman encoding. The adaptive Huffman decoding code was ported to Java from vala code originally written by Geert Jordaens.”

Sounds rather complicated.
Might want to contact the translate2geda author and see if he got this part working yet:

“Export to Kicad is planned once conversion functionality is in place and satisfactorily tested. This should not be difficult, since the utility uses nanometres internally and also uses many of the dimensions and flags internally that the Kicad format is based on.”
Might not have the symbols in mind though…

What is your aim?
For a handful of symbols this is rather silly, so I guess you want to convert whole collections.
The only place where this makes sense would be a business environment, which then means you could spend some money and pay someone to do the necessary coding.
If it’s private… well, good luck. Maybe some nerd put in the work to do this.

I’ve seen a few vendors providing BXL files, they are the format used by the UltraLibrarian tool, which can then convert to a range of CAD formats. The idea is that we all pay Ultra Librarian for a vendor neutral format. I don’t know if vendors get paid money for using BXL format, but it would be nice if they used something open and non-proprietary instead.

I was unable to find a spec for BXL files, the gEDA format is at http://wiki.geda-project.org/geda:file_format_spec. It looks like it would be mostly easy to convert to KiCad, apart from things like bezier curves which would need some non-trivial conversion.

Thanks!

@Joan_Sparky, sorry I maybe didn’t it make clear enough. translate2geda works fine, it just produces symbols in gEDA format and I couldn’t find a straightforward way to import gEDA symbols into KiCad.
Since KiCad can (according to documentation) use gEDA footprints I thought there should also be something already for gEDA symbols as well.
@bobc, yes maybe writing a converter would be a simplest solution, I’ll just wait for awhile to make sure it’s not done yet.

According to the readme, the following abandon-ware may be able to do the conversion between gschem and eeschema for you

https://github.com/upverter/schematic-file-converter

Incidentally, gschem is able to export an eeschema format netlist for use in KiCad’s layout tool, but I have not tried this myself.

Adding eeschema export to the existing BXL conversion code should be relatively straightforward, needing only a few extra methods, I imagine, but I lack time right now. I will, however, put it on the to-do list for the not too distant future.

Cheers,

Erich.

1 Like

Upverter seems to have spent a lot of effort on writing a converter, then abandoned it. Details of their new Open Json format is hard to find, the only thing I found was a PDF of an old copy of some web pages describing it. I think they use the Open JSON to allow users to save designs locally. Upverter do not seem interested on publishing or maintaining the spec.

I guess upverter thought that a lot of people would only use their service if they could load their existing designs, but then found that wasn’t the case, so gave up the whole idea.

A “universal” spec might be a good idea, but the danger is it just becomes another unsupported spec. I think there are already some IPC specs which few tools support? Perhaps KiCad or gEDA would be better as they are at least Open Source projects. I guess it would be too much to ask that they come up with a common format :slight_smile:

I am not so concerned about hopping between EDA tools, my hope is that vendors and manufacturers provide EDA-neutral data which is also genuinely open and non-proprietary. I’ve noticed that Farnell provide part data as an Eagle script… yet another format to deal with. Obviously Farnell favoured Eagle because they owned CadSoft, but they sold it to Autodesk, so who knows what they will do next.

I have added automatic KiCad eeschema (.lib) export to

This is the original BXL decoding software component subsequently used within https://github.com/erichVK5/translate2geda

The eeschema export was pretty quick and easy to add to BX2text, but I haven’t ported the eeschema export code to https://github.com/erichVK5/translate2geda just yet, as it will need a bit more effort and I am a bit busy.

At least you can now automatically generate rough and ready symbols as well as footprints from BXL using BXL2text.

Post any issues on the github repo if there are any oddities found, i.e. pin directions going the wrong way, etc…

Issues:

  • eeschema symbol pin types are set to passive currently. It will need a bit more code to automagically set the pin types. I will schedule it for the to-do list.

  • Circles and arcs not exported, but all BXL defined symbols I have come across so far are rectangular anyway. Something for the to-do list as well.

  • a .dcm documentation file is not generated. eeschema does not seem to care. They are easy enough to hand craft anyway.

Enjoy responsibly.

Erich.

1 Like

As a matter of fact, there is work underway on a common “low cost to implement” interchange format “tEDAx”, which is supported by the WIP format neutral edakrill repository:

http://repo.hu/projects/edakrill/

It should be relatively easy for a kicad dev to write an importer/exporter. In the web page conversion/download to the desired target format is also planned.

It’s the only place you’ll currently find a Klingon font for a PCB (fine print: for use in pcb-rnd http://repo.hu/projects/pcb-rnd/ ) as far as I am aware…

http://repo.hu/projects/edakrill/user/erichvk/font/klingon-piqad-hasta-v1.krill.tar.gz

Regards,

Erich.

Thanks! That’s useful code. I might convert all the BXL files I can find and upload them to github.

As you may know, component (symbol) libraries and schematic files are being refactored in KiCad, similar to footprint libraries. There is a new schematic IO plugin framework, and I read someone is working on a plugin to read Eagle files.
It should be straightforward to write a plugin to read geda sym files, to complement support of geda footprints in pcbnew.

A new version of KiCad is not likely to happen before 2018, so in the meantime it will be useful to have an external converter.

This is Frank, the creator of the Ultra Librarian and the bxl format. I am interested in your capabilities and issues with the proprietary format. We do a proprietary format to assure no changes have been made that invalidate the work we put into accurate parts.

I am VERY interested in supporting properly and formats out there. It appears you are having trouble supporting a few formats. Perhaps we can start a conversation on how to do this.

erichVK5 you should talk to me about some contract work… its hard to find people capable of good translation work.

I know I am causing a resurrection of this thread.

Since the last posting int this thread, Ultra Librarian has advanced. Meanwhile, [erichVK5]'s software still shows some activity on github. Now, I wonder what the best flow to convert from a vendor’s .bxl file to KiCAD may be under the newest developments may be. Silicon Labs, for example, here, recommends a workflow using the Ultra Librarian Reader and does not even mention [erichVK5]'s software. Ultra Librarian’s page, however, says that its web site can now convert bxl files online. Therefore, in this confusing situation, what is the best practice to import into KiCAD .bxl files from vendors?

A relevant question, which may or may not need another thread, is whether gEDA schematics can be converted to KiCAD. (KiCAD natively understands gEDA footprints.) I am mentioning gEDA because in the past I thought that some .bxl files had to be converted to gEDA first and then imported into KiCAD (and also because I would like to import some old gEDA schematics into KiCAD).

KiCad has no inbuilt importer for gEDA. I personally feel it might be a good feature for some future version of KiCad as it might be a good idea to allow easy switching between different open source solutions. I am not sure if a bug report requesting this already exists.

I think gEDA has an exporter to kicad but i am not sure how finished the schematic side of it is. (at least export to KiCad is mentioned in the feature list on their website.)

UL is the developer of closed ‘bxl’ format… so the straight option would to convert bxl to kicad through UL online tools.

At the same time it seems that @erichVK5 tools are doing a very good job… particularly you can see this thread @kicad footprint gh libs

The BXL2txt tool can generate a gEda pcb fp (directly importable in kicad) and a kicad schematic lib from the corresponding bxl file.

1 Like

This Frank, the creator of the Ultra Librarian tool. I would say that since this thread has started we are moving all of our effort to online solutions like the ability to read a BXL and export it into several formats. Currently many of the vendors that offer BXL files are moving to an online solution as well. This allows us to keep the latest software available to users. It also lowers some of the technical support issues we see.

So my recommendation is to get your data for parts through Ultra librarian.com either by searching for the data directly on the site or by uploading your BXL to the online reader for export.

As always, if there are any issues with our export, feel free to contact us through the website. We are aggressively trying to provide quality content to users but often it is the users themselves that help us to stay current with all of the tools we support.

2 Likes