assignment 4. 17 february 2016

Electronic production

 

make an in-circuit programmer

I decided to make the FabTiny*ISP, based on the FabTiny board. First I downloaded all the neccesary documentation from Zaerc’s FabTiny*ISP and followed the tips you can find at the bottom of that pages.


Milling


I used a Modela MDX 40A milling machine to reproduce the board. I have had many problems during this phase. It was the first time for me using this kind of machine. First a fitting problem, the wooden sacrifice layer that covers the bed of the machine was moved during the cutting phase. Although I was milling trial pieces it cost me a bit. When I acquired control enough, almost I supposed it, I started to mill the final pieces. But due to an error introducing parameters on the software interface, another bit was broken because I was working by selecting objects one by one not milling all the paths and I forgot to pick the appropriate selector. At last I managed to end the board successfully, I spent many time at this work. Perhaps due to a lack of experience using this kind of slender machine. Finally I have to say that it would be a good idea introducing an auto-level system into this machine in order to avoid damages at the tip of the bits and probably the process would turn a bit faster besides.

 

Stuffing


No problem at this work. I worried about it seeing all those small stuff I had to sold over that kind of small board. Although it was my first time soldering pieces, it was simple enough.


Programming


Plenty of problems at this steep:


1. Starting with Arduino on Windows, I tried to program the FabTiny*ISP using a Arduino Duemilanove as AVR. I achieved to program the fuses, initially WITHOUT disabling the reset pin. But I could not go any farther, I do not know exactly why...


2. Continuing with Arduino on Mac. Absolutely awful, I could no open the USB ports using Arduino. Probably due to the fact that MAC OS X Capitan prevent strange access through USB ports. I remained totally bogged down in.


3. Since I saw that many tutorials use Ubuntu I decided to try on it. I installed VirtualBox on Windows and even I tested it on Parallels on Mac, but the problem continues. I could not open the USB ports in Arduino!

Finally I decided to retry all the proccess from zero and reconsired all the steeps. I started again the programming process. I forgot all the other operative systems and only used Windows that was the only system related with Arduino in a correct way:

Load the Arduino Sketch. Converting Arduino into ISP. Connecting the Board with the PC through Arduino using:

Signal/FabTiny/Arduino

MISO/1/12

VCC/2/5V

SCK/3/13

MOSI/4/11

RESET/5/10

GND/6/GND

IMPORTANT: You need a working build environment that includes "make", "avr-gcc" and "avrdude", I have had no problem at this point but you should read the notes about WinAVR here,

Typing: avrdude -c stk500v1 -P/dev/ttyACM0 -b19200 -p t45 -V -U lfuse:w:0xe1:m -U hfuse:w:0xdd:m -U efuse:w:0xff:m

you can test the FUSES


Modify the make archive. Aware! there are two code lines you have to modify 119 and 124. Here you define the port Arduino is connected on your own system, here COM4.

Flash the board:

make install avrdude -c stk500v1 -P/COM4 -b19200 \ -p t45 -e \ -V -U flash:w:vusbtiny.hex


Check the correct work on Windows. You have to install appropriate drivers.


Be sure the board is correctly read as USBTiny. After that proceed to close the board by typing:

avrdude -c stk500v1 -P/COM4 -b19200 -p t45 -V -U lfuse:w:0xe1:m -U hfuse:w:0x5d:m -U efuse:w:0xff:m

So, you get it!