Skip to content

5. Electronics production

This week I learned how to use the machine to create own PCB board and program to install ISP into the circuit.

Group assignment

One of the main purposes of our group work was to check actual offset value of driling. It was similar to week 4. Knowing actual offsset value is important because the value relevarent to the designed sizes of path on the PCB boards. Moreover, we should learn how to use the driling machine by the correct procedures.

First of all, we downloaded the subject PNG file to dril from the instructor’s web page.

The PNG file was set and inported to the computer connected to the driling machine. The computer has a special software, called “Fabmodule”, to set parameters for driling, so we used it.

The correct procedures tot use the driling machine in Fabalab Kannai are following ways.

  • Remove four screws attached at four corners and dispatch the base.
  • Press “View” to let movable part move to desired positions.
  • On the Fabmodule, set x0 and y0 position (zo shoule be 0) and press “move to xyz0”.
  • Set dril on the movable part.
  • By pressing “UP” and “Down” bottons, move the dril along z axis direction.
  • Loosen a screw attached to the dril and let the drill bit touch the base.
  • Screw again.

Sometimes the property server of Ubuntu in the laptop to use fabmodule is down. In that case, we should open terminal display and type “cd fabmodule” and “npm start”.

After completing setting hardwares, we set parameters to drill.
First of all, we set cut_depth by “0.4” and the product was shown below picture.
However, it looked like that there were still areas that could not be drilled perfectly. From this result, We assumed the base might tilt a little. Then, we put board at center of the base and tried again. The result was shown like this

It sounded great ! So, we used this product to measure differences between actual and designed path sizes. From the results of measuring, we defined the value of offset was 0.2 mm. Parameters to drill are shown below.

Individual assignment

From the result of group work, I worked for my individual assignment.

Creating PCB board

One of the main purposes of this week was to get used to create PCB board from the beginning. So, I did not design electrical circuit by usign some software. (Designing own electrical circuit will be in later week)
I chose exisiting electrical circuit design and downloaded from Fabacademy web page.

Following the above correct procudures, I created PCB board.


After drilling board, I should solder some electrical components by following existing electrical circuit design. Most components are very tiny,so my instructor adviced me that I should put tape on these componets before soldering.

The result of careful soldering was like below picture.

Moreover, to check whether soldering was perfect, I used an ohmmeter. If each component that should not be connected was soldered well, the ohm between these components would be ∞. Checking all components said my soldering did not have any problems.

AVR programming

To program AVR (FabISP, I followed this tutorial.
First of all, I desoldered jumpers connected by 0 ohm registers.

Installation necessary software

I used Bash on Ubuntu on Windows to program AVR, so I followed “Ubuntu Software Install”.

sudo apt-get install flex byacc bison gcc libusb-dev avrdude 
sudo apt-get install gcc-avr  
sudo apt-get install avr-libc  
sudo apt-get install libc6-dev  
cd  *Note: No need to move to Desktop  

Prepare to program FabISP

I used Arduono UNO as an ISp to program FabISP by following ardunio tutorial
After connecting the Arduino to my computer, I checked the serial port used for Arduino was “COM3”.

Then I wired the Arduino and my FabISP board each other by following “Step2” in ardunio tutorial.


Afetr finishing hardware setting, I modified Makefile by insering

AVRDUDE = avrdude -c stk500v1 -b19200 -P /dev/ttyS3 -p 

Note: When your serial port is COMX, you should write


Program the FabISP

To program FabISP, I typed

cd  cd fabISP_mac.0.8.2_firmware/  * Note: the name of folder is different, but we do not need to care about it.  
make clean  
make hex  

For now, I succeeded in by the above commands.

However, when I typed,

make fuse 

It failed. This error message said “Cannot find my FabISP board connected through USB”. So, I surveyed reference of “Serious connection by WSL” and found this page.
From this web page, I realized I had to change the authorization of “dev/ttyS3” by typing,

sudo chmod 666 /dev/ttyS3  

After that, I typed “sudo make fuse”. The result was

Then, I typed

make program 

I completed programming !!

Checking my FabISP worked correctly

To check my FabISP, I opened “Device manager”. The Device manager showed there was FabISP installed.