Creating RS274X Gerber Files for PCBs Designed using "Tango PCB for DOS"

Version 1.05 (12-Dec-21) Copyright © 1994-2021
Sam Goldwasser
--- All Rights Reserved ---

For contact info, please see the Sci.Electronics.Repair FAQ Email Links Page.

Reproduction of this document in whole or in part is permitted if both of the following conditions are satisfied:
  1. This notice is included in its entirety at the beginning.
  2. There is no charge except to cover the costs of copying.


Table of Contents

Introduction

This document outlines ways to generate RS274X Gerber files PCBs created with the pre-Jurassic but fabulously wonderful layout program: "Tango PCB for DOS". (Much of this information also applies to other ancient PCB layout programs that generate Gerber files in the RS274D format.) This is the original version of Tango PCB and has sufficient capabilities for doing quite complex PCB layout as long there something fancy is required like parts at funny angles or controlled-impedance traces. And it has a user interface that results in an experience has been likened to "playing a musical instrument". I have created 11 x 13 inch 12 layer PCBs using Tango PCB for DOS in the early 1990s on a 100 MHz Pentium PC running Window 98 in a DOS shell. They had hundreds of mixed through-hole and SMT components and over 5,000 holes. (No, I didn't route every trace by hand. Tango sold a separate autorouter which also ran under DOS that did much of the work, though subsequent cleanup of jiggly and errant traces was needed.) Subsequent releases of Tango (after the company were acquired by OrCad) converted to run under Windows 2000 and beyond have suffered from the limitations of the Windows GUI as well as creeping featurism on a grand scale. If you are familiar with Tango PCB for DOS, you know what I'm describing. If you're not, unfortunately, the program requires a parallel port security dongle and cannot be installed from the Web or anywhere else. Or at least, I haven't figured out a way. I could also not get Tango PCB for DOS to run under DOSBOX (Note 6) even with its dongle plugged into a valid parallel port. I'm optimistic that DOSBOX-X will get around this. And copies of Tango PCB for DOS with the dongle are now scarcer than raw dragon's eggs and probably being hoarded as I've yet to find one anywhere. If anyone has more info on any of this (or one to sell as I'd like a spare), please contact me via the Sci.Electronics.Repair FAQ Email Links Page.

The problem with Tango PCB for DOS is that it is only capable of generating Gerber files in the equally ancient RS274D format which is not accepted by most PCB houses nowadays including JLCPCB (Note 5). Thus conversion to RS274X is required. While how to do such a conversion is probably intuitively obvious to someone who designs PCBs on a daily basis, if just dusting off "Tango PCB for DOS" every other blue moon, the following could prove useful. It was written specifically with JLCPCB in mind but should apply to most others.

Multilayer PCBs with or without Internal Planes using Gerbview

This procedure requires Gerbview (Note 1) or another program that can do RS274D to RS274X conversion. Gerbview is not freeware but offers a 30 day free evaluation license. And the purchase cost for a single seat license is relatively modest and justifiable if you want to stick with Tango PCB for DOS and do a steady stream of PCBs. ;-)

Since Tango is used to generate RS274D-format Gerbers, its CAM settings are critical:

Some other values work but not all.

The example below is for a 4 layer PCB named 4LAYER.PCB in Tango. With obvious modifications, it should also apply to PCBs with 2 signal layers and no plane layers or more than 4 signal layers with or without plane layers.

  1. Make sure the apertures are set and then generate the Gerbers for 4LAYER.PCB in Tango PCB. Use the extensions: gto, gts, gtl, g1, g2, gbl, gbs, gbo, and gko for the keepout/board layer. Note: Tango PCB may capitalize them, which is irrelvant. It will also not maintain the 2-letter g1 and g2 extensions and will rename them to g10 and g20. Rename them back to g1 and g2 manually.

  2. Generate all the Gerber layers and the Excellon drill file for 4LAYER.PCB using the settings shown above - ASCII: None and Zero Suppression: None. The typical extension is .XLN. This is NOT the DRL file that Tango normally produces, which is just a map of drill symbols and useless for machines.

  3. Generate the Report (REP) file with the Apertures enabled. It is needed to convert to RS274X.

  4. Use Tango's built-in Gerber viewer to do a first pass confirmation that there are no screwups. There are some things Tango gets confused about, one example being anomalos edits of polygons. These will show up correctly in the PCB file but may have extra "doo-dads" in the Gerbers. :( :)

  5. Load all Gerbers generated by Tango for the 4LAYER.PCB, the drill layer (4LAYER.XLN), and report file (4LAYER.REP) into Gerbview (Note 1).

  6. Confirm that all layers including the drill layer show up and are correct. At this point, PWR and/or GND plane layers are the NEGATIVE of how they will actually be for production.

  7. Convert to RS274X as separate files without extensions so they will have the original extensions. (Clear the extension field in the Conversion dialog box.) Only "Include old extension as part of new file name" should be checked. Use a new destination folder so the next step can be completed without conflict.

  8. Rename the "_extensions" to ".extensions". E.g., 4LAYER_GTL to 4LAYER.GTL.

  9. Zip all layers (gto, gts, gtl, g1, g2, gbl, gbs, gbo, drl) along with a README if desired.

