CircuitToolchain: Difference between revisions

From Open Source Ecology
Jump to navigation Jump to search
Line 1: Line 1:
==Intro==
==Intro==
This will become a page describing the open source toolchain used to go from schematic design to pcb (printed circuit board) layout to the files which can be fed into the [[CNC Circuit Mill]] to create a pcb.  
THIS IS A WORK IN PROGRESS.


For the moment, it's just a collection of my (Daniel Benamy's) notes as I figure out the toolchain. I'll neaten it up once I get a bit further.
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.


The process at a high level is:
At a high level, you create a circuit board like this:
# Design a schematic.
# Design a schematic.
# Create a pcb layout for the schematic.
# Create a pcb layout for the schematic.
# Create gerber files of the board layout (1 per layer).
# Create gerber files of the board layout. ''Details below''.
# Convert the gerber files to gcode.
# Convert the gerber files to gcode. ''Details below''.
# Feed the gcode into the [[CNC Circuit Mill]] which carves a blank board covered in copper into your design.
# Feed the gcode into the [[CNC Circuit Mill]] which carves a blank board covered in copper into your design.
This page focuses on getting from a board layout to gcode for a CNC machine.


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.
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.
This tutorial is heavily based on the excellent Opendous tutorials at http://code.google.com/p/opendous/wiki/Tutorials.


==Creating Gerber Files==
==Creating Gerber Files==

Revision as of 22:26, 17 May 2012

Intro

THIS IS A WORK IN PROGRESS.

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.

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 a blank board covered in copper into your design.

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 a 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

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