Fabmaster ASC to kicad converter tool

Figured I’d post this here.
Not sure if anyone would want to do a proper importer for kicad. This is ultra hacky, but someone might find it useful for extracting something approximately like a footprint from an existing old board or a proof of concept for a proper converter

https://www.vogons.org/viewtopic.php?t=103920

Consider this basically a beta, because it has practically zero creature comforts and basically hacked its way into a format kicad could open.

  1. Developed/tested on “ASUS_Motherboard_P2B_1.12” which the enterprising will be able to find.
  2. No guarantees it will work on others, but it should.
  3. ASUS because it gets the component values from their BOM file.
  4. If other boardviews have that data, or you don’t care go ahead and modify it.
  5. I will probably play with a few others, but I don’t expect to spend much more time on it.
  6. Edit the script at the top to change a couple of options (eg bom file)
  7. It did require one notable edit of the original files. For some reason some files had PENT and others had PENTIUM. It had to change.
  8. I may have missed some things but it looks complete at a glance

It could be useful for getting footprints from old boards, or if you really love a board, recreating it.

How to use.
Run from powershell, in the directory with the ASCs, and BOM
Wait.
In kicad, start new project > pcb editor > append board (or try with the raw file attached)
Symbols will have to be assigned/created to get it into a schematic.
Unfortunately “update schematic from PCB” just laughed at me.

Attached:
P2b recreated from the ASC file
Script

Just tested on TuV4x_101.
It complained, and some manual fixing of something wrong in the file where kicad complained, but… Attached.

Already found a typo. I expect more. line 608 $device should be $pdevice to add component values.

TuV4x_101.zip (117.7 KB)
ConvertASC-to-KICAD-Brd-V20241209.zip (91.7 KB)

I updated it in vogons if anyone cares lol

@myne are you sure that .ASC is Fabmaster and not e.g. the Mentor PADS-ASCII format?

KiCad already has an Fabmaster import integrate. See pcbnew/pcb_io/fabmaster · master · KiCad / KiCad Source Code / kicad · GitLab

The header says fabmaster. Not much else I can go on.

Kicad didn’t recognise it

I have never heard of a PCB design product from Fabmaster. Their business is PCB assembly and test, importing 3rd party PCB files.
Are these Mentor or othe files post-processed by Fabmaster?

My understanding is that it was “bed of nails” testing machine /suite for automated board testing.
It is the only format these ~20yo old boards were leaked in.

I’ve made fair progress reverse engineering it (and kicad) as you can see. Some kinks remain.

The basic idea is for someone (maybe me) to recreate a retro motherboard.
There are several recreations of older era boards, or equivalents. The p2/3 era is likely next.

My basic aim is to get it to the point that the only thing to do is swap/mod footprints, rearrange as desired, and design traces. It’s a bit of a puzzle, really.

Here’s the header of one of those files

LV101 FABMASTER (R) licence #3421 , TOPTEST TECHNOLOGIES CO

Part Pins List 0/3126 Selected Parts 13-Aug-2001 23:20
INCH units

Part T/B
Pin Name X Y Layer Net Nail(s)

Part U1 (T)

1 1 -4.515 -2.385 1 CMIC1 323
2 2 -4.465 -2.385 1 TREF 324
3 3 -4.415 -2.385 1 MIC_REF 325
4 4 -4.365 -2.385 1 AGND_A 43
5 5 -4.365 -2.160 1 V_REF1 321
6 6 -4.415 -2.160 1 AV_REF1 326
7 7 -4.465 -2.160 1 MIC_REF 325
8 8 -4.515 -2.160 1 A+5V 42

I got a bit carried away.
It now outputs symbols and footprints as well as pcbs.

They’re not amazing, obviously I can’t make data that doesn’t exist, but it’s serviceable enough.

It is of course depending on your goals, but if you want to have other people using your importer widely it would make sense to write a c++ importer which is integrated in KiCad: pcbnew/pcb_io · master · KiCad / KiCad Source Code / kicad · GitLab

I think I also found a different project which has the same file-structure (but different header): Opensource-intel-DH67/INTEL DH67BL REV 1.02 - BoardView (.ASC) at 0d75249aef3f93f52f1270595e82610c54a7f53a · YTEC-info/Opensource-intel-DH67 · GitHub using this search query: Code search results · GitHub

In my opinion, this is some sort of BoardView format and might be supported by GitHub - OpenBoardView/OpenBoardView: View .brd files

Yes… You can open them in boardview.

Now you can open them in kicad.

I have almost zero cpp experience. This works. It takes under a minute. I don’t really feel the need to rewrite it.

If someone else does, go ahead. Call this a proof of concept if you will.

That other project isn’t a project. It’s leaked files that my converter should work on.