Skip to main content

Week 8 — Group Assignment: Electronics Production

Group assignment brief

Characterise how we make PCBs at Chaihuo — both in-house and through a board house:

  • Characterize the design rules for our in-house PCB production process and document the machine settings
  • Document the workflow for sending a PCB design to a board house
  • Document the work on this group page; each student reflects on what they learned when completing the individual assignment (make and test an embedded system you designed)

See assignment requirements for the full brief.

This page documents our Week 8 group collaboration at Chaihuo Makerspace: milling PCBs on the lab KEXU CNC, finding working parameters, and ordering the same design from JLCPCB. PCB layouts came from the Week 6 electronics-design work.

In-House PCB Milling

Machine — KEXU (Exu Turbo)

Our in-house PCB production uses the KEXU desktop CNC at the Small CNC & Drill Press area. Instructor Matthew walked the group through safety and setup before the first cut.

KEXU CNC at Chaihuo with instructor Matthew

SpecificationDetails
ModelExu Turbo (3-axis)
Overall dimensions (L × W × H)550 × 490 × 620 mm
Travel (X / Y / Z)190 × 120 × 110 mm
Relief carving area200 × 120 mm
Spindle speed0 – 24,000 rpm
Spindle power800 W, water-cooled
Machining speed0 – 4000 mm/min
Tool holder capacity1 – 6 mm
Control7-inch touch screen (Wi-Fi / USB)

KEXU stand-alone CNC controller

Safety: wear a mask and safety goggles when milling FR-4 — the dust is fine and should not be inhaled.

Material and tools

ItemSpecification
SubstrateFR-4 epoxy glass fibre (single-sided copper)
Board thickness1.5 – 1.6 mm
Copper thickness35 μm (1 oz)
Trace bit40° #502 V-bit
Outline bit4-flute end mill (~1.5 mm)

Design rules and machine settings

We tested different feed/speed/depth combinations until traces were clean and outlines cut through without snapping the bit. These are the parameters we settled on:

ParameterV-bit (tracing)Ball-end / end mill (outline)
Feed speed4 mm/s4 mm/s
Spindle speed14,000 rpm14,000 rpm
Offset number44
Offset stepover0.2 mm0.2 mm
Cut depth0.23 mm0.45 mm
Tool diameter (effective)0.3 mm1.5 mm

The 0.23 mm trace depth removes copper without cutting too deep into the substrate. The 0.45 mm outline depth per pass cuts through the board in several passes without overloading the bit.

Practical design limits for in-house milling:

RuleValue / note
Minimum reliable trace/space~0.38 mm
Trace width recommendation1 mm for power buses; 0.5 mm signal traces can be fragile after milling
Isolation routingMultiple offset passes (4 × 0.2 mm stepover)
Board fixturingDouble-sided tape on sacrificial layer; board must stay flat
Z zeroLower bit until it just touches copper (paper / tape drag test), then set Z = 0
File transferFAT32 USB; avoid hyphens in filenames — the controller rejects them

Milling workflow

The full in-house workflow at Chaihuo:

  1. Design in KiCad (schematic + PCB from Week 6)
  2. Export Gerber — at minimum F_Cu.gbr (traces) and Edge_Cuts.gbr (outline) for milling
  3. Convert to PNG — use gerber2png or KiCad plot
  4. Generate G-code in Mods — upload PNG on the Mods CE, select 40° V-bit for traces and end mill for outline, simulate, save .nc
  5. Load on machine — copy .nc files to USB, select trace file first then outline
  6. Zero and run — set X/Y at board corner, Z on copper surface; start with conservative depth and adjust if the first pass looks shallow
  7. Deburr and clean — scrape loose copper with a steel ruler; wash with soap and water to remove oils
Mods browser compatibility

Use Chrome or Edge with Mods. Some browsers (e.g. Brave) produce bad toolpaths — unwanted dots or irregular patterns.

Machine setup (photos)

Install the V-bit in the collet and tighten with the wrenches provided.

Installing the V-bit in the colletLoading the copper board into the KEXU

Secure the copper-clad board on the sacrificial layer with tape or a toe clamp. Jog the spindle to the front-left corner for X/Y zero.

Copper board clamped on the bedManual Z positioning with the MPG pendant

