5. Electronics Production¶
- characterize the design rules for your PCB production process
- make an in-circuit programmer by milling the PCB,
- program it, then optionally try other PCB processes
Fab Lab Barcelona have two different Roland milling machines:
The Roland Modela MDX-20 is a small milling machine and a 2 1/2D precision scanner. This machine is mostly used for milling circuit boards, though it can also mill in other soft materials like machinable wax. For milling circuit boards you should export you design into a black&white monocroome png. For milling out 3 dimensional molds you should export your design as .stl The second use of this machine is scanning. It uses a thin needle to gently touch the object and calculates from this a 2 and a half dimensional model. Though slow at processing, it can create a high detailed model. Work area: 203 x 152 x 60 mm From wikipedia
This machine is capable of cutting a wide variety of materials including chemical wood, acrylic, and ABS. It is also capable of a range of accuracy settings from prototype to product design. Plus its small size and fully covered design allows you to enjoy cutting more safely and with peace of mind. Work area: 203 x 152 x 71 mm from User Manual
We have two different bits to work with our PCBs.
1/64” - Used for milling the trails on the board
1/32” - Used for drilling holes and cutting the board
Our instructors recommended us to test the machines generating files from two different softwares: MODS and Fab Modules.
Right click program, open server program, machines, Roland, mill, SRM-20, PCB
Steps followed: 1. load png file 2. select trace or cut 3. change settings for the machine to origin 0,0,0 and home 0,0,5 (x,y,z) 4. delete the WebSocket module 5. add the save module instead 6. calculate path
And then you’ll get the rlm file
Download the line test document linetest.png
Open the Fabmodules: http://fabmodules.org/
Click fab modules, than index.html and open the format png-document. Select Roland mill and PCB traces.
Now we do the same procedure with the outline cut. Dropping the “linetestinginterior.png” file into the Fab Modules. Same machine (Roland Mill) and different cutting (PCB Outline 1/32).
Choose the correct mill bit for the job and insert it into the machine. Than adjust the z-axis “by hand”.
After that, set origin point for all axis
Then press “cut” to get to add the file “linetest.rml” and the job will start.
Make sure the milling is going smoothly. It cannot be too low on the board otherwise it will break the mill. And of course if it’s flying over the board it will not work.
When it stops. Press view so the board comes forward.
Then we get the milled piece.
Using the same machine, bits and board; MODS presented better results. Begin able to mill up to .005 lines when fab modules only could do .011.
So our software of choice for the rest of the process will be MODS.
Making the PCB¶
There is a beautiful tutorial on FabAcademy Docs giving the directions to build a FabISP.
This is the desired result:
Download the PNG files for the traces and the board outline:
After loading the file on MODS and creating the .rml file. Time to mill. This was the final result:
1x - ATTiny 44 microcontroller 1x - Capacitor 1uF 2x - Capacitor 10 pF 2x - Resistor 100 ohm 1x - Resistor 499 ohm 1x - Resistor 1K ohm 1x - Resistor 10K 1x - 6 pin header 1x - USB connector 2x - jumpers - 0 ohm resistors 1x - Crystal 20MHz 2x - Zener Diode 3.3 V 1x - usb mini cable 1x - ribbon cable 2x - 6 pin connectors
Important note: In Fab lab Barcelona, you need to update this spreadsheet whenever you take components out of the stock.
A great tip to organize your life when soldering is to have all the components lined up with tape.
With the diagram and components ready, it was time to start soldering.
I don’t have glasses. But after this week I think I’ll probably need it. The magnifier glass was a big help.
After a few tries and retries, I got a hand for it and things started to go smoothly.
It took me around an hour to get it done. But I was really pleased with the result. Specially because after plugging it in my computer, it showed no errors. So the soldering was ok.
This is the result:
Since I use MacOS, I had to install Crosspack AVR
Then, download the firmware and unzip it.
We have to use a programmer to program the programmer. So I just borrowed one from the lab.
Then, inside the firmware folder, I had to run
make clean make hex make fuse make program
Pro tip: After installing AVR, you need to close the terminal and open it again for it to work. I was trying to compile before that and it wasn’t working.
After that, to test if everything is working, the device needs to show in your computer as an USB device.
That means everything is working.
Now, when you remove the jumper SJ1, your board becomes a programmer :)