Week 8: Electronics production

Electronics production week. On my individual page I milled the carrier I designed in Week 6 on the lab PCB CNC, deburred the copper, soldered the Seeed XIAO and FPC landing, and checked continuity with a multimeter. I also ordered two plated revisions from JLCPCB (嘉立创) with solder mask. My final project (“birthday spirit”) needs room for a NanoStat / ESP32 Pico–class module, so revision 2 reserves a side panel for that stack. Lab CNC operating notes are under Group assignment.

Individual assignment: mill, stuff, and fab-order my dev board

Fab Academy Electronics Production asks for a microcontroller development board I designed, with evidence for toolpaths, milling (or outsourcing), stuffing, soldering, debugging, and a working program. I laid out the board in Week 6; this week I prove I can fabricate it locally, bring it up on the bench, and also document sending improved spins to a board house.

1. Task

My carrier hosts a Seeed XIAO, an FPC toward a display, and (on later revisions) a landing zone for NanoStat. I needed two production stories on one page: a CNC-milled copper prototype I could solder the same week, and JLCPCB panels for denser SMT work later. Firmware proof on the milled board continues in Week 9 (sensor reads); here I focus on mechanical fab, solder, and electrical sanity checks.

2. Learning

I re-read the academy production notes and our group mill checklist (below): isolation depth, tool diameter, and Z touch-off dominate whether traces stay connected. Milled copper is not the same as a fab board: no mask, no plating, and burrs can bridge nets until you deburr. For outsourcing I practiced the JLC client upload flow even when I already had a milled board, because the final project will eventually need plated holes and repeatable panels.

3. In-house CNC: mill, deburr, solder, continuity

I exported CAM from the Week 6 layout (same Gerber stack our lab uses for PCB milling), clamped single-sided copper-clad on the Chaihuo mill, and ran isolation plus outline with the shop’s V-bit / end-mill set documented in group assignment. I stayed at the machine for the first pass. Feed and spindle sounded rougher than ideal, which showed up on the copper afterward.

Isolation routing on my Week 6 layout, full pass on the lab PCB mill.
Mid-run view, checking that copper clears between traces.

Right off the machine the board looked electrically suspicious: many burrs and ragged copper slivers between traces. I think the spindle speed was a bit low for the feed we used, so the bit smeared metal instead of shearing cleanly. Before I dared to solder a module, I lightly sanded the top copper with P800 (~800 grit) sandpaper, brushing along the isolation channels until the slivers were gone and the edges looked matte instead of feathery.

Milled PCB with visible copper burrs between traces before sanding
Fresh off the CNC: burrs between traces (likely feed/speed mismatch). Note for next time: re-check spindle RPM and depth before the production run.
Same milled PCB after P800 sanding, cleaner trace edges
After P800 sanding, edges are clean enough to solder and probe.

With clean copper I soldered the Seeed XIAO ESP32-S3 module and the FPC connector for the display flex. I used flux, a fine tip, and tack-and-reflow on the castellated XIAO pads first so the connector would not shift the board when I reheated nearby pins.

Milled PCB with Seeed XIAO and FPC connector soldered in place
Milled Week 6 carrier with XIAO and FPC stuffed (pre–Week 9 sensor harness).

Before USB power I checked shorts to the ground pour with a multimeter in continuity mode: probe from each connector pad to the surrounding copper fill and to neighboring nets. I did this separately for the XIAO footprint and the FPC pads so a bridged burr would not kill the 3.3 V rail on first plug-in.

Multimeter continuity check between XIAO pads and PCB copper
Continuity check on XIAO pads vs. pour / adjacent traces (expect open except intended ties).
Multimeter continuity check at the FPC connector pads
Same check on the FPC landing. Catches burr shorts the eye misses after sanding.

4. Board house: JLCPCB and two revisions

