KEMBAR78
BCNC Tutorial | PDF | Printed Circuit Board | Software
0% found this document useful (0 votes)
2K views18 pages

BCNC Tutorial

The bCNC tutorial by Renzo Mischianti provides a comprehensive guide on using bCNC software for CNC PCB prototyping, covering installation on various platforms, probing techniques, and auto-leveling features. It emphasizes the importance of saving probe data and restoring calibration for efficient milling processes. The tutorial also includes practical tips for cleaning PCBs and applying solder masks after milling.

Uploaded by

Phill Cobra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2K views18 pages

BCNC Tutorial

The bCNC tutorial by Renzo Mischianti provides a comprehensive guide on using bCNC software for CNC PCB prototyping, covering installation on various platforms, probing techniques, and auto-leveling features. It emphasizes the importance of saving probe data and restoring calibration for efficient milling processes. The tutorial also includes practical tips for cleaning PCBs and applying solder masks after milling.

Uploaded by

Phill Cobra
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 18

bCNC tutorial

Installation, probe, PCB instruments – 1


by Renzo Mischianti

I have been prototyping PCBs with the CNC for years. I have created a CNC machine suitable for
this, and today I would not know how to do it without it.

I’m going to show a short guide on bCNC, here is the description of the software from the main
site:
GRBL CNC command sender, autoleveler, g-code editor, digitizer, CAM and swiss
army knife for all your CNC needs.

An advanced fully featured g-code sender for GRBL. bCNC is a cross platform program
(Windows, Linux, Mac) written in python. The sender is robust and fast able to work
nicely with old or slow hardware like Raspberry Pi (As it was validated by the GRBL
maintainer on heavy testing).

From main bCNC site

1 Of 18
bCNC tutorial

I use this software to manage my little homemade CNC

You can find all steps to build It here CNC Cyclone PCB Factory how to make It.

2 Of 18
bCNC tutorial
I’m doing a lot of prototypes with it, and It works well.

• Installation
• Windows
• EXE installer
• Using PIP
• Mac OSX
• Linux / BSD
• Start working
• Home
• Material
• Probe
• Thanks

Installation
As you can read from the description, It’s cross-platform software, so there are many installation
types. You can find this information on the main site also.

Windows
EXE installer
Naturally, we start with the simplest, and you can find in the release repository the installer per
windows
https://github.com/vlachoudis/bCNC/releases
Naturally not significantly updated but work without any problem and with many features.

3 Of 18
bCNC tutorial
Using PIP
1.) Install python 2.7: https://www.python.org/downloads/
Do not forget to install Tcl/Tk and PIP modules while doing so. Also, check that python will be
added to the path:

2.) Open a command line and install bCNC using pip:

This installs bCNC to C:\Pyhton27\Lib\site-packages\bCNC\ and launches it


using python -m bCNC

Mac OSX
You can get good instructions to install Python from the link on Medium

Here is the recap :

4 Of 18
bCNC tutorial
1. Install pyenv and tcl-tk
brew install pyenv
1 brew install tcl-
2 tk

2. Add environment variables into ~/.zshrc or other shell rc and restart the shell/terminal
# python pyenv
export PATH="$HOME/.pyenv/bin:$PATH"
1
if which pyenv > /dev/null; then
2
eval "$(pyenv init -)";
3
fi
4
# pyenv-virtualenv
5
if which pyenv-virtualenv-init > /dev/null; then
6
eval "$(pyenv virtualenv-init -)";
7 fi
8 # tcl-tk
9 export PATH="/usr/local/opt/tcl-tk/bin:$PATH"
10 export LDFLAGS="-L/usr/local/opt/tcl-tk/lib"
11 export CPPFLAGS="-I/usr/local/opt/tcl-tk/include"
12 export PKG_CONFIG_PATH="/usr/local/opt/tcl-tk/lib/pkgconfig"
13 export
14 PYTHON_CONFIGURE_OPTS="--with-tcltk-includes='-I/usr/local/opt/tc
15 l-tk/include' --with-tcltk-libs='-L/usr/local/opt/tcl-tk/lib -
ltcl8.6 -ltk8.6'"

3. install pyenv virtual env


brew install pyenv-
1 virtualenv
2
3
pyenv install 3.8.0
4
5
exec $SHELL

4. Test tcl tk setup


mkdir ~/foo; cd ~/foo
1
pyenv local 3.8.0
2
pyenv version
3
python -m tkinter -c
4
'tkinter._test()'

5. Install and launch bCNC


1 pip install --upgrade bCNC

5 Of 18
bCNC tutorial
#pip install --upgrade git+https://github.com/vlachoudis/bCNC #if
2 you want git version
3 python -m bCNC

Linux / BSD
1. Update your system (Optional) and install git, python (with tkinter support) and pip:
#This is specific for Debian/Ubuntu, other distros have other
1 package managers than apt-get
2 sudo apt-get update
3
sudo apt-get upgrade
4
sudo apt-get install git python python-tk python-pip

2. Install bCNC using pip and launch it:


sudo pip2 install --upgrade bCNC
1
#sudo pip2 install --upgrade
2
git+https://github.com/vlachoudis/bCNC #if you want git version
3
python2 -m bCNC

Start working
Now go to File Tab. The first operation is to connect your device to bCNC, and if you use my
electronic with Arduino, you must connect the device and set the correct port, the baud rate to
115200, and the GRBL1 controller.

then click to open.

6 Of 18
bCNC tutorial

