Skip to content

Commit

Permalink
Updated documentation
Browse files Browse the repository at this point in the history
  • Loading branch information
osy committed Aug 4, 2024
1 parent 786a6d9 commit 298db1b
Show file tree
Hide file tree
Showing 3 changed files with 15 additions and 10 deletions.
13 changes: 6 additions & 7 deletions Docs/Build_Guide.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
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. This will be indicated in the notes. If you wish to replace the board for the XG Station Pro eGPU enclosure, follow the notes regarding XGM Station builds. If you wish to build the board standalone or for a custom enclosure, follow the notes regarding XGM Dock builds.
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. This will be indicated in the notes. If you wish to replace the board for the XG Station Pro eGPU enclosure, follow this guide. **[If you wish to build a standalone board that runs on a standard ATX power supply, follow the guide linked here.](https://github.com/osy/XG_Mobile_Station/blob/atx-powered/Docs/Build_Guide.md)**

Some options differ for low volume (<= 10) and high volume (>= 100) orders. This is because for low volume, we will optimize for cost and for high volume, we care about reliability (the per-unit cost of some options are reduced at high quantity). If you are ordering some number of units in between, use your best judgment. Note that Economic PCBA is cost effective for low volume because the per-component feeder loading fee is waived for basic components while at high volumes, the per-unit cost of this fee is negligible.

Expand Down Expand Up @@ -61,9 +61,9 @@ Some options differ for low volume (<= 10) and high volume (>= 100) orders. This
## Parts Guide

### Power Connector
For XGM Station, you will need part `5-5530843-0` to connect the power board header. For XGM Dock, you will need part `PJ-096H` to connect a barrel jack. In the Bill of Materials screen when placing the PCBA order, you will check the right part if you want to save some money. If you do not know which configuration you will end up using or if you plan to resell it for both configurations, you can check both connectors (just be sure not to plug in both power inputs at once).
For XGM Station, you will need part `5-5530843-0` to connect the power board header. To test this board without an XG Station Pro power supply, you will need part `PJ-096H` to connect a barrel jack. In the Bill of Materials screen when placing the PCBA order, you will check the right part if you want to save some money. If you do not know which configuration you will end up using or if you plan to resell it for both configurations, you can check both connectors (just be sure not to plug in both power inputs at once).

| Designator | XGM Station | XGM Dock | Flexible |
| Designator | For XG Station PSU | No XG Station PSU | Flexible |
|------------|-------------|----------|----------|
| J7 || ||
| J16 | |||
Expand All @@ -85,8 +85,8 @@ The following parts do not have a JLCPCB Part # yet and must be bought from Glob

| Designator | Part Number | Note |
|------------|-------------|--------------------------------------------------------------------------------|
| J7 | 5-5530843-0 | Only for XGM Station builds |
| J16 | PJ-096H | Only for XGM Dock builds |
| J7 | 5-5530843-0 | XG Station Pro PSU connector |
| J16 | PJ-096H | Only to test without PSU |
| J17 | 8730 | Search "TERM BINDING POST M2.5 1 PIN PCB" in Global Parts Sourcing to find it. |

### Cost Reduction
Expand All @@ -99,8 +99,7 @@ If you are ordering a low quantity (2-5 units) of PCBA boards and don't mind doi

## Additional Parts
* [XG Mobile connector cable](https://www.a-accessories.com/asus-connection-cable-62505-79153.htm)
* A DC7450 connector power supply if for XGM Dock builds ([e.g. Dell 330W](https://www.dell.com/en-us/shop/dell-330w-74mm-ac-adapter/apd/450-bbqg/pc-accessories))
* M2.5 screw is highly recommended to secure the cable to the board (through the post in J17).
* A DC7450 connector power supply if you do not have an XG Station Pro PSU and built the board with the barrel jack connector ([e.g. Dell 330W](https://www.dell.com/en-us/shop/dell-330w-74mm-ac-adapter/apd/450-bbqg/pc-accessories))
* SPI flasher is needed to program the firmware for the TI PD charger. You can also use a RaspberryPi with [Flashrom](https://wiki.flashrom.org/RaspberryPi) 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.

Expand Down
8 changes: 7 additions & 1 deletion Docs/Diary.md
Original file line number Diff line number Diff line change
Expand Up @@ -75,6 +75,12 @@ A side-note on the USB charger: To control the output voltage of the buck, a vol
Once the software workarounds was applied, the ROG Ally finally was able to recognize the PCIe graphics card! The RTX 3060 Ti was recognized but it threw an error 43 and no display was detected. Fortunately, this is a well known issue in eGPU world and the [workaround](https://egpu.io/nvidia-error43-fixer) is easy to use. With the workaround, we were able to get the display to work. But, fixing device detection on reboot took [another week of effort](MCU.md#embedded-controller).

### Rev. 4
This revision fixed the MOSFET issue and also switched the PCIe connector from through-hole to SMD which is both better for signal integrity and also makes the assembly cost much lower.
This revision fixed the MOSFET issue and also switched the PCIe connector from through-hole to SMD which is both better for signal integrity and also makes the assembly cost much lower. An unexpected side-effect of the better signal integrity is that, without any additional changes, we are able to get PCIe 4.0 speeds!

[![Board rev 4](images/board_v4.png)](images/board_v4.png)

Through extensive testing, we found an issue with the USB PD circuit. If the external power is disconnected while the XGM connector is engaged, the +3V3 rail loses power and therefore the SPI flash loses power. The TI PD chip resets and draws power from the Ally. Since it is not able to read the firmware settings from SPI, it falls back to the default which is to negotiate a power sink role and now the Ally is powering the board. This is undesirable because it could drain the battery. The recommended layout from TI is that the SPI flash is powered by LDO_3V3 output from the TI chip and so we changed the design follow this recommendation.

Another issue discovered was that devices plugged into the USB hub would be disconnected after a few seconds and proceed to go into a detection and disconnect loop. When debugging this issue we found that the cause for this disconnect loop was the +1V0 rail was falling and then coming back up. This was an issue with the LDO and upon close reading of the data sheet we learned that it was overheating and going through thermal shutdown. Once the device cooled down, it reset, then overheats again, and so on. To confirm that overheating was the issue, we used some compressed air to cool the LDO during operation and found the disconnect issue no longer occurs spontaneously. However, when plugging in two devices, disconnection shows up again. We suspect that the LDO was also going into overcurrent protection as well. Since there was no public datasheet available for the VIA USB hub IC, we looked at schematics of other designs online and used a 300mA LDO because that is what others have used. However, upon measuring the current with an ammeter, we found that it can hit above 300mA at peaks. The final solution is to select a 500mA LDO to handle the maximum current and we also chose a physically larger component which should have better heat dissipation. Finally, we increased the copper contact area under the LDO as well.

[![Board current measurement](images/current_measure.jpg)](images/current_measure.jpg)
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,8 +5,8 @@ XG Mobile Station
This open source hardware allows you to connect any PCIe card to an ASUS ROG device with the XG Mobile connector. It is intended to be a drop-in replacement PCB for the [XG Station Pro Thunderbolt 3 eGPU dock][1] but can also be used standalone with an external power adapter.

## Features
* PCIe 3.0 x8 support for 2022/2023 ROG Flow
* PCIe 3.0 x4 support for 2023 ROG Ally
* PCIe 4.0 x8 support for 2022/2023 ROG Flow
* PCIe 4.0 x4 support for 2023 ROG Ally
* MCU handling cable detection and LEDs
* 100W USB PD charger
* 2 USB-C ports connected to a USB 3.1 Gen 2 hub
Expand Down

0 comments on commit 298db1b

Please sign in to comment.