Milling taught me the layout was routable, but the birthday-spirit carrier still needed plated holes, solder mask, and a second mechanical spin for the NanoStat sidecar. I ordered two revisions from JLCPCB while keeping filenames aligned with KiCad. Rev 1 was electrically fine but left no spare panel for the MCU module; rev 2 adds that keep-out beside the dense circuit.

Revision 1: dense layout, no integration margin

I laid out a first PCB that packed the circuit tightly. Electrically it was fine for a first cut, but there was no unused copper area left next to the main circuit where I could later mount a small microcontroller carrier or breakout for sensors. For the birthday-spirit idea I need a predictable place to attach my NanoStat (ESP32 Pico–footprint) board and related sensor hardware without cramming everything into one cluttered copper island.

Revision 2: reserved side area for the Pico module

On the second spin I kept the same core circuit intent but moved outlines and poured/open regions so there is a dedicated blank panel beside the dense logic. That zone is for mechanically attaching (e.g. adhesive standoffs or double-sided tape, pending mechanical review) the NanoStat module without overlapping traces or interfering with reflow on the main section.

Ordering through the JLCPCB desktop client

I uploaded Gerbers through the 嘉立创 / JLCPCB client, checked layer previews and board thickness, then pushed the job through their quoting flow. Keeping filenames and revision notes aligned between EDA and the upload dialog avoided mixing rev1 and rev2 uploads.

JLCPCB desktop client window showing PCB order and layer preview
JLCPCB client, verifying the upload and order details before fabrication.

Boards arrived

The fabricated panels showed both revisions clearly; handling them highlighted how much easier plated holes and solder mask make bring-up compared to quick milled copper, especially for dense SMT footprints I plan to assemble next.

Received PCBs from JLCPCB showing both design revisions
Boards received from the fab. Rev1 vs rev2 visible on the panel/stencil layout.

Fabricated boards: photos after delivery

The close-ups below are physical boards photographed after the JLC shipment arrived, same revisions as above, shown as fabricated copper and solder mask rather than EDA captures.

Fabricated first PCB revision after delivery from JLCPCB
Revision 1 as built: dense routing, little spare area for mounting the MCU / sensor stack.
Fabricated second PCB revision with side keep-out after delivery from JLCPCB
Revision 2 as built: reserved side panel for the NanoStat module.

5. Conclusion

I now have both production paths on record: a milled, stuffed, probed board that matches my KiCad design, and two fab revisions that improve assembly and final-project packaging. If isolation looks hairy after milling, I fix feeds/speeds and deburr before soldering expensive modules. Firmware on the JLC panel (serial sensor reads) is documented in Week 9; the milled board shares the same XIAO + FPC footprint and passed the same continuity gate before USB.

  • Toolpath / milling: Week 6 Gerbers → lab CNC (videos above).
  • Stuff / solder / debug: XIAO + FPC on milled copper; multimeter checks.
  • Board-house workflow: JLC client upload through delivery (below).
  • Functional program: see Week 9 input-device sketch on the fab board.
  • Group link: Chaihuo mill operating notes.

Group assignment

Guangzhou (Chaihuo) group documentation: in-house PCB fabrication on the lab CNC mill (operating notes and safety).

In-house PCB fabrication, CNC milling: operating notes

Equipment: Lab PCB CNC mill / engraver (single- or double-sided copper-clad stock, isolation routing plus outline cutting; exact model per nameplate and local training).
Use case: Quick-turn prototypes, coursework boards, small batches; not a substitute for a professional fab’s plating, solder mask, or surface finish.

Overview: The process uses a small-diameter end mill to cut isolation channels in copper, defining traces, and can cut the board outline. Design data must match tool diameter, cut depth, and work zero; mismatches often cause opens, shorts, or dimensional errors. Minimum trace width, spacing, and tool specs are defined by your lab’s published rules.

I. Recommended operating sequence (aligned with on-site steps)

Typical lab workflow: secure stock and tool, set zeros, then run the toolpath.

