Skip to content

Commit f125faa

Browse files
authored
docs: DIY special edition (#10)
* docs: Add DIY-Special-edition instructions * feat: Revise infos about DIY special edition * docs: Extend info about the DIY special edition mod
1 parent cfd6fff commit f125faa

3 files changed

Lines changed: 208 additions & 7 deletions

File tree

DIY-Special-edition.md

Lines changed: 157 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,157 @@
1+
# ISD9160 - Component Stuffing Guide
2+
3+
This document details all components required to have custom audio functionality on Xbox One S/X and Series S/X non-limited-edition mainboards.
4+
See [Initial flashing of ISD9160](#reading-and-writing-the-chip-via-swd) when you are using a fresh ISD9160 chip (not salvaged from a Xbox console).
5+
6+
## Xbox One S
7+
8+
On this console revision the ISD9160 circuitry is located on the RF Unit.
9+
Speaker is connected via wires to the JST connector.
10+
11+
STL Models for a bracket (X360, possibly salvagable): <https://www.printables.com/model/189049-xbox-360-slim-speaker-clip>
12+
13+
> [!IMPORTANT]
14+
> Is the pitch for speaker connector correct?
15+
16+
### Bill of Materials (BOM)
17+
18+
| Reference | Qty | Package | Value | Component Type |
19+
| :----------------- | :-: | :--------- | :------------------| :--------------------- |
20+
| U4 | 1 | QFP48 | ISD9160 | Audio Codec IC |
21+
| R1 | 1 | 0402 | 10 kΩ | Resistor |
22+
| R29 | 1 | 0805 | 0 Ω | Resistor |
23+
| C7, C20, C35, C36 | 4 | 0805 | 10 μF | Capacitor |
24+
| | | | | |
25+
| J1 | 1 | JST | S2B-PH-K-S(LF)(SN) | Speaker Connector |
26+
| Speaker | 1 | ? | ? | Speaker |
27+
| C9, R6, R7, R22 | 4 | / | DNP | Do not place |
28+
29+
**TODO**: C2, C8, C11, C13, C15, C18, C30, C48 - 0402 - ?
30+
31+
**TODO**: Actual speaker with JST connector
32+
33+
34+
## Xbox One X
35+
36+
On this console revision the ISD9160 circuitry is located on the motherboard.
37+
Speaker is soldered onto the mainboard.
38+
39+
### Bill of Materials (BOM)
40+
41+
| Reference | Qty | Package | Value | Component Type | Note |
42+
| :----------------- | :-: | :--------- | :--------------- | :--------------------- | :------------------------- |
43+
| U43 | 1 | QFP48 | ISD9160 | Audio Codec IC | |
44+
| R499 | 1 | 0402 | 10 kΩ | Resistor | |
45+
| R505 | 1 | 0805 | 0 Ω | Resistor | |
46+
| C606, C626, C638 | 3 | 0402 | 0.1 μF | Capacitor | 10%, 16V, X5R |
47+
| C240, C619 | 2 | 0402 | 1 μF | Capacitor | 10%, 6.3V, X5R |
48+
| C618 | 1 | 0603 | 4.7 μF | Capacitor | 10%, 6.3V, X5R |
49+
| C607 | 1 | 0805 | 10 μF | Capacitor | 10%, 16V, X5R |
50+
| C623, C639, C640 | 3 | 0805 | 10 μF | Capacitor | 20%, 6.3V, X5R |
51+
| SPKR_2P | 1 | SMD, 18mm | CS18-01S100-05-1, 8Ω, 1W | Onboard speaker | MFR: Challenge Electronics |
52+
| R502, R508 | 2 | / | DNP | Do not place | |
53+
54+
## Xbox Series S
55+
56+
On this console revision the ISD9160 circuitry is located on the motherboard.
57+
Speaker is soldered onto the mainboard.
58+
59+
### Bill of Materials (BOM)
60+
61+
| Reference | Qty | Package | Value | Component Type | Note |
62+
| :-----------------| :-: | :--------- | :--------------------- | :--------------------- | :------------------ |
63+
| U49 | 1 | QFP48 | ISD9160 | Audio Codec IC | |
64+
| R499 | 1 | 0402 | 10 kΩ | Resistor | |
65+
| R505 | 1 | 0805 | 0 Ω | Resistor | |
66+
| C606, C626, C638 | 3 | 0201 | 0.1 μF | Capacitor | 10%, 16V, X5R |
67+
| C240 | 1 | 0201 | 1 μF | Capacitor | 20%, 10V, X5R |
68+
| C619 | 1 | 0402 | 1 μF | Capacitor | 10%, 10V, X5R |
69+
| C618 | 1 | 0402 | 4.7 μF | Capacitor | 20%, 10V, X5R |
70+
| C623, C639, C640 | 3 | 0402 | 10 μF | Capacitor | 20%, 6.3V, X5R |
71+
| C607 | 1 | 0603 | 10 μF | Capacitor | 20%, 16V, X5R |
72+
| SPKR_2P | 1 | SMD, 18mm | CSMS18S4.8-8S0.3-P580F, 8Ω, 0.3W | Onboard speaker | MFR: Chinasound |
73+
| R502, R508 | 2 | / | DNP | Do not place | |
74+
75+
76+
## Xbox Series X
77+
78+
On this console revision the ISD9160 circuitry is located on the motherboard.
79+
Speaker is soldered onto the mainboard.
80+
81+
### Bill of Materials (BOM)
82+
83+
| Reference | Qty | Package | Value | Component Type | Note |
84+
| :-----------------| :-: | :--------- | :------------------------------- | :----------------- | :------------------ |
85+
| U49 | 1 | QFP48 | ISD9160 | Audio Codec IC | |
86+
| R240 | 1 | 0402 | 10 kΩ | Resistor | |
87+
| R115 | 1 | 0805 | 0 Ω | Resistor | |
88+
| C157, C179, C181 | 3 | 0201 | 0.1 μF | Capacitor | 10%, 16V, X5R |
89+
| C146, C293 | 2 | 0201 | 1 μF | Capacitor | 20%, 6.3V, X5R |
90+
| C295 | 1 | 0402 | 4.7 μF | Capacitor | 20%, 10V, X5R |
91+
| C170, C176, C177 | 3 | 0402 | 10 μF | Capacitor | 20%, 6.3V, X5R |
92+
| C171 | 1 | 0603 | 10 μF | Capacitor | 20%, 16V, X5R |
93+
| SPKR_2P | 1 | SMD, 18mm | CSMS18S4.8-8S0.3-P580F, 8Ω, 0.3W | Onboard speaker | MFR: Chinasound |
94+
| R124, R126 | 2 | / | DNP | Do not place | |
95+
96+
97+
## Reading and Writing the chip via SWD
98+
99+
> [!NOTE]
100+
> This section is a copy from [XOSFT wiki](https://xboxoneresearch.github.io/wiki/hardware/rf-unit/#reading-and-writing-the-chip-via-swd-recovery)
101+
102+
Alternatively to I2C, the ARM SWD protocol can be used to read/write the chip.
103+
104+
Requirements:
105+
106+
Software
107+
108+
- Linux
109+
- OpenOCD build, patched for ISD9160 support (see https://github.com/xboxoneresearch/DuRFUnitI2C/releases/tag/openocd_build)
110+
- Debugprobe firmware for PiPico (debugprobe_on_pico/2.uf2) - https://github.com/raspberrypi/debugprobe/releases
111+
112+
Hardware
113+
114+
- Raspberry Pi Pico/2
115+
- Soldering equipment
116+
- Sharp tweezers
117+
118+
By default, the required pins on the IC are bridged on the RF Unit PCB. To enable usage of SWD, a trace needs to be cut, using pointy tweezers for example.
119+
120+
Make sure to use a multimeter to confirm the trace was cut properly.
121+
122+
![RF Unit SWD](./rf_unit_swd.jpg)
123+
124+
Steps:
125+
126+
- Do the trace-cut mentioned above
127+
- Flash debugprobe firmware on Pi Pico/2
128+
- Connect Pi Pico to ISD9160 SWD pins (see https://mcuoneclipse.com/2022/09/17/picoprobe-using-the-raspberry-pi-pico-as-debug-probe/), 3V3 and GND
129+
- Now extract and start OpenOCD
130+
131+
```
132+
tar xvf openocd_isd9160.tar.gz
133+
cd openocd_isd9160/
134+
./bin/openocd -f ./share/openocd/scripts/interface/cmsis-dap.cfg -f ./share/openocd/scripts/target/numicro.cfg
135+
```
136+
137+
- In another terminal window connect via telnet
138+
139+
```
140+
telnet localhost 4444
141+
```
142+
143+
- First, dump the original `APROM` firmware
144+
145+
```
146+
flash read_bank 0 aprom_original.bin
147+
```
148+
149+
- Now, erase the bank and write new `APROM` firmware
150+
151+
```
152+
flash erase_sector 0 0 last
153+
flash write_bank 0 aprom_new.bin
154+
```
155+
156+
- Profit
157+

README.md

Lines changed: 51 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -6,14 +6,33 @@
66

77
Tools for Xbox One RF Unit flash dumping, writing, and firmware editing with custom audio.
88

9-
> [!WARNING]
10-
> Use at your own risk!
11-
129
> [!IMPORTANT]
10+
> Check out [Compatibility](#compatibility) section!
11+
12+
13+
> [!NOTE]
1314
> Download the latest release from the [Releases page](https://github.com/xboxoneresearch/DuRFUnitI2C/releases)
1415
1516
**Technical documentation**: [Xbox One RF Unit Hardware](https://xboxoneresearch.github.io/wiki/hardware/rf-unit/)
1617

18+
## Compatibility
19+
20+
| Console | Works Out-of-the-Box | DIY Mod Required |
21+
|---------|:--------------------:|:----------------:|
22+
| Xbox One PHAT (special edition) |||
23+
| Xbox One PHAT (standard) |||
24+
| Xbox One S |||
25+
| Xbox One X |||
26+
| Xbox Series S |||
27+
| Xbox Series X |||
28+
29+
Consoles requiring the DIY mod need the ISD9160 and supporting passive components soldered on. See [DIY Special Editions](./DIY-Special-edition.md) for the full bill of materials and instructions.
30+
31+
> [!NOTE]
32+
> **Fresh vs. salvaged ISD9160 chips:**
33+
> - **Salvaged chips** (removed from special-edition Xbox consoles) already contain firmware and can be flashed directly via I2C.
34+
> - **Fresh/new chips** (purchased new) have no firmware and must be programmed via SWD before I2C flashing is possible. See [ISD9160 Initial Flashing](./DIY-Special-edition.md#reading-and-writing-the-chip-via-swd).
35+
1736
## Features
1837

1938
- **RFUnit Tool**: Play sounds, dump flash, write flash
@@ -22,7 +41,7 @@ Tools for Xbox One RF Unit flash dumping, writing, and firmware editing with cus
2241
## Requirements
2342

2443
**Hardware:**
25-
- Xbox One PHAT or One S RF Unit board
44+
- Compatible RF Unit or Xbox motherboard (see [Compatibility](#compatibility))
2645

2746
**I2C Interface Device (choose one):**
2847
- GreatFET One board
@@ -35,9 +54,25 @@ Tools for Xbox One RF Unit flash dumping, writing, and firmware editing with cus
3554

3655
## Quick Start
3756

38-
**For Other Devices:**
39-
1. Wire I2C connections (see [Hardware Connections](#hardware-connections) section)
40-
2. Use GUI or CLI tool (see [Usage](#usage) section)
57+
### Salvaged Chip Workflow
58+
59+
Use this path if your ISD9160 was removed from a special-edition Xbox console and already has firmware on it.
60+
61+
1. Perform the [DIY mod](./DIY-Special-edition.md) — solder the ISD9160 and supporting components
62+
2. Wire I2C connections (see [Hardware Connections](#hardware-connections))
63+
3. Dump or write firmware using the GUI or CLI tool (see [Usage](#usage))
64+
4. Power cycle the console and press the Xbox button to verify the sounds play
65+
66+
### Fresh Chip Workflow
67+
68+
Use this path if your ISD9160 was purchased new and has no firmware.
69+
70+
1. Perform the [DIY mod](./DIY-Special-edition.md) — solder the ISD9160 and supporting components
71+
2. **Cut the solder bridge between SWDIO and SWCLK** to allow programming via SWD
72+
3. Flash initial firmware via SWD (see [ISD9160 Initial Flashing](./DIY-Special-edition.md#reading-and-writing-the-chip-via-swd))
73+
4. Wire I2C connections (see [Hardware Connections](#hardware-connections))
74+
5. Write your custom firmware using the GUI or CLI tool (see [Usage](#usage))
75+
6. Power cycle the console and press the Xbox button to verify the sounds play
4176

4277
## Hardware Connections
4378

@@ -60,6 +95,12 @@ Tools for Xbox One RF Unit flash dumping, writing, and firmware editing with cus
6095

6196
### Direct Xbox Motherboard (FACET) Connections
6297

98+
Required for the following console revisions:
99+
100+
- Xbox One X
101+
- Xbox Series S
102+
- Xbox Series X
103+
63104
See [FACET Hardware Documentation](https://xboxoneresearch.github.io/wiki/hardware/facet/)
64105

65106
**Important:**
@@ -77,6 +118,9 @@ See [FACET Hardware Documentation](https://xboxoneresearch.github.io/wiki/hardwa
77118
**Pi Pico Connection - Xbox One S:**
78119
![Pi Pico RF Unit connection diagram One S](./pi_pico_diagram_one_s.png)
79120

121+
> [!TIP]
122+
> For playback testing after flashing new firmware (on Xbox One S/X), supply both **3.3V** (ISD9160 logic) and **5V** (speaker amplifier) to the RF unit. Using only 3.3V will result in no audio output from the speaker.
123+
80124
## Usage
81125

82126
### Installation

rf_unit_swd.jpg

300 KB
Loading

0 commit comments

Comments
 (0)