Home
My first CNC couldn’t do Home, and it was frustrating. I removed the limit switches because I
didn’t know how to remove the noise (see this article for more details “CNC Cyclone PCB Factory:
mechanical limit switches“), and I used tricks to avoid various tip changes, as you can see in the
“Milling PCB tutorial“.

But all CNC must-do home, you can find the home command in this toolbar.

7 Of 18
bCNC tutorial
Material
To follow the guide, you need to have these boards

Here the FR4 single side copper clad Aliexpress


For all works, I use the same bits

Here the pyramid bits AliExpress

Here the bits for drilling AliExpress

Probe
Now you must go to the bottom left angle of your board.

8 Of 18
bCNC tutorial

Put your bit with the alligator clip for probe about 1mm over the copper.

Then click the button to set all coordinates to 0 XYZ=0.


Now you must set the X and Y coordinate of your probe panel to 0 and Z to -2, and this means that
X and Y remain fixed and Z try to find a contact from the actual position to 2mm depth.

9 Of 18
bCNC tutorial

bCNC Tutorial: autolevel – 2


One of the most important features of a CNC is the auto level. Even if your CNC is precise, it will
never be accurate to one-hundredth of a millimeter, but to carry out the removal of copper, you will
have to have a high precision level.

Auto level resolves the precision problem by creating a matrix of irregularity of your base. We are
lucky also because copper is an excellent electrical conductor, so if you put a pole on the bit and
one on the copper-clad, we can check all the surface.
Now we must go to Probe Tab, select Auto level sub-tab, and have all the parameters to check to
start work.
Remember to do the probe first of all.

First, you must check the speed of auto-level, these features can change for every CNC, but for my
CNC that have 400 steps on Z, I use these values:

10 Of 18
bCNC tutorial

Fast Probe Feed is the probe’s initial speed, then when It’s pretty near the impact, enter in Probe
Feed speed. In this case, we don’t have an additional probe tool, so the bit’s impact with copper is
the 0 of the auto-level, so TLO (Tool offset) remains 0.
TLO is used when to probe you must use a particular device like a laminate, but you have a better
idea in the image
If pole A is the bit and pole B is a conductive material, and you must probe the 0 to Wood’s surface,
the TLO becomes 3mm (laminate height), and the software adds 3mm to the 0 contacts.
It is also useful to choose the area to probe for automatic leveling, my advice is to use the contour
element (which is the largest area of your PCB) to define the edges of the leveling.
So we load a file of contour. File --> Open:

bCNC Countour With Autolevel Matrix

Now on the mini panel with all auto-level command

we select “Margins“, this button automatically generates margins for a complete auto-leveling

11 Of 18
bCNC tutorial
matrix:

it set Min and Max (yellow arrows), Min is the minimum value to scan. To coordinate X and Y, you
must set Z. I use the probe value -2.0mm, but a lesser value can be used. It’s the minimum value
that It can reach from Z, typically 0.5mm it’s sufficient.
Max is the maximum value to scan, for coordinate X and Y, for Z, you must set a safe value to scan;
0.6 mm it’s sufficient.
Now you must select the size of the matrix; when you put the N value (red flag), you say to the
machine the number of samples for X and Y, and when you put a more extensive value, the size of
the matrix step is reduced to add more squares.

Then we click on the gear scan button to start.

The result It’s a matrix with all the offset from the initial probe point

12 Of 18
bCNC tutorial

The red square means that It’s negative value respect to the 0 probe, white It’s the same value, and
blue Its the upper value.

bCNC Autolevel Matrix Upper

13 Of 18
bCNC tutorial
Save autolevel data
An important thing to do is save your autolevel data, which is essential above all, especially if you
don’t do all operations simultaneously.
So when you finish auto-level, go to File --> Save and save a file with .probe extension. In
the next chapter, we will see the steps to restart work when you power off the machine.

bCNC Tutorial: restore work and milling


process – 3
In this chapter, we are going to mill our project.

Restore calibration parameters


I want to remind you that a critical thing to do is save your probe data; it is important, especially if
you don’t do all operations in the same work session.

14 Of 18
bCNC tutorial
So when you finish the auto level, go to File --> Save and save a file with .probe
extension. Now we will see the steps to restart a job from the machine off.
When you need to continue work, you must do these steps

1. Connect CNC

2. Home your CNC

3. In Command: insert x0 and y0

4. load .probe file

15 Of 18
bCNC tutorial

5. do normal probe and set the 0

With these steps, your machine is calibrated and can restart regular operation; you can see the
process in the first part of this video.

Milling process
The generation of the Gcode of the milling process refers to the “FlatCAM practical tutorial.”
You have already seen the first two traces of isolation passes. Now we add another pass to have
more margin some time; I add another hundredth of a millimeter to this track to have a better effect
and remove more material.

We will remove the copper islands where a floating potential can remain that can consistently create
disturbances, so if you make a high-frequency PCB, It’s better to remove them.
I create a lot of PCBs, and sometimes I do more than one copy, but when some time is passed, I
don’t remember what It is ;), so often I add a silkscreen.

16 Of 18
bCNC tutorial
We will drill the holes for the components; usually, I use two types of bit 0.8mm and 1mm or
0.8mm and 0.9mm.
In the end, I’m going to do a contour to get a PCB perfectly sized.

Clean PCB
At the end of the milling process, the PCB seems not so beautiful

, but after good use of sandpaper, you can see your work in a better way

17 Of 18
bCNC tutorial

It’s a good practice to apply a solder mask to prevent short or other problems generated by humidity
or others, and you can refer to my guide here “Design and mill PCB: Easy and Cheap (Solder
mask)“.

18 Of 18

You might also like