Home Table of Contents Previous week Next week


This page presents the assignments for week 4 of Fab Academy 2020: “Electronics production”.


To do list:



Group Individual

Week 4 "hero shot":


Figure 0: Produced programmer, programming Jonah's drone to turn one LED on

Table of Contents

Group assignment

I worked with Serena, Benoit and Jonah (Fab Manager) to characterize the design rules for the PCB production process with the laser cutter of the Lab.

1.1 Overview

We first used the fiber laser to engrave the copper, keeping only the circuit we want to produce.
We then used the C O 2 laser to cut the fiberglass to a desired shape

1.2 Step by step PCB design process

Step 1

Import the .png file describing the PCB in corelDRAW as shown in figure 1.




Figure 1: corelDRAW interface

Step 2

Use shortcut CTRL+P
to open the print menu as shown in figure 2.




Figure 2: corelDRAW print menu

Step 3

Select the appropriate parameters, reading the data sheet of the laser cutter, to raster with the fiber laser, as shown in figure 3.




Figure 3: Epilog properties menu

Step 4

Engrave the copper, which will remove all the black in the .png file.
At this step the PCB should look like as in figure 4.




Figure 4: PCB after fiber laser engraving and before cleaning step

Step 5

Add the outline to cut in corel draw.
Be careful to put it inside the zone where copper have been removed, as C O 2 laser isn't powerful enough to go through the copper.

Step 6

Use shortcut CTRL+P
to open the print menu

Step 7

Select the appropriate parameters, reading the data sheet of the laser cutter, to vector cut with C O 2 laser.
Depending on the thickness of the fiberglass it may take several paths to cut trough.
On Digiscope it takes 18 paths to cut the fiberglass we where using.

Step 8

If everything worked fine remove the plate from the laser cutter as shown in figure 5




Figure 5: PCB cut with C O 2 laser

Step 9

If you have been to impatient and didn't make enough pass of the laser, use a utility knife to painfully cut the fiberglass as shown in figure 6.




Figure 6: You strongly don't want to have to do that...

Check PCB design

Use a microscope to check for hair as shown in figure 7.




Figure 7: Microscope check to detect hairs of copper.
Remove hair of copper using a utility knife.


Check that there are no more hair with a beeping oscilloscope.

Individual assignment

I have follow the tutorial of Brian on how to make a FabTinyISP.
This section have the same steps.

Introduction

As stated in Brian's tutorial: “The FabTinyStar is yet another version of an AVR ISP programmer/board that can be produced in a fab lab using a milled PCB and readily available components. The project is based on the efforts of many people. For more history of the FabTinyStar and the people who have contributed to it, please refer to Zaerc's FabTinyStar page”.

PCB Fabrication

Download the trace and the outline and use the step described in the group assignment section to obtain this PCB.
Figure 8 shows the PCB after the laser cutting steps




Figure 8: PCB and ATtiny45.

Assembling the PCB

Step 1

Wrote down all the name of the parts on a paper in one column and put a double sided tape right to it.

Step 2

Pick up each piece on the inventory of your Lab.

Step 3

Glue the piece near it corresponding name as shown in figure 9.



Figure 9: List of the part to solder to the PCB (Jonah's tips)

Step 4

Use the .png file 10 and the diagram 11 to understand where each part should go.




Figure 10: PCB .png file




Figure 11: PCB diagram

Step 5

Be careful to solder component with a polarity in the right orientation.
Solder each component starting from the center and lower.
Use the microscope when soldering.

Step 6

After each solder attempt check for conductivity with the voltmeter in beep mode.
Figure 12 shows my PCB with all the soldered parts.




Figure 12: PCB with all the soldered parts

2.4 Improve USB connector

Add a lot of solder to adjust the height of the USB male connector.

2.5 First checks for the PCB

Test the PCB by connecting on a computer using a USB extension cable.
As shown in figure 13, the red led is on when the PCB is connected to a computer.




Figure 13: Programmer LED on, when connected to a computer
If not check the connectivity and add some solder to the male USB connector of the PCB board.

2.6 Software installation

Step 1

Run the command:
sudo apt install avrdude gcc-avr avr-libc make

2.7 Get and build the Firmware

Step 1

Download the firmware source code and extract the zip file

Step 2

Open your terminal program and into the source code directory.
cd

Step 3

Type the command
make

Step 4

Check for a file called “fts_firmware.hex” using the command
ls
Figure 14 shows the terminal output after running the command:
make




Figure 14: Terminal screenshot run make

2.8 Program the ATtiny45

Step 1

Update the Makefile using for example the command
nano Makefile
in the Makefile change the line
PROGRAMMER ?= usbtiny
to the programmer name you are using as shown on figure 15.




Figure 15: Edit Makefile

Step 2

Connect the programmer to the ISP header on your board. Figure 16 shows a “atmelice_isp” programmer connected to the board.




Figure 16: Connect Atmel programmer and "to be" programmer
Check the correct orientation, as it is important to get pin 1 in the right place.

Step 3

Type in the terminal the command:
make flash
Terminal output should like the one in figure 17




Figure 17: Terminal screenshot make flash

Step 4

Type in the terminal the command:
make fuses
Terminal output should like the one in figure 18




Figure 18: Terminal screenshot make fuses

2.9 Test the USB functionality

Step 1

Unplug the programmer and the FabTinyISP from the computer USB ports.

Step 2

Remove the connection between the programmer and the FabTinyISP.

Step 3

Plug only the FabTinyISP to the computer USB port.

Step 4

Type the command in a terminal
lsusb
If you see a "Multiple Vendors USBtiny" device on the list as in figure19, then it worked!




Figure 19: List of the USB devices

2.10 Blow the reset fuse

Step 1

Turn the ATtiny45's reset pin into a GPIO pin, using the command
make rstdisbl

Step 2

Remove the bridge on the solder jumper.

2.11 Test your programmer

I have use a code written by Jonah to program his drone led to turn on.
We have to do several try due to connectivity problem with the USB male connector of the board.
But programming was successful as shown in figure 20.




Figure 20: Program Jonah's drone to turn LED on