CircuitToolchain

From Open Source Ecology
Jump to navigation Jump to search

Intro

This page describes the open source toolchain used to go from schematic design to pcb (printed circuit board) layout to gcode files which can be fed into the CNC Circuit Mill to create a pcb.

THIS PAGE IS UNDER ACTIVE DEVELOPMENT AND LIKELY HAS MISTAKES. Feel free to improve it or email me about it. My email address is "FIRST@LAST.info" where FIRST is "daniel" and LAST is "benamy".

At a high level, you create a circuit board like this:

  1. Design a schematic.
  2. Create a pcb layout for the schematic.
  3. Create gerber files of the board layout. Details below.
  4. Convert the gerber files to gcode. Details below.
  5. Feed the gcode into the CNC Circuit Mill which carves your design into a blank board covered in copper.
  6. Drill holes if needed for through-hole parts.

You can use KiCad to design the schematic and do the board layout, but those steps won't be discussed in detail here.

These instructions are based on Ubuntu 12.04 LTS 32 bit. An LTS (long term support) release is a good basis for an OSE project since it will allow the instructions to be useful for a few years.

Creating Gerber Files

  1. Install KiCad: sudo apt-get install kicad. This tutorial was written using version 2011-05-25-stable which is in the Ubuntu 12.04 repository on May 18, 2012.
  2. Download an existing board design: sudo apt-get install subversion && svn checkout http://micropendous.googlecode.com/svn/trunk/Micropendous/Design/Micropendous1/ ~/Documents/Micropendous/
  3. Run KiCad: Alt + F2, kicad <enter>
  4. Open Documents/Micropendous/Micropendous1.pro.
  5. Open the board in the PCB Editor (pcbnew). TODO picture.
  6. TODO Edit mask clearance? Opendous tutorial says to so this.
  7. Click File -> Plot.
  8. Choose an output directory. I recommend Documents/Micropendous/CNC Files/. If it asks if you want to use a relative path, say yes.
  9. Make sure the Front and Back layers are checked off any uncheck any other layers.
  10. Leave the rest as defaults. TODO screen shot.
  11. Click Plot.
  12. Click Close on the plot window.
  13. Close the PCB Editor.
  14. TODO Check gerber files for correctness. See http://code.google.com/p/opendous/wiki/KiCADTutorialCreatingGerberFiles.
  15. Close Kicad.

Converting to GCode

Visolate

Visolate 3 looks like an interesting and user-friendly tool. It's intended to be used in a way where it figures out efficient "cuts" for a cnc mill to make to separate the traces with the least cutting. I hardly have any experience with it so I can't comment on how well it works. Here's how to use version 3.0.1:

  1. Download it from https://github.com/Traumflug/Visolate/downloads.
  2. Install dependencies: sudo apt-get install --no-install-recommends openjdk-6-jre libjava3d-java libjava3d-jni libvecmath-java.
  3. Run it: Alt + F2, java -jar Downloads/visolate-3.0.1.jar <enter>.
  4. Load a gerber file: click browse,select the file, click load.
  5. If you don't see it, click the Fit button on the right just below the display area.

pcb2gcode

pcb2gcode is another tool to do the conversion. It's command line only and doesn't run on windows. If Visolate turns out not to work well, I'll investigate it further, document its usage, and possibly improve it.

gCncCam

gCncCam is one more tool which does this. It doesn't look like it's been updated in a few years so it's last on the list.

More Info

This tutorial is heavily based on the excellent Opendous tutorials at http://code.google.com/p/opendous/wiki/Tutorials.

Tons of info on all parts of the process at http://reprap.org/wiki/PCB_Milling