The assignments for week4 were as below;
PCB fabrication
In week4, we tackled printed circuit board (PCB) fabrication, which is one of basic methods of electronics production.
Printed Circuit Board
What is Fab ISP?
The Fab ISP is an in-system programmer for AVR microcontrollers, designed for production within a FabLab. It allows us to program the microcontrollers on other boards we make.
Microcontroller
Siting from IoT Agenda - microcontroller,
A microcontroller is a compact microcomputer designed to govern the operation of embedded systems in motor vehicles, robots, office machines, complex medical devices, mobile radio transceivers, vending machines, home appliances, and various other devices.
Siting from IoT Agenda - microcomputer,
A microcomputer is a complete computer on a smaller scale and is generally a synonym for the more common term, personal computer or PC , a computer designed for an individual. A microcomputer contains;
and housed in a unit that is usually called a motherboard .
- microprocessor (a central processing unit on a microchip )
- memory in the form of read-only memory and random access memory
- I/O ports
- bus or system of interconnecting wires
AVR Microcontroller is a kind of microcontroller, which was developed and manufactured by Atmel. Most computers have a 32/64-bit CPU running at 1GHz, with 1GB of RAM and 100 GB of storage. This microcontroller runs at 10MHz, have 1KB of RAM and 10KB of storage. However, their small size, lower power consumption and low cost make them a wide range of choices for many projects.
CNC Milling
We used computer numerical controlled(CNC) milling machine: Roland Modela MDX-20 to mill the cupper board this week.
CNC Milling Machine
This week, we tried to make FabTiny ISP, which is a kind of Fab ISP and includes a few extra features such as a target power led and switch, a reset button and a led on the SCK line to indicate communication in progress. I discribe the fabricating process as below;
FabTiny ISP
1. Milling the Board
Making the surfase of board clean
Fab Module
Parameter | Trace | Outline |
---|---|---|
diameter |
0.4 | 0.79 |
offset |
-1 | 1 |
error |
1.1 | 1.1 |
overlap |
0.5 | 0.5 |
z(mm) |
-0.1 | - |
top z |
- | -0.6 |
bottom z |
- | -1.7 |
cut depth |
- | 0.6 |
Importing milling image
Changing a milling bit
Milling Scene
Milled copper board
Frequent Mistake!
If you set the parameter of Fab Module incorrectly, or set the position of the bin wrongly, the milling will not be executed completely; some copper will remain on the surfase without milling or board will not be cut as below. Actually, I had mistakes three times because the setting of the bin was too low to move smoothly.
Copper cut not enough
2. Solder the components on the board
Now, we could prepare the circuit board for FabTiny ISP, and next have to soleder and fix the parts to the board. Image as below is the blue print of it, and solder them as following instructions.
Bill of FabTiny ISP
Part | Value | Package | |
---|---|---|---|
inventory | ideal | ||
R1 | 1 Kilo-Ohm | 2.2 Kilo-Ohm | SMD-1206 |
R2 | 1 Kilo-Ohm | SMD-1206 | |
D1 | 3.3-Volt Zener | 3.6-Volt Zener | SMD-SOD123 |
D2 | 3.3-Volt Zener | 3.6-Volt Zener | SMD-SOD123 |
C1 | 10 micro-Farad | SMD-1206 | |
R3 | 49 Ohm | 68 Ohm | SMD-1206 |
R4 | 49 Ohm | 68 Ohm | SMD-1206 |
R7* | 0 Ohm | PTC 0.5 Ampere | SMD-1206 |
C2 | 100 nano-Farad | SMD-1206 | |
IC1 | ATTiny45 | ATTiny85 | SMD-SOIC8 |
JP1 | 2x6 ISP | 2x8 header | SMD pinheader |
S2 | B3SN-3112 | SMD tactile switch | |
S1 | AYZ0102AGRLC | SMD slide switch | |
R5 | 1 Kilo-Ohm | SMD-1206 | |
LED1 | red LED | SMD-1206 | |
R6 | 499 Ohm | 470 Ohm | SMD-1206 |
LED2 | green LED | SMD-1206 |
Designator | Component Type | Note |
---|---|---|
R |
Register | Acting to current flow, and, at the same time, to lower voltage levels within circuits |
D |
Diode | Having low (ideally zero) resistance to the flow of current in one direction, and high (ideally infinite) resistance in the other. |
C |
Capacitor/Condenser | Used to store electrical energy temporarily in an electric field |
IC |
Integrated circuit | a set of electronic circuits on one furtehr smaller plate |
JP |
Jumper | a short length of conductor used to close a break in or open, or bypass part |
S |
Switch | just swich |
LED |
Light-emitting diode | a p-n junction diode, which emits light when activated |
Preparation of parts
|
|
Soldeling scene
multimeter
, which is an instrument designed to measure electric current, voltage, and usually resistance, typically over several ranges of value.Multimeter
Production of FabTiny ISP
3. Set the board up for programming
To be able to program the microcontroller we need to set a starting program on the chip. That allows us to communicate with it.
That can be done with a AVR programmer, for instance, Arduino UNO, which can be bought off the shelf but it can also be done with another FabTiny ISP which has been programmed already.
I followed the programming instruction given on the tutorial page: Programming the firmware.
.zshenv
and add PATH to the file.In the new Terminal window, type in echo$SHELL
and press return.
If the output is/bin/bash
then type the following command:
echo 'PATH=$PATH:/usr/local/bin' >> ~/.bash_profile
all on one line. Press return.
If the output is/bin/csh
or/bin/tcsh
then type the following command:
echo 'set path = ($path /usr/local/bin)' >> ~/.cshrc
all on one line. Press return.
Close any Terminal windows and open up a new one. This makes sure the.bash_profile
or.cshrc
is reloaded. Now type inecho $PATH
(for bash) orecho $path
(for t/csh) you should get something.
The important thing is that at the end of the line is/usr/local/bin
Programming by FabTiny ISP
1. Basic Information
2. Practice
   - milling the board
   - soldeling components
   - programming
Lecture Note
Tools
Learning Support
(Tutorial of this class)Here you can find this weeks's lectures on VIMEO:
(2016.02.17)
(2016.02.24)