If it comes to the production of a printed circuit board or PCB - which holds connects all your electronic components - there are a bunch of different techniques to get to the final result. Some involve chemicals to etch the designed circuitry structure into a given substrate which could be FR2 (flame resistant 2, which is synthetic resin bonded paper), aluminum, FR4 (advanced fire protection), paper, fibre reinforced composites (FRC), textiles or else. To avoid the use of chemicals that create some hazzle in disposal, we will use copper-plated FR2-plate and a milling process (bottom middle) to create a decent clearance around the traces of the actual circuitry.
Eagle CAD is an industry standard for the design of circuitry's layout and will soon be integrated into the Fusion 360 Suite. The standard process would of course involve the layout in Eagle or another circuitry design tool before, but as this week is just about production, the design step was already premade.
A standard manufacturing process will involve a lot more steps. For this week, we will focus on the manufacturing of the PCB only (Milling step).
The prepared layout was exported from EAGLE CAD as a png-files
, so we could start with the manufacturing process right away. The design needs to be exported in a high resolution if you export it yourself, as well as in a monochrome output. Furthermore, all displayed labels should rather be turned off for production.
The whole process involves two steps, the milling of the wire clearance and the cutting of the board. Two different tools and therefore two different tool paths are needed. Please find the layouts attached at the bottom of this page for download. There are lots of possible designs around, I basically used the one below.
So here are the tasks for the week:
As regular CAM software cannot be used, we rely on an open source solution called FabModules from Neil Gershenfeld. It is a browser-based solution that is popular in the Fablab community. In the planning of the tool path, the number of passes for the wires - so the internal path - has to be set. For high quality board, 8 passes are common, we will use 4 which is good enough. The origin point has to be found manually, especially in z, the undercut for the internal part of the board has to be very precise. The deeper the cut goes, the wider it gets due to the V-shape of the tool head. To ensure that the surface is actually being touched when setting the origin point, a multimeter is used. If conductivity is proven, the tool is in contact and the job can be launched. After the first trace is milled, that job is stopped shortly in order to confirm the right level of depth of the cut.
Make sure that the tool is just touching the surface by checking the conductivity with a multimeter. The Fablab is equipped with a Roland MDX-40A CNC machine, which we will use for the milling of the PCB.
As we will also cut the PCB from the board, a sacrificial plate is needed below and a different tool is required (1 mm diameter mill). The PCB is attached to this plate with double-sided tape. We will start with the internal path. The settings for the circuits of the board can be found here:
The external path is cut afterwards. The speed however is much lower at only 0.5 mm/s at a cut depth of 2 mm and one pass only.
After the milling process, the board can be taken from the build plate using a screw driver. This needs to be done carefully, in order to leave the traces undamaged. In my case, everything went well on the first attempt.
Soldering is standard process of connecting electrical components to one another or to a conductive substrate. Depending on the components to be soldered, different tips can be mounted to the soldering iron. The thicker the tip, the lower the temperature has to be set in order to avoid thermal damage of the electrical components. With the thicker tip we set the temperature to 330 degrees, whereas we go for 280 degrees with the thinner one. Especially, the heart of our circuit - the microcontroller - is very sensitive to elevated temperatures and might easily break. However, if there is the need to replace components, copper wire can be used to absord the solder.
If the soldering was done correctly, it will look like depicted on the right hand side. It attaches well to the copper substrate and has a shiny glance.
For the FabISP the following components are needed:
If all the components are are soldered correctly the finished result should look similar to this:
For the programming part of FabISP key's Attiny44 chip, we will need an additional microcontroller that already has a bootloader in installed. To my understanding, the bootloader is a basic operating system of a microcontroller that enables the deployment and execution of more sophisticated programs.
First thing you need to do before programming, is to connect the J1 jumper of the FabISP. If you want to use the FabISP as a programmer later, this jumper has to be disconnected.
Install the Arduino IDE and use the Arduino Uno as an ISP by uploading the ISP example file (see image below).
Connect the FabISP key board to the Arduino as depicted here.
As it seemed rather difficult to follow this particular process on a Windows machine, I used a MAC to install the firmware, following these commands.
The port has to be set according to the USB port in use. Use make clean
and make hex
. Then, open the makefile and edit the AVRDUDE command, using AVRDUDE = avrdude -c stk500v1 -P /dev/tty.usbmodem1411 -19200 -p $(DEVICE)
.
In the first place, the FabISP was connected to a USB port with a USB extension cable. But the connection was not fitting well, therefore the first attempt to program it failed. I connected the FabISP directly to a USB port after having done a smoke test with my iPhone's USB charger. With the direct connection the firmware could be flashed onto the FabISP successfully.
Another option for flashing the firmware is to burn a bootloader onto the FabISP's Attiny using another microcontroller. With the bootloader on it, the microcontroller can than be programmed via serial communication without the ISP programmer. As this seems to be the simpler process, especially when using a Windows machine I will to so in future tasks.
But for the time being...this one works!
I soldered the microcontroller in the wrong place initially. I had to remove and replace it. Furthermore, I soldered a resistor incorrectly, which I did not take off gently enough so a wire came with it. I replaced this then with a by-pass.