Production Scheduling for Printed Circuit Board / Surface-Mount Assembly

A practical guide to scheduling high-mix, medium-volume PCB and surface-mount assembly lines — managing changeover-driven bottlenecks, parallel SMT lines, mixed batch-and-flow routing, and test-stage constraints.

This guide is for production planners and operations managers at high-mix, medium-volume EMS providers and OEM in-house PCB assembly lines who need a scheduling tool that maps to hybrid-flowshop reality — managing changeover-driven bottlenecks, parallel SMT lines with different speeds, and mixed batch-and-flow routing — without requiring an OR specialist. You will learn how Schantt models each production stage and step, how to configure the system for a multi-line SMT facility, and what a good PCB assembly schedule looks like.

This guide follows a fictional composite company built from industry research on electronics assembly; all names, parameters, and figures are illustrative.

Industry context

Printed circuit board and surface-mount assembly is a hybrid-flowshop process where solder paste printing, pick-and-place, and reflow operate as continuous flow through conveyor-coupled SMT lines, while through-hole insertion, wave soldering, in-circuit test, functional test, and pack-out run as discrete batch operations. The production mix spans simple single-sided boards with a handful of components, mixed-technology boards that combine SMT with through-hole components, and complex BGA-based boards requiring careful handling and extended test durations.

CrestBridge Electronics runs approximately 120 people at a single 3,500 m² facility, making three product classes — Simple SMT, Mixed-technology, and Complex/BGA — across six production stages, scheduled by a three-person planning team. The facility operates three SMT lines with different throughput profiles (45,000 CPH on the high-speed line, 30,000 CPH on the medium line, and 20,000 CPH on the flexible line) — 13 machines in total across all six stages, managed by a three-person planning team. Batch sizes range from 200 to 2,000 boards for Simple SMT products, 100 to 500 boards for Mixed-technology, and 100 to 800 boards for Complex/BGA. By order count the mix runs approximately 40 percent Simple SMT, 25 percent Mixed-technology, and 35 percent Complex/BGA. Changeover times across SMT lines range from 5 minutes (sister-board changes) to 50 minutes (a full transition from Simple SMT to Complex/BGA). The SMT lines run a 24-hour, five-day calendar (Monday through Saturday morning), while the remaining stages operate a standard two-shift schedule (Monday through Friday, 06:00 to 22:00), with three calendar exceptions and two planned machine downtime windows for the year.

Process overview

flowchart LR
    SMT["SMT Line"] --> THT["Through-Hole Assembly"]
    SMT --> ICT["ICT"]
    THT --> WAVE["Wave Soldering"]
    WAVE --> ICT
    ICT --> FCT["Functional Test"]
    FCT --> PACK["Pack-out"]
    SMT -.->|"Bridging<br/>SMT-only"| ICT

Six-stage production flow for PCB/SMT assembly. Solid arrows represent the Mixed-technology routing; the dashed arrow shows the bridging transfer for SMT-only product classes (Simple SMT and Complex/BGA) that skip Through-Hole Assembly and Wave Soldering.

Simple SMT and Complex/BGA boards skip Through-Hole Assembly and Wave Soldering entirely, routing directly from the SMT Line to ICT via a bridging transfer. Mixed-technology boards follow the full six-stage route.

Scheduling challenges and how Schantt handles them

In this scenario, the schedule is driven by customer orders arriving as discrete jobs with defined product classes, batch sizes, and promised delivery dates — a build-to-order demand pattern typical of EMS operations. Readers who schedule primarily to stock or run a Kanban pull system will still benefit from the workflow model described here; the difference is the demand trigger, not the scheduling mechanics themselves. Schantt optimizes for total production time — the sum of processing, changeover, transfer, and downtime across all stages — scheduling forward from a start date. For this guide we assume a practical horizon of two to four weeks, reflecting the typical EMS order book. Schantt offers two optimization modes: Auto mode, where the algorithm determines both the job sequence and the machine assignments, and Semi-Auto mode, where the planner fixes the job sequence and the algorithm optimizes the machine assignment for each scheduled job. For most EMS environments, Semi-Auto mode is the realistic default because customer commitments and material kitting often fix the production sequence in advance.

