Week 4
Make an in-circuit programmer.
Make an circuit from David's FabISP design, but I take "FabISP" off to save time. And then,use Fab Mouulesto translate file forom *.png to *.rml.

I do it by Rolad SRM-20. Set the starting point. Load the file to star process.

It's no easy to set starting point. Opps,break knife, beacuse decline Z axis too fast.

At the same, it's difficult to let platform level keep consistent. Make many fail board.

Almost success.

Burn Program:
The sculpted circuit board with solder IC element. In accordance with the height of each element are welded elements from low to high. Don't solder SJ1. When burn firmware, use Jump to short circuit.
焊接電路板:將前面雕刻好的電路板焊接IC與元件,依高度由低至高元件分別焊接好。留下SJ1未焊接,等燒錄時再以跳線(Jump)連接短路之。
Burn Program:Using the Arduino as IC Writer. Arduino UNO pre-loadup "ArduinoISP" by Arduino IDE.
燒錄程式:我使用Arduino 作為燒錄器。Arduino UNO預先以Arduino IDE燒錄好ISP。

Arduino Reset and Gnd pin connect a 10uf capacitor.
Arduino 5V, Gnd, Pin10 ~ 13 connect to FabISP ICSP.
在Arduino ISP上Reset與Gnd接上10uf電容,並將5V,Gnd,Pin10~13接到FabISP的ICSP上。

My computer systems is windows 8.1. First set environment variables for the command prompt (cmd) having the "avrdude" command. Or install "WinAVR". It is fully with C libraries, compilers and assemblers, debugging solution as well as simulation and emulation programs.
我系統為windows 8.1,先設定環境變數,使命令提示字元(cmd)具有 Arduino IDE中的"avrdude"命令功能。或是安裝WinAVR,其中包含了C語言資料庫、編譯器、裝配、除錯等功能。同時也含有模擬程序功能。

C:\Program Files (x86)\Arduino\hardware\tools\avr\bin;
C:\Program Files (x86)\Arduino\hardware\tools\avr\etc;
C:\Program Files (x86)\Arduino\hardware\tools\avr\avr\include\util
Open cmd, command to move to the firmware folder
打開cmd,以命令移動到firmware資料夾
CD your_firmware_file_path

Burn Fuses
avrdude-q -c your_ISP_IC -P your_ISP_port -b -19200 -p t44 -U hfuse:w:0xDF:m -U |fuse:w:0xFF:m

Burn main.hex
avrdude-q -c your_ISP_IC -P your_ISP_port -b -19200 -p t44 -U flash:w:main.hex:i

The computer does not recognize the device, need to install USBasp driver.
電腦無法辨識裝置,需要安裝USBasp driver。

After download and install driver. FabISP connect to computer using the micro USB.
下載安裝後,FabISP 使用micro USB連接上電腦,即可使用。

Try to be burning by Progisp.
嘗試以Progisp進行燒錄

Connect the device using USBISPy
連接好設備,我使用USBISPy
JS1 short circuit by Jump
JS1以Jump短路接上
Select chip(Click "RD" can check the IC's ID )
select chip(可以按RD鈕讀取IC的ID是否匹配)
Click "Erase"
Click "Load Flash"

Click "Auto"

Note: If SJ1 not short circuited. In reading, clean and burn process will be error.
Note:如果SJ1未短路,讀取、清理及燒錄時都會有錯誤

Production wire:Purchase connectors and cable. But local shops only sell 10 pin and 14 pin cable specifications, and therefore remove the excess wire.
製作線材:到材料行購買連接頭及排線,但當地商店只買到10 pin的規格,及14pin排線,因此需切除多餘線材。

Push cable into the connector.
將排線押入接頭

Measuring cable conduction status confirmation no short or open circuit.
量測排線導通狀況,確認沒有短路或斷路

OOPS!Wrong connector and cable direction. Image on the left cable is correct wire, I made the right one. I made both ends are all inverse. So it still could be use.
弄錯接頭與排線方向,下圖左側是正確線材;右側是我製作的線材。但我製作的兩端皆是反向,因此不影響使用,唯辨認上較不易。

Try different ways of doing USBISP and burn:
This FabISP make a USB Pin, as a result reducing a USB component on the circuit board. I use too thin FP1 . It can not successfully stuck USB slot.
嘗試做不同USBISP及燒錄方法:此FabISP直接於電路板上做出USB Pin,減少一個USB元件。嘗試做了之後發現我使用的FP1厚度不足,無法順利卡住USB插槽。

Use X Loader burn main.hex:
使用X Loader燒錄main.hex:
Connected devices, use arduino as ISP
JS1 short circuit by Jump
Load *.hex
Select device
Select port
Select baud rate

Troubleshooting:
Roland SRM20 knife can not be lowered to touch the floor. Thus in wood, plastic blocks to increase height allow cutting board.
Roland SRM-20刀子無法下降至碰觸底板,因此以木頭、塑膠塊墊高電路板進行切割。
Increasing the height of the board is not flat and fixed insufficient strength. The circuit board can easily be pulled along by a knife and carving tools fail damage easily.
墊高的電路板沒有平整且固定力道不足。電路板容易被刀子拖著走,而雕刻失敗,也容易造成刀具的損壞,得很注意固定雙面膠使用的是否夠多以及是否保持面的平整。
Not ready ICSP pin, that ordinary pin soldered at intervals can not be produced using the cable. Using Dupont Wire.
沒有準備好ICSP排針,普通排針焊上去有間隔而無法使用所製作的排線,得先以杜邦端子引接出。
Directional mistake on cable production, and therefore is not right way.
排線製作上搞錯方向性,不符正確壓接方式
Tools:
Fab Mouules
Roland SRM-20
Soldering toolkit
Reference:
PCB footprint references
Book:3D繪圖與電路板設計:DesignSpark系列軟體指南
Soldering
Burn hex code
Burn Hex code