The dock was designed from the beginning to be assembled at JLCPCB because of their low cost PCB assembly option. If you have not ordered from JLCPCB before, this guide will help you get started. There are two configurations you can build and some minor differences between them. The regular configuration is designed to be a complete replacement for the XG Station Pro main board and requires its proprietary power connector. It also supports USB charging and a 2-port USB hub. The lite version requires a standard ATX power supply and passes through the USB port to an external connection.
Hint: You should visit https://jlcpcb.com/coupon-center and clip the coupons to save on your order.
-
Download
GERBER-XG_Mobile_Dock[_Lite].zip
,CPL-XG_Mobile_Dock[_Lite].csv
, andBOM-XG_Mobile_Dock[_Lite].csv
from the latest release on GitHub. Choose the regular or lite variant depending on the build you want. Do not mix and match files. -
Visit https://cart.jlcpcb.com/quote and upload
GERBER-XG_Mobile_Dock[_Lite].zip
-
Fill the PCB options as follows (for each design)
Option Standard Lite Notes Base Material FR-4 FR-4 Layers 6 4 Dimensions Should be auto filled PCB Qty Any Any Product Type Industrial/Consumer Industrial/Consumer Different Design 1 1 Delivery Format Single PCB Single PCB PCB Thickness 1.6 1.6 PCB Color Any Any Green is cheapest Silkscreen White White Material Type FR4-Standard TG 135-140 FR-4 TG155 Surface Finish ENIG ENIG HASL (with lead) can be used in low volume runs for cost saving Outer Copper Weight 1 oz 1 oz Inner Copper Weight 0.5 oz 0.5 oz Specify Layer Sequence No No Impedance Control Yes Yes Layer Stackup JLC06161H-3313 JLC04161H-7628 Via Covering Epoxy Filled & Capped Plugged Min via hole size/diameter 0.3mm/(0.4/0.45mm) 0.3mm/(0.4/0.45mm) Board Outline Tolerance ±0.2mm(Regular) ±0.2mm(Regular) Confirm Production file No No Remove Order Number No No Flying Probe Test Fully Test Fully Test Gold Fingers No No 30° finger chamfered No No Castellated Holes No No Press-Fit Hole No No Edge Plating No No -
Check PCB Assembly and fill the following options
Option Low Volume High Volume Notes PCBA Type Economic Standard Economic saves on per-component cost Assembly Side Both Sides Both Sides Lite only needs top side PCBA Qty >= 2 >= 100 Edge Rails/Fiducials Added by JLCPCB Added by JLCPCB Confirm Parts Placement No No -
Press Continue or Next
-
Accept the board preview and press Next
-
Click "Add BOM File" and select your
BOM-XG_Mobile_Dock[_Lite].csv
-
Click "Add CPL File" and select your
CPL-XG_Mobile_Dock[_Lite].csv
-
Press "Process BOM & CPL" to continue (ignore any error about missing data)
-
Select the parts to pick by following the Parts Guide section below.
-
Press Next. If you chose to skip some parts you will get a confirmation pop-up where you can press "Do Not Place".
-
In the Component Placements screen, you can confirm the parts orientation. If there are any mis-rotated parts, click them and rotate it to the correct orientation. (e.g. the pin headers.) Press Next to continue.
-
Confirm the order details and for "Product Description" select "Reserch\Education\DIY\Entertainment -> DIY - HS Code 902300"
-
Press "Save to Cart".
Some parts may not be currently available in JLCPCB. This will be indicated with a red "xxx shortfall" text under the select column or they may appear on the bottom under unmatched parts. For each unavailable, part you need to manually order the part before you can order the assembled boards. It will typically take a few days to two weeks for the parts to arrive at JLCPCB.
- Locate the part number. If this is a shortfall part, click the row and then select "Part Info". Copy the "MFR.Part #". Also note the number required in the "Qty" column. This is the minimum number you need to buy. It may not always be possible to buy the exact number, so you may end up with extra parts. If this is an expensive part and you are cost conscious, consider buying some number of PCBs to get the number of missing parts to be an exact amount you can buy for all the missing parts. This will increase your total cost but decrease your per-unit cost.
- Order the Order Parts page: https://jlcpcb.com/user-center/smtPrivateLibrary/orderParts
- You have a choice between JLCPCB Parts or Global Sourcing Parts. JLCPCB Parts is recommended for cost and ease but not all parts will be available.
- First, try to search in JLCPCB Parts: paste the part number and search. If there are multiple results, click the one with the exact match on the part number. You will either see a box to type in the quantity or "Unavailable".
- If the part is available, type in the Qty from step 1 or the minimum shown above the box depending on which number is larger. Then click "Add to My Part Lib" and you can stop here and proceed with the next part. Once you have all the parts added, you can skip to part 8.
- If the part is unavailable, you will need to visit Global Sourcing Parts. Search for the part number found in step 1.
- You will be presented with a list of distributors. Some of these will be mismatches, check the number in bold above each table of distributors. This must be an exact match with your part number. Note the "Distributor Part #" may not match but that is okay. Each distributor has a minimum order quantity and a unit price breakdown. The easiest way to find the cheapest distributor is to enter your desired Qty from step 1 into each text box and look at the "Ext. Price" which is automatically calculated. Once you select a distributor, add the component to your cart. You can now repeat these steps for other missing parts.
- Once you have all the missing parts added, visit the Parts Cart and checkout your "JLCPCB Parts" and/or your "Global Sourcing Parts".
If you are ordering a low quantity (2-5 units) of PCBA boards and don't mind doing a bit of manual soldering with a heat gun or reflow oven, here's some tips you can follow.
- Choose Economic PCBA with Top Side for the lowest cost
- You can manually solder the capacitors on the bottom side
- Some "Extended" components incur a $3/component fee. For certain parts, this fee exceeds the cost of the components and so it may be cheaper to purchase these parts yourself and manually solder them. Some of these "Extended" components are actually "Preferred" and do not incur this cost.
- Some parts are unavailable at JLCPCB and will require pre-ordering or purchasing from Global Sourcing Parts which usually come with a handling fee and a minimum order quantity. It may make sense to purchase these yourself and manually solder them. This makes sense especially for the more expensive ICs where you can buy it cheaper from AliExpress than Global Sourcing Parts.
- If you do not need the USB hub, you can exclude much of the components supporting those and significantly reduce costs.
- If you do not need PWM fan support, you can exclude all of the Extended and Global Sourcing components for that.
- XG Mobile connector cable
- (Standard build only) SPI flasher is needed to program the firmware for the TI PD charger. You can also use a RaspberryPi with Flashrom for this purpose.
- ST-LINK v2 is needed to program the STM32 MCU. You can buy a cheap clone from AliExpress for under $10 but note that the pinout listing printed on the dongle may be incorrect.
Check the readme for directions on flashing.
To build the MCU, you need an GCC ARM toolchain. The easiest way is to install Homebrew and run brew install --cask gcc-arm-embedded
. Then you can run make
in the XG_Mobile_Dock_MCU
directory to build the MCU firmware.
Alternatively, if you want to build and develop the firmware, the easiest way is to install Visual Studio Code and the STM32 extension. Then you can open the project directory and run build and debug commands from the IDE.
- Download the TPS65982 Configuration Tool and install it.
- Project -> Load Project and select "xg_mobile_dock_charger.pjt". This will load the settings for this board.
- Binary -> Save Binary and check "Full Binary Image"
- Click "Change File" and save it as "XG_Mobile_Dock_Charger.bin".
- Press Ok and Ok to save the firmware image.
- Some flashers like Flashrom requires the image to be the same size as the flash device. You can run
dd if=/dev/zero of=XG_Mobile_Dock_Charger.bin bs=1 seek=1048575 count=1 conv=notrunc
to ensure this.
The standard build is designed to fit inside the XG Station Pro enclosure and replace the original board.
- Start by completely disassembling the XG Station Pro. Remove the top and side covers. Unscrew the right fan (the left fan does not block any other screws and does not have to be removed).
- Remove the GPU if connected.
- Unscrew the power adapter (3 screws) and lift the power adapter up and out. The connector may get caught on the fabric on the case so you might have to tilt it as you try to remove the board.
- Remove both fan connectors and the LED connector.
- Remove both PCIe power cables. Cut the zip ties which attaches the cable to the case.
- Unscrew the main board (8 screws) and lift the board out of the case. The USB connector is inset to the case and may require tilting the board 45 degrees before lifting it out of the case.
- Move the EMFI shielding from the original board's USB connectors and attach it to the new board.
- Insert the new board into the case (tilting it so the USB connectors go into the inset first) and makes sure it sits flush on top of the screw holes.
- Screw in the new board (6 screws, the 2 extra can be screwed in empty to prevent losing it).
- Connect the PCIe power cables, the fan connectors, the LED cable, and the power adapter.
- Connect the power adapter and screw it in (3 screws).
- Connect the XG Mobile cable (3 connectors) and then carefully fold the cable 180 degrees so the XGM connector is pointing towards the PCIe slot. You should fold the cable towards you as to not impede the PCIe slot with the cable. Do not attempt to force bend the cable as it may be damaged. The XGM connector can be threaded through the PCIe slot closest to the outside edge.
- Attach the ground pin to the board with the screw on the terminal.
- Insert the GPU to the board and connect the PCIe power cable(s). You may need to cut the mounting bracket of the GPU in order to make space for the XGM cable.