make an in-circuit programmer by milling the FabISP, then optionally trying other processes.

  • USB power
  • make clean
  • make hex
  • (sudo) make fuse (check programmer in Makefile, may need to repeat)
  • (sudo) make program
  • desolder SJ1 and SJ2
  • make IDC ISP cable, connecting header pin 1 to pin 1, check wires
  • programming
  • This week we have to build up our own FabISP programmer. I have to learn to use the LPKF milling machine, solder the components to the board and load the firmware on the chip.

    The FabISP is an in-system programmer for AVR microcontrollers designed for production in a FabLab. It allows you to program the microcontrollers on other boards.

    For designing and layouting pcb-boards you need to Download Eagle from Autodesk

      Partlist exportet from Eagle:

    Florian, Aleks and me needed additional pin headers to connect the external programmer to the AtTiny. The website of Dr Azzy was a good help to insert the missing smd pins into our eagle library

    According to our instructors Tobias, we were based on the work of Brian's programmers, based on Zaercs programmers from FabAcademy 2015.

      Change: USB-AB port instead of USB drive as connection

      1. Schematics:

    As I already mentioned in the global review with Neil, I am a primal mechanic and have absolutely no knowledge of electronics production and design.

    After some failures and some perseverance, a skype conference with my instructor Tobias helped me, to design the right approach and the correct schematics:

      2. Board layout:

    At next, the layout of the board must be created. All routes must be set to connect the parts. To switch to the board layout view, change to the board view at the top of the toolbar.

    Now it is important that you arrange all the components in a poligon sequentially prepared in the field:

    My instructor Tobias told me about the rastnest function. (A function in the circuit board layout, with the possibility to connect a signal to the entire copper area, which is located between all parts on the board).

    It is a really good technique to use the GND signal Over the entire layout, set the 'name' of the rect to GND, and press the rastnest button

    On the following picture is the final version of my own designed pcb-design:

      3. Milling and prepare the pcb:

      LPKF ProtoMat S63 and LPKF ProtoPlace S

      In the next steps of this documentation I will go into the production and assembly of the pcb:

      The LPKF ProtoMat-S series is suitable for almost all applications of in-house prototyping. The ProtoMat S63 is able to handle the 2.5-dimensional material processing and has an increased spindle speed of 60,000 rpm. It is therefore also suitable for drilling test adapters and for housing processing. The systems are supplied with software that develops workflows optimized from current CAD data. All ProtoMat series plotters can be upgraded step by step to the full range.
      The LPKF ProtoPlace S is a semi-automatic pick and place system for the professional SMD assembly of PCB prototypes and miniature labs. With it, SMT circuit boards can be equipped much faster than before.
      The LPKF ProtoPlace S supports the precise SMD assembly of high-frequency circuits. A camera system with color display makes it possible to conveniently control the positioning.

      Source: www.lpkf.de

    In the regional review with our instructor Tobias and our FabLab Guru Daniele I was pointed out that this assignment is missing an explanation of the LPKF software. So I have written a short tutorial for using the software:

    Curcuit Pro Tutorial for single sided pcbs

    The circuit pro software comes with the lpkf milling machine. To mill the eagle-designed boards you have to use this software.
    1. Turn on the machine and your connected PC.
    2. Start the Autodesk Eagle software and open your design. Go to CAM/Job/Export LPKF-file.
    3. Select Process Job.
    4. Start the software „Circuit Pro“, and choose
    File/Templates -> Single Sided Top sector.
    5. Choose Process Planning Assistent and select Edit Circuit Board:
    Set to:
    5.1 One-Sided Top.
    5.2 Material: FR4/FR5.
    5.3 Then click: ready.
    6. Choose: Datas from Free Format and select all Files with Upper Case endings
    After setting it click Open. The board now loads into the software.
    7. Select: Cutting Generator and select: Isolation Method.
    Here you can make the following settings:
    Single, Pads double  and the milling depth:
    In my case 18µm. After you have done this, you can close the window.
    8. Choose: Circuit Board Fabrication Assistant
    If all settings have been made correctly you can press Start.
    9. Choose: Material Setting and check the settings. After that press Proceed.
    Then, the window for the positioning of the milling machine will open.
    10. Select: Positioning by Mouse Control. Now select an area on which the layout is to be milled.
    Deselect the Mouse Positioning and drag the Layout to this position.
    It is very important to deselect the Mouse Positioning after that.
    Now you can Save the CAM-job as .cbf-file.
    After saving the .cbf-file the LPKF starts to warming up the milling spindle and start to mill the pcb.

    I have also found a very good video tutorial on youtube. Watch this in addition to my own written tutorial and you will understand the LPKF curcuit pro software as fast as possible: Video Tutorial

      4. Equip the pcb:

      6. Bake the pcb:

      The finished stocked pcb gets into the reflow-ofen done

  • First pre-heat 3 minutes at 170 degrees celsius reflow.
  • Then another 90 seconds at 225 degrees celsium.
  • The cool down mode finally ended with opening the door of the reflow oven.
    • 7. Solder the LEDs and the Jumper:

      In the end I soldered the leds and the jumper by hand.
      As a help: the green point on the leds is the cathode.

      8. Programming:

    As mentioned above in this documention I use the programmer of Brian as template. I downloaded and installed Cross Pack to add the option to communicate, read and write the Atmel chips from my macbook.


    My FabISP-design .BRD
    My FabISP-design .SCH
    FabISP Makefile
    FabISP main.c
    eagle partlist