Reverse Workflow

last year my office was attacked and PCs stolen including physical backup media. It was possible to reconstruct most things from other backups but for a single (no-Kicad) design I lost some parts. There is a XGerber file from last PCB order and a printed schematic and board population drawing available on paper. I heard about import possibility of Gerber into PCBnew. I am not shure how to do and how to generate the netlist. Possibly new schematic from scratch, then forward annotate? From old Gerber only using component positions and route new traces with similar positions ? Any way to associate new netlist for old traces ? Any way for generating netlist from Gerber and associate to new schematic ?

There appears to be a tool with such capability.

A further search on “+gerber +netlist” lists quite a few more options.

No email copies anywhere ? - Even pre-final review copies could save time ?

How complex is the Board, and how much of the flow do you need ?

Gerbview can export PCBnew formats, but with a rather modest IQ.
ie There is no footprint info, and no drill info preservation, but I think GerbVIEW was improving this area, so be sure to try the latest versions.

Once imported, you can manually drop proper footprints onto the traces, and a tool like this WireIT can manually add-nets

Once you add the Pin-Net names, the Trace-Net names ‘auto attach’.

1 Like

Version control and proper off-site backups…

I don’t think you gain much by trying to fix this situation by using a reverse workflow.

Since you have a schematic on paper, it should not be to difficult to re-draw it in KiCad. The only issue is the total part and pin count is going affect how long it takes to re-do. Having a schematic in KiCad will ensure proper net-list generation.

A big part of the PCB layout is optimizing the parts layout. If this was done well in the first place, it should be fairly straightforward to use the ratsnest to connect the nets and generate the board. The Gerber files can be used to duplicate the board exactly if desired, however, with KiCad’s interactive router it might be the case that using KiCad gives better trace routing than the original software.

2 Likes

How complex is the Board ?

Photo shows top & bottom prototype with 2-3 wires and plastic housing. Its a debugger for rotary encoder. There is one galvanic isolated quadrature input with 4 buffered outputs. BNC is for high bandwidth scope trace and one D connector outputs the servo axis to debug. Remaining two D outputs are used for parallel connected servo controller and Dewetron long time trace recorder. The STM32F107 unifies the index pulse to 1mS for easy scope trigger, detects the number of pulses between index and outputs 0-10 Volt analog rotary angle and speed signals. LED will indicate if pulse count between index is not constant: Missing pulses, counting bounced edges and suspicious short speed and direction changes implausible for the mechanics inertance. For firmware a hex file exits. Sources are trivial and substantial parts can be copied from other GCC projects why I not intend the revers workflow therefore.

No email copies anywhere ?
as garage warrior I am a lone fighter und mail exists unfortunately only as Gerber format from last PCB order

There is no footprint info
Source was non Kicad and this seems no problem

Import to Gerber Viewer was straightforward. Excellon import has scale issues what cannot solved with mm/inch setup. Probably it detects wrong decimal point position. Tried format is 2.4 absolut inch with leading zero supression.

Import to Kicad is also ok but all SMD pads are shown as a dot with zero dimension. At least I have the board outline, plane shape outlines, connector and component positions and I can see the traces. I am going to redraw the schematic and then forward anotate with a trial of Wirelt. 1000 thanx - Kicad is my new baby now



Gerber doesn’t include data about footprints, so exporting pads from gerber to KiCad pcb file wouldn’t be super useful. I made a new version of an old non-KiCad design this way:

I redrew the schematic. I had or made footprints for each component which I attached to the schematic, just like when starting to make a new board. I exported copper and silk from gerbers to pcb file. Then, after updating the board from schematic I moved the footprints to their places using the features from the gerbers as guidelines. Quite often the tracks and footprint pads match so that the tracks even take correct net when footprints are moved to their places.

Unfortunately I don’t remember the details, so something may have been different than described.

1 Like

Pity, it’s worth trying some more on getting Drill into GerbView, as I just checked gerbView export, and it can export a valid drill to PCB_New as dots, which then show the drill size, so that’s a useful merge-import check near the end, or if you just want a quick check on Hole size to define for your footprint.
It may even be possible to create a python script that cross-links a pin-drill with a found dot-item of same XY … Or checks and confirms they are close…

This is part of the exported hole example (0.3mm holes)
(gr_line (start 62.255 -44.882) (end 62.255 -44.882)(layer Dwgs.User) (width 0.29997))
(gr_line (start 62.967 -40.996) (end 62.967 -40.996)(layer Dwgs.User) (width 0.29997))
(gr_line (start 63.627 -40.996) (end 63.627 -40.996)(layer Dwgs.User) (width 0.29997))