(Two layer PCBs with signal and plane layers may also be possible but normally the plane layers ONLY include pads for components that are connected to the plane and there appears to be no way to get Tango to include the others. So those component leads cannot be soldered unless the signal layer is on the bottom and then component insertion becomes tricky. PCB gurus probably have a workaround but I do not know what it is. Playing with the settings in Tango didn't seem to do anything useful. Thus these are not recommended. Use a 4 layer PCB instead even if one signal layer and one plane layer are blank.)

Two Layer PCBs with Top and Bottom Signal Layers Using TangoKiCAD Converter and KiCAD PCB Editor

Two layer PCBs can also be done using the procedure, above, and that is preferred due to known and unknown quirks in TangoKiCAD. But this one does not require RS274D to RS274X conversion using Gerbview as KiCad (Note 3) generates RS274X Gerbers directly. However, it can ONLY be used for PCBs with 1 or 2 signal layers as TangoKiCAD chokes on anything more complex including more than 2 signal layers and any plane layers.

The example below is for a 2 layer PCB named 2LAYER.PCB in Tango with signal layers ONLY. (One layer can have nothing on it but must be present so that there will be pads to solder to on both sides.)

  1. All that is needed is the Tango PCB file, 2LAYER.PCB saved as ASCII. Tango is not used to generate the Gerbers.

  2. Use TangoKiCAD (Note 2) to convert 2LAYER.PCB to 2LAYER..BRD. Only the source (Tango PCB file) and destination (KiCAD BRD file) fields need to be filled in. Run "Convert PCB" and exit - TangoKiCAD screws up and may generate random extra traces (or worse) if run more than once even if the Tango PCB file is unchanged. TangoKiCAD also has other quirks such as flipping vertically-oriented text and deleting polygons and pads that aren't associated with components. (To include mounting holes and polygons on the PCB, a component with them must be created.) So carefully double check the PCB in KiCAD for anomalies. (And to be even more annoying, TangoKiCAD may turn off "Show window contents while dragging" for no justifiable reason. To re-enable it, go to "Control Panel, "System and Security", "System", "Advanced System Settings", "Performance Settings", and check the appropriate box.)

  3. Open 2LAYER.BRD with the KiCad Pcbnew editor. No editing needs to be done except possibly to move the PCB inside the KiCad template (though this probably doesn't matter). Generate the Gerbers for the top and bottom layers (gtl, gbl), top and bottom soldermasks (gts, gbs), top and bottom overlay/silkscreen (gto, gbo), keepout layer (called eco2 in KiCAD, BRD in Tango), and the drill layer (drl, which is NOT derived from the DRL layer normally generated by Tango, but from the pads definitions in the PCB file itself). Rename 2LAYER.eco2 to 2LAYER.gko. The default font for text in KiCAD may also be different than in Tango.

  4. Zip all layers (gto, gts, gtl, gbl, gbs, gbo, drl) along with a README if desired.

Final Check

Use Gerbv (Note 4) or Gerbview to display the final Gerber files to confirm that there are no screwups. (Gerbv seems to be better for viewing and the setup can be saved.) Do this first with the set you have or will be uploading to JLCPCB. For Plane layers, set the display to negative in Gerbv by right-clicking on their name(s) on the left side and selecting "Invert Colors" to show how they will actually be made. They should appear as mostly copper (negative of what Tango displays). Once uploaded to JLCPCB, view the Gerbers in the "Production File" (under the folder "ok") and confirm again. Plane layers should appear as mostly copper without using the "Invert Colors" option. Access to the Production Files may require that the board be paid for and, uh, in production. But perhaps there's a way to have JLCPCB give you a sneak peak before approval. Note that I have seen subtle differences in how the layers are displayed between the Gerbers uploaded and those in the production files "ok" folder, which are mostly evident when viewed stacked up, though nothing that should be significant. There may also be subtle differences between the appearance in Gerbv and Gerbview due to how they render the layers.

The examples below show the typical appearance of the Gerbers for a signal layer, a (split) plane layer as generated in Tango PCB, and the same plane layer from the JLCPCB production file for the board as displayed using Gerbv.

       

Typical Gerbers: Signal Layer (left, copper is red); Plane Layer Generated by Tango (center, copper is black); Plane Layer from Production File (right, copper is green)

Notes

  1. Gerbview is not freeware but does offer a 30 day free evaluation. Gerbview is useful for both viewing of Gerbers (both RS274D and RS274X) and conversion from RS274D to RS274X.

  2. TangoKiCad seems to have disappeared from the Web. I can provide a copy, but note that Zonealarm has sometimes believed it to be Malware and deleted or quarantined it. However, that hasn't happened for several years and I have never had problems with TangoKiCad for even more years, except for how brain-dead it is - only supporting PCBs with two signal layers, screwing up if invoked more than once without restarting, and messing with the Windows setting "Show window contents while dragging", (probably among other things). :( :-)

  3. KiCad is freeware which includes a suite of CAD tools including a Gerber viewer, though only the PCB editor is used here.

  4. Gerbv is freeware and works well for displaying Gerber files in RS274X format. Only the Gerbv.exe file is required to display Gerbers. To save and recall "Projects" (Gerber layer files, stackup, colors, etc.), the Tiny SCHEME Init File is required and should be placed in the same folder as Gerbv.exe.

  5. JLC PCB is of many companies that will fab PCBs in small quantities at excellent prices. I have been very satisfied with their PCB Quality and technical support.

  6. DOSBOX is a DOS emulator that runs under modern Windows. While "Tango PCB for DOS" will attempt to startup in DOSBOX, it aborts since its security dongle is not recognized. However, there is now a newer version called DOSBOX-X which is much more powerful. I'm optimistic that it can be configured to recognize the "Tango PCB for DOS" dongle. ;-) Stay tuned.