Electronics Production

For this week of fabacademy we were assigned to Make an in-circuit programmer by milling the PCB and then program it, so that we can use it to program our board in Electronics Design week, and in other weeks.

My first PCB in fabacademy:

I was waiting for this week for a long time because as a Civil Engineer the weeks that envolve electronics I think are the weeks that am going to benefit more from them.

The first thing was to download the PNG files for the traces and the board outline of Brian board:

PNG of the traces.

PNG of the outline.

Then I uploaded the images to fabmodules to generate the rml file to start milling.

Then it was the time for milling the PCB, the first thing was to prepare the FR1 sheet for milling, so I had to adjust the height by adding a few 12mm acrylic sheets underneath it and then sticking the FR1 sheet.

Then I milled the traces and the outline of the board using our SRM-20 CNC machine and took it, and it was time for stuffing the board with the components :

Before I start I went and collected all the required components and listed them in my note book so that I dont get confused when I start soldering :

And Now it was time for soldering, so I started soldering the components and it was a bit difficult because they were a bit small :

After finishing I thought that the board is a bit crappy but am proud of what I did, Then I checked the board under the micriscop for any problems and used the multimeter to check for shorts, but everything was ok.

Now it was time for programming it!!

Programming the FAB ISP:

For programming the ISP I followed Brians tutorial, and everything worked well.The first step was to install all of the required toolchains. The next step was to download the firmware source code and extract it, then Run make to build the hex file that will be programmed into the ATTiny45. Then we should update the Makefile for the type of programmer we are going to use to program our board, but no need as am using ATTiny. Then for checking that everything is working so far I have to plug my board into the USB port and the red LED should light up, and it did.

Then I had to look for a programmer to program my board so I took my friends Hashim programmer, and continued with the steps. The next step was to connect my board to Hashims board and plug Hashims board to the USB port while paying attention to the orientation of the cables. Then Run make flash, to erase the target chip, and program its flash memory with the content of the .hex file we built.Then Run the make fuses , to set up all of the fuses except for the one that disables the reset pin.

Now we are almost done and we need to check whether everything is working or not, so we need to Type lsusb in the terminal, which will list USB devices, and If we see a Multiple Vendors USBtiny device, then it worked, and I typed lsusb and it appeared!!

Now for the final step which is to change the bit that will turn the ATtiny45's reset pin into a GPIO pin. This will disable the ability to reprogram this ATtiny45 in the future, so after connecting the ISP programmer to my board one more time, and run make rstdisbl .

Previous Week |-----------| Next Week

Home Page