What Schantt handles well

  • Sequential multi-stage production — PCB/SMT assembly follows a fixed stage sequence (solder paste, pick-and-place, reflow, AOI, test, pack-out). Schantt models this as ordered routing with forward-only transfer times between consecutive stages.
  • Multi-machine stages (parallel SMT lines) — EMS plants run multiple SMT lines with different speeds and capabilities. Schantt models each line as a machine within its stage; the optimizer assigns jobs to the best-suited line while respecting per-machine throughput and product-class restrictions.
  • Mixed batch-and-flow pipelines — SMT processing runs as continuous flow (throughput in boards per hour) while through-hole insertion, wave soldering, and test run as batch operations with cycle times per batch. Schantt chains timing correctly across the flow-to-batch boundary in a single routing.
  • Multi-product routing with stage skipping — Pure SMT boards skip through-hole and wave soldering; mixed-technology boards add those batch stages. Each product class has its own required stages, with bridging transfer times connecting non-adjacent stages across skipped spans.
  • Sequence-dependent changeovers — Changeover times in SMT depend on the from-to product-class pair, from sister-board changes in minutes to full-family changes of up to 50 minutes. Schantt's directional per-machine changeover matrix lets the algorithm sequence jobs to minimise total changeover time.

How Schantt handles each challenge

1. Changeover-driven capacity loss.

  • Changeover time consumes approximately 18 to 22 percent of available SMT capacity each week, with six to eight product changes per SMT line per shift.
  • The directional changeover matrix captures each from-to product-class pair as a distinct duration (5 minutes for same-class sister boards, 35 to 50 minutes for cross-class transitions), entered per machine on each SMT line. The scheduling algorithm sequences jobs to group similar products, reducing total changeover time across the week. In Semi-Auto mode the planner controls the broad sequence; the optimizer still minimizes changeover time within each line's assigned jobs by favouring same-class adjacency.

2. Line balancing across parallel SMT lines with different speeds.

  • Misassigning products to the wrong SMT line adds 8 to 12 percent to total weekly production time — for example, running a high-volume Simple SMT job on the slower flexible line extends its completion unnecessarily while the high-speed line idles on a less suitable product.
  • Schantt models each SMT line as a machine with its own per-class throughput (450 boards per hour for Simple SMT on the high-speed line versus 200 on the flexible line) and assigns each job to the line best matched to its product class and batch size. The optimizer spreads the load across the three lines, respecting each line's capabilities, and can rebalance automatically when new jobs are added or priorities change.

3. Mixed-technology routing and flow-to-batch handoff.

  • Approximately 25 percent of orders are mixed-technology boards that need through-hole insertion and wave soldering after SMT processing. The flow-to-batch handoff at the SMT exit creates idle time: 1 to 3 hours of gap at the through-hole workcell while the batch accumulates, or 1 to 2 hours of queued boards at the SMT exit waiting for the next handoff.
  • Each product class has its own per-class routing — the mixed-technology class visits all six stages, while Simple SMT and Complex/BGA skip through-hole and wave. Bridging transfer times (for example, a 30-minute bridge from SMT Line to ICT for the skip-routed classes) ensure the timing model stays accurate across skipped spans, and the algorithm sequences jobs so the mixed-technology boards arrive at the through-hole stage in batches that match the workcell's cycle time and batch capacity.

4. Test-stage bottlenecks with shared fixtures.

  • Two ICT fixtures serve three SMT lines, creating 2- to 4-hour queues when two SMT lines finish simultaneously, while three functional test stations handle the downstream load with 15- to 25-minute fixture changeovers between product classes.
  • Schantt models each test stage with its full machine complement (two ICT fixtures, three FCT stations) and per-class cycle times per batch. For incompatible product-machine pairs — for example, a product class that cannot run on a particular ICT fixture — the per-class batch cycle time is set to a high value (effectively zero throughput), routing those jobs only to compatible machines. Changeover times on test machines capture fixture-swap durations, and the optimizer load-levels across parallel test stations to reduce queue depth.

5. Directional changeover asymmetry.

  • Changeover times are not symmetric: transitioning from Simple SMT to Complex/BGA takes 50 minutes, while the reverse direction takes 40 minutes, and unnecessary direction is chosen approximately 75 minutes per day across the three lines.
  • Schantt's changeover matrix stores each directional pair independently on each machine, so the algorithm naturally favours the shorter direction when sequencing jobs. Over a two-week horizon this directional awareness can recover several hours of production time that would otherwise be lost to the longer transition, without any manual calculation by the planner. The same principle applies to test-stage changeovers, where fixture-swap durations also have directional variance.

What to model in Schantt

Five first-class entities form the core of every PCB/SMT configuration. Each becomes a top-level object you create in Schantt before setting detail parameters.

