Electronics production
This week, for the Electronics production task, we are going to build the QuenTorres, a multipurpose board designed by Adrián Torres.
Task
Group assignment:
- Characterize the design rules for your in-house PCB production process: document feeds, speeds, plunge rate, depth of cut (traces and outline) and tooling.
- Document the workflow for sending a PCB to a board house
- Document your work to the group work page and reflect on your individual page what you learned
Follow this link for the group assignment page.
Individual assignment:
- Make and test a microcontroller development board
For this last part, the QuenTorres was very strongly recommended, so that's what I built.
Milling a PCB
We use the SRM-20 and some small desktop CNC routers.
-
Attach bits: first the 1/64 for traces and later the 1/32 for gross work like outlines.
-
Hold down board with double sided tape. Use excess tape to avoid bumps. Make sure that it is in the appropriate orientation and well aligned.
-
Software: VPanel for SRM-20. Navigate to the bottom left corner of the copper stock. Set XY origin.
-
Align vertically the endmill into the copper by loosening, letting it fall while carefully holding it with your finger, then tightening. Set Z origin.
- It might happen that it is scratching the surface rather than cutting all the way through the copper. If that happens, rezero the z axis and restart.
Characterizing our mill and endmills
-
Go to this week's page in Fab Academy, and donwload the traces(png link) file.
-
Use MODs's Roland Monofab PCB section to generate the toolpath for the traces.
- Right click
- Programs
- Open Progrgram
- SRM-20 mill / mill 2D
- Upload the png. The scale of the image is controlled by its dpi value. PNGs have it embedded. The traces image we took is 5000dpi. Anything over 1000dpi should be fine.
- Set the tool diameter, etc.
- Set offest number, stepover, cut direction (climb is fine almost always), and path merge.
- Set speed (3mm/s to begin with) and x/y/z offset (0/0/0 most of the time). Job height 5mm. "Home" can be anything as long as Z IS NOT ZERO.
-
"Calculate", save the file, take it to the router.
-
Same but for the holes / outline cuts:
- Upload the image for the holes / exterior (do the holes first!).
- Set 1/32 endmill.
- Cut in 1/4" cut depth. Max depth 1.75mm will cut through all the way and will not spoil the sacrificial board too much.
- Cut speed 0.5mm/s for outline, 1.5mm/sec for holes.
- "Calculate", save the file, take it to the router.
This is the design that we use to characterize the minimum size of traces and incuts:
After characterizing, we took the QuenTorres PCB design and generated the toolpath. I took the opportunity to insert a small maker's mark and to customize the outline:
After milling:
Soldering
At this point I was ready to solder the components. The procedure is:
- Make a list of components.
- Go to the "market", pick them up, set them in sticky tape.
- Solder from smallest to biggest, from inside to outside. Typical temperature of the soldering iron is around 350°C.
There is also the opportunity to use solder paste. In that case, you apply a bit of paste to each contact and you use a (mini) hotplate at 220°C. You can do many components at once. You can even use a stencil to apply solder paste to many contacts at once, and the work of making the stencil starts to be worth it from 10 units or so. Sometimes components might not lie completely flat so you might want to redo those.
For making the QuenTorres, we went the manual route. Everything was going pretty well until I mounted wrong a female connector, and in the process of pulling it out I stripped a trace:
At this point I really didn't want to go back and mill another PCB. Plus it seemed like a waste to throw all of those components and material away for such a small defect so I tried fixing it. I remembered that we have copper tape lying around for cutting in the vinyl cutter, so I cut a small strip and pasted it in place:
I then put a small solder point to connect the trace to the copper strip. It was a bit tricky because the adhesive kept melting and the strip sliding, so I put also a solder point at the other end of the strip connecting it to a dead islet in the board:
It worked fine! I checked continuity with the multimeter between the dead islet and the original trace and it is indeed connected. Salvage achieved!
One problem that I kept running into was that it's hard to properly align the connectors while soldering the many small traces.
For me, what worked best for these was the following procedure:
- Pre-tin the pads
- Warm with heat gun until they turn shiny.
- Apply the connector with tweezers while still applying heat with the gun.
Programming
To test the board, we were instructed to load the blink
sketch on it. I wanted to play around a bit, so I complicated the sketch a little:
There was one gotcha that caught me with the other board that we were given: when programming the Barduino, if you don't get serial output, you need to set "USB CDC on boot" to "Enabled" in the Tools menu.
You can find the button_blink
sketch here
TODOs / Unpursued ideas
Idea: Multilayer transparent flexible PCBs using multiple layers of PVC and copper foil. Update: There is a former student that already did this. TODO find again.
Idea: LEDs encased in plastic on flexible substrate. Embedded in a matrix?