Good progress, Which version of GerbView is that from ?

When you manually place new footprints the SMD pads will correct, and manual place thru hole parts will give correct pin numbers.

Application: GerbView
Version: (5.1.4)-1, release build

Excellon drills import now correct, (but does not help much for circuit entry) File was format 3.4 while GerbView detected format 3.3 Did not find setup to override auto detect but converting the file to 2.4 always works fine as GerbView detects 2.4 therefore. Obviosly 7 digit format are no standard and cannot detected automatically by GerbView. 6 digit formats 3.3 or 2.4 or 4.2 always import correct. Leading zero supressions and using Step&Repeat commands also always imports correct.

Also tried Excellon FMT1 conversions. Therefore GerbView reports Error of unknown G81 instruction. The G81 FMT1 instruction is equal to the FMT2 instruction G05 what does not issue error message in GerbView. The commands puts the machine from mill to drill mode. Nevertheless, holes are displayed at correct position if error message from FMT1 G81 is simply ignored. There is a hell of possibly other commands like spindle speed, axis accelerations in correct syntax excellon files what are futile for GerbView why this error can be considered as a simple soft warning. Background of the header infos are here: https://www.artwork.com/gerber/drl2laser/excellon/index.htm

Good to see progress.
From another recent thread on Gerber handling, there is also GerbV from geda, which could be a useful ‘second opinion’ and I see it has excellon import/merge/export, and it can delete selected items, so could complement KiCAD’s gerbview

thx for the link. At work during the week, I have access to a commercial full feature GerberTool. Comfortable to convert Gerber, DXF, ODB++, IPC2581, Sieb&Mayer, Barco and others. For specific compability tests of GerbView you can download a limited test version as reference from http://www.wssi.com/index.php?option=com_content&task=view&id=182&Itemid=183

Whilst many people hate the concept of cloud storage, the OP’s problem demonstrates why cloud storage can be useful… just consider it as a convenient “off site” file backup solution.

I personally use DropBox - I’ve used it for ages, and it does what I want to do easily, but there’s plenty of other options out there. In terms of my Kicad files, it’s a simple manual backup process: I just copy the files into the dropbox folder, and they get synced to the cloud. Some cloud solutions very specifically can do a “folder backup”… I just do it manually, as and when relevant.

We can all get quite complacent, can’t we? “My PC’s HD will never crash” or “I have it backup up to a USB drive”, but if the kit gets stolen, or there’s a fire, it’s too easy to lose your data… and as the OP has found out the hard way, it can cost a lot (in time as well as $$) to replace / re-create that information… far more than the cost of setting up a backup.

Anyway, sounds like you’re well on the way to recreating the PCBs…

Paul

We soon setup own cloud with two file servers physically located in two other buildings on and off premises to avoid further cases of dificulty disaster recovery.

All the way I am thrilled from Kicad and delay reasons are only from other jobs beside.

Day 1 Schematic entry
Day 2 Schematic entry with about 30% new symbols requried in symbol lib
Day 3 forward annotate with another conversion from Gerber, some new footprints for library required and upgrade Kicad to latest CERN version

Background: Experiencing a crash of pcbnew I did a bug report to lauchpad at day 3 (despite there were workaround possibilities) becouse of the clear way to reproduce this crash. Within one hour (!!!) there was a solution provided by @Seth_h what was successfull after using download from CERN and bug report was changed to commited patch status. Similar bug was already reported for the footprint editor what eased the way to find the already existing patch but I have to admit that I am a non paying user and I never saw such response for commercial EDA.

Day 4 Placement of components and further new footprints. Dropping the components to board, changes the imported Gerber traces from reverse workflow immediately to correct netlist assignment from forward anntotion. This way there is no more need for wirelt and no doubt to finish the design successfull. The main reason for not using old traces are slightly bigger footprints from Kicad library compared to what I had in use before. I pushed imported Gerber traces to inner layers. Design is no multilayer while I can route the new traces similar on front/back layers and I am curious to gain experience with the the push&shoove interactive feature soon. Diffrences to previous footprints are minimal so its no matter of board size and space for the traces but only DRC. Possibly the old stencil will not work any more sufficient and I have to order a new one but thats not impact.

1 Like

This topic was automatically closed 90 days after the last reply. New replies are no longer allowed.