Skip to content

Commit

Permalink
Added manufacturing details
Browse files Browse the repository at this point in the history
  • Loading branch information
williamyang98 committed Feb 6, 2025
1 parent 8e62b87 commit fc6fb3c
Show file tree
Hide file tree
Showing 9 changed files with 175 additions and 52 deletions.
2 changes: 1 addition & 1 deletion docs/content/docs/manufacturing/_index.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
---
title: Manufacturing
prev: /docs/design/open_ems
next: /docs/manufacturing/jlcpcb
next: /docs/manufacturing/ordering
weight: 3
params:
icon: cog
Expand Down
41 changes: 23 additions & 18 deletions docs/content/docs/manufacturing/electrical_testing.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,26 +7,31 @@ params:
icon: badge-check
---

## Checking for shorts
- Oculink port after reflow can be shorted due to excess or smeared solder paste resulting in bridges between fine pitch pins
- Can redo reflow as many times until short is gone
- For flex pcb shorts can occur between fine pitch SMD pads of FFC connector
- Visual inspection through transparent FFC can reveal where shorts are
## Single board validation
- Oculink port has a small pitch of 0.2mm which can easily create solder bridges.
- Validate this by connecting the Oculink port to the unpowered PCIe eGPU board.
- Refer to [M.2 pinout]({{< abs_url link="/docs/specifications/components/" >}}) and [PCIe pinout]({{< abs_url link="/docs/specifications/pcie_specification/" >}}) for the electrical connections to test for.
- Depending on the design the PCIe lanes may be connected in opposite polarity and/or in opposite orders.
- Check for short circuits and bad connections.
- Use a magnifying glass to position multimeter probes onto the exposed electrical contacts.

## Checking flex pcb during assembly
- For flex pcb bad connections can be checked partially through assembly
- Begin by soldering FFC to M.2 card
- Check for shorts and bad connections between M.2 edge connector and end of FFC cable
- Begin reflowing oculink port to separate PCB
- Check for shorts on exposed connector pads
- Bad connection or short will likely be located at FFC to oculink board connection
## Flexible PCB multi board design
Validation of flexible PCB design will be done in three passes.

## Checking assembled board
- Connect oculink adapter to eGPU board
- The PCIe connector on the eGPU board can be used to check for continuity and shorts
- Refer to following schematic for pin out of PCIe connector
- Use m.2 edge connector as other side of connection
- Refer to pinout for m.2 connector
{{< responsive_image key="kicad_flex_connector_render" >}}

### 1. Oculink port board
- After Oculink port has been soldered to PCB perform similar checks as with the single board design.
- Instead of using the M.2 connection use the exposed flexible PCB SMD pads to test for shorts or bad electrical connections.

### 2. Flexible PCB to Oculink port
- After soldering flexible PCB to Oculink port board perform the same check but with the exposed flexible PCB pads on the M.2 side of the flexible PCB.
- Perform visual checks of the flexible PCB at the soldered connection. Since the polyimide is translucent it is possible to detect solder bridges.
- If there are any shorts or bad connections they are likely isolated to the flexible PCB connection since we have already verified the Oculink port itself.

### 3. Flexible PCB to M.2 port
- After soldering flexible PCB to M.2 card perform same check as with the single board design.
- Perform visual checks of the flexible PCB at the soldered connection. Since the polyimide is translucent it is possible to detect solder bridges.
- If there are any shorts or bad connections they are likely isolated to the flexible PCB connection on the M.2 card side.
- Due to steps 1 and 2 the Oculink port and flexible PCB connection on the Oculink board side are verified.

17 changes: 0 additions & 17 deletions docs/content/docs/manufacturing/jlcpcb.md

This file was deleted.

80 changes: 80 additions & 0 deletions docs/content/docs/manufacturing/ordering.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
---
title: Ordering
prev: /docs/manufacturing
next: /docs/manufacturing/reflow_soldering
weight: 1
params:
icon: cog
---

> [!NOTE]
> All prices are listed in $USD.
## JLCPCB
### Single board design
- 0.8mm thickness
- 4 layers
- 120mm by 80mm