1. Prepare machining data and verify

  1. Finish schematic and PCB layout in an EDA tool (e.g. KiCad, Altium, Eagle), then export Gerber (copper, outline, drill layers as required) and drill files; if the lab uses dedicated CAM software, merge layers and set the origin per its instructions.
  2. In CAM, confirm units (mm), mirroring (top copper on a single-sided board is usually not mirrored; bottom copper per software guidance), and trace-width compensation against the actual tool diameter.
  3. Check that the outline is closed and does not conflict with fixture keep-out zones.

(This step is done at the computer; no floor photo.)

2. Load and secure the copper-clad board

  1. Clean the table and the underside of the stock so chips do not cause warp or uneven thickness.
  2. Place the board within the machine’s usable travel, with clearance for clamps and the toolpath; for double-sided work, plan dowel or optical alignment if the lab provides it.
  3. Clamp with lab-approved fixturing with enough holding force, and ensure clamps / bolts stay outside the toolpath envelope.
Placing and securing the copper-clad board on the PCB mill
Placing and securing the copper-clad board

3. Change the tool (end mill, V-bit)

  1. Install or remove tools only with the spindle fully stopped and the machine in a safe state (per lab procedure).
  2. Seat the tool for the collet type and tighten to the specified torque; check flute length and stick-out for enough reach without excess overhang that causes chatter.
  3. Match the tool diameter to the CAM settings (common isolation milling uses roughly 0.1 mm to 0.2 mm cylindrical end mills; confirm against lab inventory).
Changing the end mill on the PCB CNC
Changing the tool
Installing or removing a tool in the PCB mill spindle with the machine safe
Spindle tool change. Follow collet torque and stick-out rules.
Side-by-side comparison of milling and cutting tool heads for PCB work
Milling versus cutting cutter heads. Confirm which geometry matches your CAM tool definition.
Close-up of the milling cutter head on the PCB CNC
Milling cutter head (typical isolation routing).
Close-up of the cutting cutter head on the PCB CNC
Cutting cutter head. Verify diameter and flute length in CAM.

4. Position the cutter

  1. Jog the tool to a safe height above the board so rapid moves cannot hit the stock or clamps.
  2. Align the tool roughly with the programmed origin (board corner or locating feature) to match the CAM work coordinate system.
  3. Confirm the dust shoe, guards, tool length, and clamps do not interfere.
Adjusting cutter position above the PCB stock
Adjusting cutter position

5. Touch off and set work zero

  1. XY zero is often a board corner or locating feature and must match the CAM origin definition.
  2. Z zero is often on the top of the copper-clad surface or a lab-defined reference; Z error yields shallow cuts (copper not fully cleared) or deep cuts (substrate damage, broken tool).
  3. The two images below show the initial state before touch-off and zero-related steps; the exact method (touch plate, shim, paper drag, etc.) follows on-site training.
Touch-off, initial state
Touch-off, initial state
Touch-off and zeroing the Z axis
Touch-off / zeroing

6. Test cut and production run

  1. For a new file, use a reduced feed override or single-block mode first and watch whether the first isolation pass fully clears copper and whether the sound is normal.
  2. The operator must stay at the machine; on any fault, hit emergency stop immediately.
  3. After the run, inspect for residual copper and burrs between traces; deburr if needed and spot-check continuity with a multimeter.
PCB outline cutting in progress.
PCB after outline cutting is complete
Board after outline cutting.

II. Safety and precautions

  1. Personnel and motion: Do not clear chips by hand near a running spindle; do not wear gloves on rotating parts; tie back long hair; know where the emergency stop is.
  2. Tool and workholding: A loose tool or loose board can eject; after each load or tool change, push gently to verify the board cannot shift.
  3. Dust and copper swarf: Use dust collection; avoid inhaling copper dust; stop the machine before cleanup.
  4. Electrical: Do not touch electrical parts with wet hands; route cables away from moving parts.
  5. Program and coordinates: Mismatched zero, tool diameter, stock thickness, and CAM data is a common cause of shorts, opens, and crashes; after a board change or tool change, re-touch off or re-verify Z.