FlatCAM pratica tutorial: introduction, installation and import – Part 1

Spread the love
  •  
  •  
  •  
  • 2
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
    2
    Shares

First I’d like to add the description of FlatCAM on main site:

FlatCAM is a program for preparing CNC jobs for making PCBs on a CNC router. Among other things, it can take a Gerber file generated by your favorite PCB CAD program, and create G-Code for Isolation routing. (cit.)

I remember tha tutorial to create a simple and cheap CNC, from mechanical part (3D printed) to electronic (Arduino CNC shield).

My CNC

Here some work

My Arduino shield for LoRa e32 device (3Km to 8Km range)

Milled Arduino Shield LoRa EBYTE E32 copper clad
Milled Arduino Shield LoRa EBYTE E32 copper clad
Milled Arduino Shield LoRa EBYTE E32 Check with Logic Analyzer
Milled Arduino Shield LoRa EBYTE E32 Check with Logic Analyzer

LoRa e32 WeMos D1 shield

Milled WeMos D1 Shield LoRa EBYTE E32
Milled WeMos D1 Shield LoRa EBYTE E32
Milled WeMos D1 Shield LoRa EBYTE E32 mounted
Milled WeMos D1 Shield LoRa EBYTE E32 mounted

My board to control my Inverter ABB Aurora.

ABB Aurora PCB multiple step

So now you have an Idea of what is this software, I have been using FlatCAM 8 for years, but I didn’t know that the project had been heavily resumed and updated.
So we are going to explain not base version 8 but the new 8 beta, that Marius Stanciu now develop.

Installation of new FlatCAM 8.991 version

Now to install new beta version you must go on this link

https://bitbucket.org/jpcgt/flatcam/downloads/

Than for windows there is an installer on download page.

For the other platform you must use the installation via source code, you can follow the specified guide, the linux target distro is Ubuntu, and a setup file for the dependencies is provided

#!/bin/sh -e
# "-e" exists on first error.

sudo apt-get install libpng-dev \
                libfreetype6 \
				libfreetype6-dev \
				python3-dev \
				python3-simplejson \
				python3-pyqt4 \
				python3-numpy \
				python3-scipy \
				python3-matplotlib \
				libgeos-dev \
				python-shapely \
				python-pip \
				libspatialindex-dev \
				python3-tk \
				python3-shapely \
				python3-rtree \
				python3-svg.path

The Python dependencies required are this

  • Python 2.7 32-bit
  • PyQt 4
  • Matplotlib 1.3.1
  • Numpy 1.8
  • Shapely 1.3
    • GEOS (Binary package required by Shapely)
  • RTree
    • SpatialIndex (Binary package required by RTree)

For MAC OS after install Python the procedure with brew is recommended

brew install pyqt
brew install geos
brew install spatialindex

pip install numpy
pip install matplotlib
pip install rtree
pip install scipy
pip install shapely
pip install simplejson

Than start FlatCAM with python executable

python FlatCAM.py

New platform design

Here the old design of FlatCAM 8.5

FlatCAM main screen

now FlatCAM 8.991 beta

FlatCAM Beta main screen
FlatCAM Beta main screen

You can see that now the files in the project area is hierarchical organized, the toolbar is removed, and now you can find It inside the menu.

Very important things are the possibility to do a dynamic border cutting (follow a profile) , the formalization of standard Project file and other.

There are new Tools like insert of QR Code a Tools Database and other, now we are going to create a simple PCB from a Gerber file.

Start a simple project

First you need a gerber, I use the simple project created some month ago on this Tutorial “Milling PCB tutorial“. I add only some upgrade to the PCB, but nothing special.

PCB Fritzing schema of pcf8574 prototipyng board
PCB Fritzing schema of pcf8574 prototipyng board

You can find the gerber on my GitHub here.

Now you must import the layer you need, for our work naturally is the bottom.

So you are going to File --> Open --> Open Gerber... and select

  • PCB_PCF8574_03_contour.gm1 (contour of your PCB)
  • PCB_PCF8574_03_copperBottom.gbl (copper traces)
  • PCB_PCF8574_03_silkBottom.gbo (some description that we are going to mill on PCB)

than you must import the drilling information, this type of information are stored in an Excellon file

File --> Open --> Open Excellon...

  • PCB_PCF8574_03_drill.txt (drilling information)

The result is in this screen

FlatCAM Beta first import of Gerber and Excellon
FlatCAM Beta first import of Gerber and Excellon

Put it in the right direction

Now, this is the file that descript the most important part of our PCB, but this parts is the draw of upper view, than we must reverse the visualization.

You must go on Tool --> 2-Sided PCB.

Than we can use a Axis Ref the Box, and we can select a PCB_PCF8574_03_contour.gm1 as Box Reference.

FlatCAM Beta mirror elements
FlatCAM Beta mirror elements

X or Y Mirror Axis isn’t important, but in this case I’d like to mirror on Y.

FlatCAM Beta mirrored elements
FlatCAM Beta mirrored elements

Now we are going to add a simple image like a Gerber element, for this purpose I take a Ground symbol to add near the G.
The Image It’s better if It’s a Black/White image (pay attention It must be a well defined image with no artefact), you can find the image I used in the same GitHub article.

So go to File --> Import --> Image as Object and then in the Image to PCB panel, select the image and open It, the symbol Gerber GND symbol is imported in a random position, you must move It.

Select the Gerber by clicking on It FlatCAM gerber GND symbol selected, than go to Edit Move FlatCAM move menu item now you have an empty selection and when you click on a specified space the image is copyed there.

The result now is

FlatCAM Beta inserire un'immagine JPG
FlatCAM Beta inserire un’immagine JPG

Video recap

Thanks

  1. FlatCAM pratical tutorial: introduction, installation and import
  2. FlatCAM pratical tutorial: copper traces geometry
  3. FlatCAM pratical tutorial: clean non copper area
  4. FlatCAM pratical tutorial: silkscreen geometry
  5. FlatCAM pratical tutorial: countour
  6. FlatCAM pratical tutorial: gcode and milling a PCB

You can find Gerber, fritzing, images and FlatCAM project files here.


Spread the love
  •  
  •  
  •  
  • 2
  •  
  •  
  •  
  •  
  •  
  •  
  •  
  •  
    2
    Shares

You may also like...

Leave a Reply

Your email address will not be published. Required fields are marked *