| Part | Cost |
| --- | --- |
| Base | $2.00 |
| 4 layer 0.8mm stackup required HASL finish | $4.80 |
| 4 layer stackup above 50mmx50mm | $5.00 |
| Engineering cost of boards above 100mmx100m | $24.00 |
| **Total** | **$35.80** |

### Flexible PCB design
#### M.2 card
- 0.8mm thickness
- 4 layers
- 22mm x 42mm

| Part | Cost |
| --- | --- |
| Base | $2.00 |
| 4 layer 0.8mm stackup required HASL finish | $4.80 |
| **Total** | **$6.80** |

#### Oculink port board
- 1.6mm thickness
- 4 layers
- 87mm x 21mm

| Part | Cost |
| --- | --- |
| Base | $2.00 |
| 4 layer stackup above 50mmx50mm | $5.00 |
| **Total** | **$7.00** |

#### Flexible PCB
- 0.11mm thickness
- 2 layers
- 83mm by 77mm

| Part | Cost |
| --- | --- |
| Base | $2.00 |
| **Total** | **$2.00** |

#### Total cost of all boards
| Board | Cost |
| --- | --- |
| M.2 card | $6.80 |
| Oculink port board | $7.00 |
| Flexible PCB | $2.00 |
| **Total** | **$15.80** |

## Components
The components for both the single board design and multi-board flexible PCB design are identical.

| Part | Unit Cost | Quantity | Total |
| --- | --- | --- | --- |
| Amphenol Oculink port <br>(G14A42121B12HR) | $3.50 | 1 | $3.50 |
| SOD52 Schottky diode | $0.25 | 1 | $0.25 |
| X7R 040 10nF MLCC | $0.05 | 5 | $0.25 |
| **Total** | | | **$4.00** |