Entity Count Notes
Stage 6 SMT Line (flow), Through-Hole Assembly (batch), Wave Soldering (batch), ICT (batch), Functional Test (batch), Pack-out (batch)
Machine 13 3 SMT lines + 2 THT stations + 1 wave solder + 2 ICT fixtures + 3 FCT stations + 2 pack stations
Product Class 3 Simple SMT, Mixed-technology, Complex/BGA — each with divergent routing
Product 3 One representative per class: IoT Sensor Module, Industrial Controller, Networking Switch Board
Calendar 2 Standard Two-Shift (default) and 24/5 SMT Line

Step-by-step setup

These steps follow the in-product configuration flow, ordered so each entity is created before the detail pages that reference it.

1. Create the stages and set transfer times. Start by creating six production stages in their process order: SMT Line (the combined flow stage covering paste print, SPI, pick-and-place, reflow, and AOI as one machine), Through-Hole Assembly, Wave Soldering, ICT, Functional Test, and Pack-out. On each stage's detail page, set the transfer times from that stage to its successors. This scenario needs six transfer-time entries. The key ones to get right are:

SMT Line to Through-Hole Assembly: 30 minutes (buffer between SMT exit and THT)
SMT Line to ICT (bridge): 30 minutes (for SMT-only classes that skip THT and Wave)
Through-Hole Assembly to Wave Soldering: 15 minutes
Wave Soldering to ICT: 30 minutes
ICT to Functional Test: 15 minutes
Functional Test to Pack-out: 15 minutes

The bridging transfer from SMT Line to ICT is essential — without it, Simple SMT and Complex/BGA product classes have no defined handoff time across the skipped span.

2. Add machines to each stage. Create 13 machines distributed across the stages. Each machine inherits its stage's calendar unless overridden.

SMT Line: SMT Line 1, SMT Line 2, SMT Line 3 (these use the 24/5 calendar override)
Through-Hole Assembly: THT Station 1, THT Station 2
Wave Soldering: Wave Solder 1
ICT: ICT Fixture 1, ICT Fixture 2
Functional Test: FCT Station 1, FCT Station 2, FCT Station 3
Pack-out: Pack Station 1, Pack Station 2

3. Create product classes and define per-class routing. Create three product classes — Simple SMT, Mixed-technology, Complex/BGA — and define each class's routing by selecting the stages it visits in order. Simple SMT and Complex/BGA visit four stages (SMT Line → ICT → Functional Test → Pack-out), skipping Through-Hole Assembly and Wave Soldering. Mixed-technology visits all six stages. The bridging transfer times you set in step 1 handle the timing across the skipped spans. No partial-transfer toggles are needed in this scenario — each batch transfers as a complete unit between stages.

4. Add the products. Create one representative product per class. These are the SKUs the schedule will reference:

Simple SMT: IoT Sensor Module
Mixed-technology: Industrial Controller
Complex/BGA: Networking Switch Board

Each product inherits its class's routing, so there is no need to reconfigure routing per product.

5. Set machine capacity parameters and changeovers. On each machine's detail page, configure the per-class processing parameters. For the three SMT Line machines (flow stage), set the throughput per product class in boards per hour. SMT Line 1 does 450 boards per hour for Simple SMT, 120 for Mixed-technology, and 60 for Complex/BGA; SMT Line 2 does 300, 80, and 40 respectively; SMT Line 3 does 200, 53, and 27. For the batch-stage machines (THT, Wave, ICT, FCT, Pack-out), set the batch cycle time in minutes and the batch size per product class — for example, THT stations process Mixed-technology batches of 60 boards with a 600-minute cycle (10 minutes per board), and ICT Fixture 1 processes Simple SMT in batches of 25 with a 500-minute cycle.

For machines shared by two or more product classes, set the directional changeover matrix. The SMT lines need the full 3 × 3 matrix (9 directional pairs per line, 27 entries total), covering same-class sister-board changes at 5 to 15 minutes and cross-class transitions at 35 to 50 minutes. The ICT fixtures, FCT stations, and pack stations need changeover entries only for the product-class pairs that share that machine — 2 entries for ICT Fixture 1 (Simple-to-Mixed and Mixed-to-Simple), 18 entries across the three FCT stations (6 per station), and 12 entries across the two pack stations (6 per station). For incompatible product-machine pairs on ICT (for example, Simple SMT on ICT Fixture 2), set a high cycle duration to effectively prevent assignment.

