CircuitToolchain

From Open Source Ecology
Jump to navigation Jump to search

Intro

This page describes the open source toolchain, or series of tools, used to go from an idea for a circuit to a physical circuit board in your hand.

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

These instructions are based on Ubuntu 12.04 LTS 32 bit because it's the most recent LTS (long term support) release.

Overview

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 file(s) 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 copper board.
  6. Drill holes if needed for through-hole parts.
  7. Solder on components.

Designing and Laying Out a Schematic

You can use KiCad to design the schematic and do the board layout. Those steps won't be discussed in detail here since there are plenty of excellent tutorials elsewhere which cover them.

Creating Gerber Files

  1. Install KiCad: sudo apt-get install kicad. This tutorial was written using version 2011-05-25-stable which is what's in the Ubuntu 12.04 repository as of 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 screenshot.
  6. TODO Edit mask clearance? Opendous tutorial says to so this.
  7. Click File -> Plot.
  8. Choose an output directory like Documents/Micropendous/CNC Files/. If it asks if you want to use a relative path, say yes.
  9. Make sure the layers you want are checked and all other layers are unchecked. You probably want Front or Back or both.
  10. Leave the rest as defaults. TODO screenshot.
  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. I don't have any experience with it so I can't comment on how well it works.

  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.
  6. Click "Fix Topology".
  7. Select "voronoi" or "outline" (on the right). Voronoi will try to figure out efficient "cuts" for the cnc mill to make to separate the traces with the least cutting. Outline will make normal looking cuts which outline each trace.
  8. Click "Make Toolpaths" next to those options.
  9. When it's done processing, if you can't see the board, click "Fit".
  10. Click "Save G-Code".

For more info or if these instructions get out of date, the project has good documentation at https://github.com/Traumflug/Visolate.

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