- Components were ordered from [Mouser Australia](https://au.mouser.com/).
- There are minimum order quantities for the Oculink port connector which has a MOQ of 5.
- Price of extra components are not considered since we are just interested in cost of a completed M.2 to Oculink adapter board.
77 changes: 61 additions & 16 deletions docs/content/docs/manufacturing/reflow_soldering.md
Original file line number Diff line number Diff line change
@@ -1,33 +1,78 @@
---
title: Reflow soldering
prev: /docs/manufacturing/jlcpcb
prev: /docs/manufacturing/ordering
next: /docs/manufacturing/electrical_testing
weight: 2
params:
icon: fire
---

## Equipment
- Reflow plate
- Soldering iron
- Magnifying glass
- Isopropyl alcohol
- Reflow soldering plate.
- Soldering iron with a conical tip.
- Magnifying glass.
- Isopropyl alcohol.
- Metal tweezers.

## Reflow oculink port
- Apply stencil for oculink connector, make sure there are no bridges
- Place oculink port
- Apply reflow
{{< responsive_image key="mechanic_ix5_reflow" style="width: 50%" >}}
{{< responsive_image key="ts100_soldering_iron" style="width: 50%" >}}

## SMD components
- Can apply stencil
- Easier to solder by hand
## Reflow profile
1. Set a target temperature on the Mechanic IX5 reflow plate.
2. Activate the reflow process which will increase the temperate by 1°C each second until target temperature is reached.
3. Once the reflow temperature is reached let it remain at this temperature until reflow has finished.
4. Allow the PCB to cool which decrease temperature by 1°C each second until it is cool enough to handle.

## FFC connector for flex pcb
- Need to apply pressure to connector while reflow occurs for complete contact
- There is not alot of tolerate for FFC connector when soldered since there is mechanical slack, it has to be as flat to the SMD pads as possible
- When reflowing connector place weights to apply even pressure across FFC connector
{{< responsive_image key="reflow_profile" >}}

The Mechanic IX5 can be used to follow an arbitrary reflow profile (including the shown trapezoidal or delta types). The delta type reflow profile is sufficient for the Oculink port.

## Instructions
### Reflow soldering components
1. Apply stencil for Oculink connector and capacitors to spread solder paste.
2. Visually check to make sure there are no bridges or missing solder paste on SMD pads.
3. Place oculink port carefully onto SMD pads as to align them correctly.
4. Follow reflow profile with a target temperature of 220°C and keep it there for 60 seconds before ramping it down.
5. Visually confirm that there are no solder bridges on visible connections.
6. Validate that there are no shorts or bad connections following [electrical testing]({{< abs_url link="/docs/manufacturing/electrical_testing" >}}).
- Due to simple design of circuit the complications should only occur with the Oculink port itself.
- Here excessive or insufficient solder paste can result in short circuits or a missing electrical connection.
- Repeat steps 1 to 5 until the Oculink port is soldered correctly.


For the flexible PCB design continue to the following instructions below.

### Soldering flex connector
This process is only required for the two part board which is connected over the flexible PCB.

1. Perform reflow soldering of components for each of the two boards as described above.
2. Tin the SMD connection pads on both the flexible PCB and M2 card and Oculink port board.
- Make sure that there is a minimal amount of solder to prevent shorts when reflow soldering connector.
- Check to see if amount of solder has same height across all pads. If there isn't remove it until it is level.
3. Focus on the Oculink port board first and preheat it to 140°C.
4. Preheat the soldering iron with the conical tip to 280°C.
5. Using metal tweezers carefully position the flexible connector to align with the SMD pads.
- Add flux to the flexible connector and board will help keep the connector in place once aligned.
- Do this under a magnifying glass with mechanical helper hands.
6. Using the soldering iron solder the ground SMD pads after alignment.
- Be careful to not misalign the connector.
- Increase the preheating temperature of the board to 150°C or above if soldering isn't occuring.
- Avoid preheating the board to too high of a temperature otherwise solder may become molten and components and Oculink port can be knocked off.
- Avoid keeping the board preheated for too long otherwise PCB will discolour.
- Make sure that you have soldered enough of the ground pads to keep the connector in place.
7. Let the Oculink port board cool down and check that flexible PCB is **mechanically** secure enough to move assembly around.
- At this step there is no sound electrical connection between the board and flexible PCB.
- We only need it to be mechanically secure so we can perform the full reflow step under mechanical pressure.
8. Place a weight on top of the flexible PCB connection to equally apply force on the SMD pads.
- The weight should cover the entire flexible PCB connection pads.
- The weight should not melt at the reflow temperature of 220°C.
- The weight should be secure and stationary during reflow process.
9. Perform reflow soldering of the flexible PCB connection while the connections are under constant force.
- Since there are no spring contacts, the z-height tolerance of the connection is very low.
- To guarantee a good electrical connection the reflow process has to occur while the pads are under compressive pressure.
- Be careful not to disturb the existing connections such as the Oculink port and capacitors.
10. Perform electrical tests as described in [electrical testing]({{< abs_url link="/docs/manufacturing/electrical_testing" >}}).
- This is done to make sure shorts don't occur due at the flexible PCB connection with the Oculink port board.
- If shorts do occur at this step repeat steps 1 to 10 with less solder on the pads.
- If these is a missing electrical connection make sure that sufficient pressure has been applied during reflow.
11. Repeat setps 1 to 10 for the M.2 card.
10 changes: 10 additions & 0 deletions docs/data/images.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -175,3 +175,13 @@ openems_taper_reflectance_overall:
openems_taper_s_params_overall:
description: "S-parameter results of parameterised search of taper ground plane across all parameters"
path: "/images/diagrams/openems_taper_s_params_overall.png"
mechanic_ix5_reflow:
description: "Mechanic IX5 reflow heating plate"
path: "/images/diagrams/mechanic_ix5_reflow.png"
ts100_soldering_iron:
description: "TS-100 soldering iron"
path: "/images/diagrams/ts100_soldering_iron.png"
reflow_profile:
description: "Reflow profile"
path: "/images/diagrams/reflow_profile.png"
source: "https://www.7pcb.com/blog/lead-free-reflow-profile"
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added docs/static/images/diagrams/reflow_profile.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit fc6fb3c

Please sign in to comment.