6. Configure calendars, exceptions, and downtimes. Create two shift calendars. The Standard Two-Shift calendar (default) covers Monday through Friday 06:00 to 22:00 and applies to all batch-stage machines. The 24/5 SMT Line calendar covers Monday 06:00 through Saturday 06:00 and is assigned as a machine-level override on the three SMT lines. Add three calendar exceptions for non-working days: New Year's Day (January 1), Extended New Year shutdown (January 2), and International Workers' Day (May 1). Finally, add two planned downtime entries — a factory-wide year-end shutdown from December 24 through December 31 (12:00 start on the 24th) and a 12-hour preventive maintenance window on SMT Line 1 for September 21 (06:00 to 18:00).

For step-by-step instructions on configuring each of these in Schantt, see the Schantt documentation.

Common mistakes

1. Using a single changeover time instead of a directional per-pair matrix. Applying one blanket changeover duration to all transitions on an SMT line loses the optimization leverage that directional asymmetry provides. The algorithm cannot favour shorter 5-minute sister-board transitions over 50-minute cross-class ones if all transitions are modelled as the same value. Fix: Enter the full directional matrix per SMT line with distinct durations for each from-to product-class pair. Include same-class entries (5 to 15 minutes) so the optimizer knows to group like products.

2. One product class covering too many divergent routings. Grouping all mixed-technology boards — including those that need conformal coating or X-ray — into a single product class forces every product in that class through every stage, whether it needs them or not. Fix: Split product classes at routing boundaries. Each class should have one unique stage sequence. If a board type visits a different set of stages, it needs its own class. Three classes (Simple SMT, Mixed-technology, Complex/BGA) cover the main routing patterns in this scenario.

3. Machine counts that do not match the floor layout. The ICT fixture count (two fixtures serving three SMT lines) is a deliberate bottleneck in this scenario. Modelling five ICT fixtures instead of two, or assuming one fixture handles all three SMT lines without a queue, would hide the constraint the schedule needs to resolve. Fix: Match the machine count and per-class capabilities to the physical layout, including intentional bottlenecks. For incompatible product-machine pairs, use a high cycle duration to prevent assignment — not a missing machine or a missing product class.

4. Forgetting the bridging transfer time for skip routes. Simple SMT and Complex/BGA skip Through-Hole Assembly and Wave Soldering. Without a bridging transfer from SMT Line to ICT, the skip-routed classes have no timing defined between the two stages, and the schedule may show incorrect gaps or overlaps. Fix: Add a transfer-time entry from the stage before the skipped block (SMT Line) to the stage after it (ICT) for every product class whose routing jumps across stages.

5. Applying the default two-shift calendar to SMT lines. The SMT lines run a 24/5 schedule while every other stage runs two shifts. If all stages share the same default calendar, the optimizer schedules SMT production only within the narrower two-shift window, underutilizing the SMT lines' overnight capacity. Fix: Assign the 24/5 calendar as a machine-level override on each SMT line machine. The batch stages keep the default two-shift calendar, and the optimizer respects the mismatch — it can schedule SMT work overnight but will not attempt to run through-hole or test during those hours.

What a good schedule looks like

Before Schantt, CrestBridge's planning team built weekly schedules manually in a spreadsheet, grouping orders by guesswork and loading each SMT line by habit rather than by capability. The results were inconsistent.

Before (baseline): Without systematic changeover grouping or capability-aware line assignment, CrestBridge lost significant SMT capacity to unplanned changeover time each week. Line misassignment added further production delays as products landed on ill-suited lines, and test-stage queues formed predictably at changeover-intensive bottleneck stations.

After (Schantt Semi-Auto): In Semi-Auto mode, CrestBridge's planners enter the job sequence based on customer commitments and material readiness, and Schantt optimizes machine assignments within that fixed order. Changeover time on each SMT line drops because the optimizer groups same-class jobs into contiguous blocks automatically — sister-board changes replace cross-class transitions wherever the sequence allows. Machine assignments respect each line's per-class throughput, so Simple SMT boards consistently route to the high-speed line and Complex/BGA boards route to the flexible line equipped for fine-pitch placement. ICT fixture load is spread across the two fixtures by the scheduler, reducing queue depth, and each SMT line's overnight capacity is used because the 24/5 calendar override is correctly assigned. The algorithm also accounts for bridging transfer times so skip-routed classes transition cleanly from SMT to ICT without phantom gaps. The result is a weekly Gantt that fits more production into the same working hours, with less idle time at constraint stages and fewer last-minute re-sequences.

Ready to schedule your own facility?

Try Schantt free — no credit card required. Go from spreadsheet to optimized Gantt chart in 60 minutes.

Try Schantt Free