Set X, Y, Z zero on the touch-screen controller:

AxisMethod
X, YMove tool to front-left corner of copper board → Set XY Zero
ZLower until bit touches copper (paper drag test) → Set Z Zero
Setting zero on the controller with instructorWorkpiece coordinates after zeroing

Select the G-code file from USB (TRACE.NC, outline file) and run. Pause and re-zero Z if the first pass is too shallow or too deep.

Selecting the trace G-code file on the KEXU controller

We also tested LaserPecker 3 (diode laser) for copper removal. With negative SVG plots from KiCad (white = keep traces, black = remove copper), a single pass took ~10 minutes but did not fully isolate the traces even after multiple passes. A fibre laser can remove copper in fewer passes; our diode laser is useful for marking but not reliable as a primary PCB fabrication method. Vinyl cutting was explored separately by other students — see Emily's documentation linked from Timothy's Week 8 page.

Submitting a PCB to a Board House

In-house milling is fast for prototyping (roughly one hour per board) but limited to ~0.38 mm features and produces boards without solder mask or silkscreen. When we need cleaner boards, tighter spacing (~0.125 mm), or more than a handful of copies, we send the design to a board house.

Files needed

Milling only needs two Gerber layers. A board house needs the full fabrication package:

FilePurpose
F_Cu.gbrFront copper traces
Edge_Cuts.gbrBoard outline
F_Mask.gbrFront solder mask (exposes pads only)
B_Mask.gbrBack solder mask (often includes drill info)
F_Silkscreen.gbrComponent labels and polarity marks
.drl (or embedded in mask)Drill locations, sizes, plated vs non-plated

Solder mask is the coloured polymer coating that protects copper and prevents solder bridges. Silkscreen prints reference designators (R1, C2, …) on the surface for assembly. Both are generated from the same KiCad design used in Week 6 — export via File → Fabrication Outputs → Gerbers.

Ordering at JLCPCB

Instructor Matthew introduced JLCPCB (JLC Technology Group, Shenzhen) as a fast, low-cost option for our cohort. Workflow:

  1. Export and zip all Gerber + drill files from KiCad
  2. Upload the zip to jlcpcb.com
  3. Review auto-detected parameters — board size, layer count, thickness; adjust if needed
  4. Confirm the preview — side-by-side design vs production draft plus 3D view; last chance to catch layer errors
  5. Pay and wait — production typically starts within a day; delivery to Shenzhen is 2–7 days depending on courier

Typical order settings for our development boards:

ParameterValue
Board materialFR-4
Layer count2
Board thickness1.0 – 1.6 mm
Surface finishLead-free HASL
Electrical testFlying probe (free)
Quantity5 boards

Our group orders came to roughly ¥40 RMB (~$6 USD) for 5 boards plus shipping. One order placed 23 March arrived 25 March; another cohort order (via JLCPCB from Timothy's test) cost $5.56 for 5 boards with shipping to Shenzhen — delivery took 7 days because the courier required an answered phone call before drop-off.

Milled vs board-house boards

In-house (KEXU)Board house (JLCPCB)
Turnaround~1 hour2–7 days
Trace qualityGood for ≥0.38 mm; edges rougherClean, consistent
Solder maskNoneGreen (or other colour)
SilkscreenNoneReference designators printed
Best forRapid iteration, debuggingCleaner assembly, final-ish prototypes

Both methods have a place: mill first to validate the design, then order from JLC when the layout is stable.

What We Learned

  • Measure and zero carefully. A board that is not flat or a Z zero that is slightly off produces shallow traces or cuts into the sacrificial layer.
  • In-house rules are tighter than board-house rules. Design for ≥0.38 mm traces/spacing when milling; use wider buses where possible.
  • Mods + a post-processor bridge the gap between MIT's toolchain and our KEXU controller — always simulate in Mods and test-cut before committing copper.
  • Board-house export is a different mindset. Solder mask, silkscreen, and drill files each serve a fabrication step you do not think about when milling.
  • Check the JLC preview. The 3D render catches mirrored layers and missing drill files before they become expensive mistakes.
  • Clean the milled board before soldering — remove tape residue and wash off FR-4 dust.

These group findings feed directly into each student's individual assignment: populate and test the embedded system on either a milled or ordered board.