system: pushbutton two-layer pcb mill
Desktop-scale PCB maker that completes a 2-layer board in under an hour.
state of the world / why
- PCBs from China are cheap and fast (JLC, PCBWay)
- Still too slow for iterating effectively
- PCBs from the US are expensive and slow, but required sometimes for export control
- DIY options have major drawbacks
- Approaches
- Mill
- Lasercut
- Chemical etch
- Print conductive ink
- < 1 day turnaround, but at the cost of babysitting and obtuse tooling
- Low quality
- Process variability
- Resolution limits
- Process limitations:
- 2-layer is difficult, > 2 infeasible
- Masking is difficult
- Silks are difficult
- Approaches
The product I want can take a KiCad project and produce a consistent board (with mask, no assembly) within the hour without supervision.
requirements
- At least 200um trace width
- 2 layers
- (Nice-to-have) selectively applies solder mask
- (Nice-to-have) conductive vias
- If milling
- Mesh bed leveling
- Automatic tool changer
design draft
Currently planning on using most recent revision of Clank (stretch variant) as the platform.
Additional features:
-
Vacuum holddown
-
Toolchanger
- Isolation: V-bit
- Cutout: endmill
-
Stock loading and manipulation (ER arm)
anticipated flow
-
Upload KiCad board file to website hosted by rpi attached to clank
- Export gerbers
- Run mods or pcb2gcode as CAM -> GCode
- Auto-tabs (require at least 2)
-
GCode translation / edits as required -- working with Jake
- Trying MAXL
- Fallback: GRBL or similar on a COTS controller + motor driver board
-
Stock handling
-
Goals:
- Load sheets from stack of stock, index to consistent position
- Flip stock for second side of board, reindex stock outline to same position
-
Want to use ER mycobot arm with suction cups (vacuum)
- Probably need to reserve some real-estate on the stock for clean pickup points
-
Open-loop stock indexing: pins, push into corner
-
Indexing side 2
- Cutouts for X-Y probing?
- Could do CV, but not really a fan. Maybe the right thing to do here though.
- Maybe just measure width of stock, compute where board should be, fix x zero
-
Outfeed to stack by machine
-
-
Vacuum holddown
- Just a plate with hole pattern and a plenum underneath. Use a shop vac with a relay.
- Selected because it seems most straightforward way to automatically control holddown
-
Autoleveling
- Probe with Clank's load cell
-
Machining sequence
- V-bit isolation (front)
- Flip
- V-bit isolation (back)
- Cutout
-
Tool changing
- Use "fork" design suggested by Jake
- Interpose a holdable U slot shape in the Kleat interface stackup
- Several forks mounted to the bed
- Lower the U of the tool onto the fork, release the Kleat, pull back
- Inverse for pickup
Solder mask
Not in first rev of the machine. If the two-sided milling works, will add.
Concept:
- squeegee liquid mask through screen for consistent application amount
- cure with UV light mounted to machine or on tool head
- selectively mill off with springloaded v-bit
Sequencing: after isolation on each layer.
Vias
Not in first rev of the machine. If the two-sided milling works, will add.
Concept:
- rivets
- anvil / die at a fixed location mounted to bed
- cobot picks up and holds stock, referencing gerbers or pcb file (** cobot probably insufficient for precision)
- custom end effector with a rivet magazine and punch
Sequencing: after both sides isolated, before cutout.