diff --git a/src/SUMMARY.md b/src/SUMMARY.md
index af189370..0f2f2368 100644
--- a/src/SUMMARY.md
+++ b/src/SUMMARY.md
@@ -56,6 +56,8 @@
- [Internal Overview](models/pang15/internal-overview.md)
- [Parts & Repairs](models/pang15/repairs.md)
- [Serval WS (serw14)](models/serw14/README.md)
+ - [External Overview](models/serw14/external-overview.md)
+ - [Internal Overview](models/serw14/internal-overview.md)
- [Parts & Repairs](models/serw14/repairs.md)
- [Thelio (thelio-r3-n1)](models/thelio-r3-n1/README.md)
- [External Overview](models/thelio-r3-n1/external-overview.md)
diff --git a/src/models/serw14/README.md b/src/models/serw14/README.md
index 25bdcb90..947c2493 100644
--- a/src/models/serw14/README.md
+++ b/src/models/serw14/README.md
@@ -1,5 +1,9 @@
# Serval WS (serw14)
+- [External Overview](./external-overview.md)
+- [Internal Overview](./internal-overview.md)
+- [Parts & Repairs](./repairs.md)
+

The System76 Serval WS is a laptop with the following specifications:
@@ -10,7 +14,8 @@ The System76 Serval WS is a laptop with the following specifications:
- Chipset
- [Intel HM870](https://www.intel.com/content/www/us/en/products/sku/240123/intel-hm870-chipset/specifications.html)
- BIOS
- - Macronix MX25U25671GZ4I4G flash chip
+ - Flash chip:
+ - XMC XM25QU256C, GigaDevice GD25LB256FYIG, or equivalent
- WSON-8 form factor
- Programmed with System76 firmware (non-open)
- EC
@@ -20,7 +25,7 @@ The System76 Serval WS is a laptop with the following specifications:
- GPU options:
- NVIDIA GeForce RTX 5070 Ti
- eDP display: 16" 2560x1600@240Hz LCD
- - LCP panel: BOE NE160QAM-NZ1 (or equivalent)
+ - LCD panel: BOE NE160QAM-NZ1 (or equivalent)
- Brightness: 500 nits (cd/m²)
- Color coverage:
- DCI-P3: 100%
@@ -38,7 +43,9 @@ The System76 Serval WS is a laptop with the following specifications:
- Power
- 230W (20V, 11.5A) DC-in port
- Barrel size: 5.5mm (outer), 2.5mm (inner)
+ - Included AC adapter: FSP FSP230-ACBS3
- 80Wh 8-cell Lithium-Ion battery
+ - Model number: X560BAT-4-80
- Sound
- Internal speakers & microphone
- Combined headphone & microphone 3.5mm jack
diff --git a/src/models/serw14/external-overview.md b/src/models/serw14/external-overview.md
new file mode 100644
index 00000000..bf18addf
--- /dev/null
+++ b/src/models/serw14/external-overview.md
@@ -0,0 +1,72 @@
+# Serval WS (External Overview)
+
+## Left side:
+
+
+
+## Right side:
+
+
+
+## Front side:
+
+
+
+## Back side:
+
+
+
+## Keyboard & touchpad:
+
+
+
+## Lid:
+
+
+
+## Materials:
+
+|Part |Material | Part Number |
+|----------------------------------|---------|----------------|
+|LCD back cover (lid) |Aluminum | 6-39-X5601-022 |
+|LCD front cover (bezel) |Plastic | 6-39-X5601-012 |
+|Top case (palm rests/port covers) |Aluminum | 6-39-X5602-012 |
+|Bottom panel |Aluminum | 6-39-X5603-012 |
+
+## LED indicators
+
+The Serval WS has the following LED indicators:
+
+|Icon |Color |Description |
+|----------------------------------------|---------------|---------------------------------|
+| |Orange |Powered off, DC power plugged in |
+| |Green |Powered on |
+| |Blinking green |Sleeping (suspended) |
+| |Orange |Battery charging |
+| |Green |Battery fully charged |
+| |Blinking orange|Battery critically low |
+| |Green |Storage drive activity |
+
+### Keyboard Shortcuts
+
+The Serval WS has the following actions available using the Fn and Function keys:
+
+|Key |Shortcut|Action |
+|---------------------------|--------|-----------------------------------|
+| |Fn+F1 |Toggle trackpad |
+| |Fn+F2 |Toggle microphone mute |
+| |Fn+F3 |Mute |
+| |Fn+F5 |Volume down |
+| |Fn+F6 |Volume up |
+| |Fn+F7 |Toggle displays |
+| |Fn+F8 |Screen brightness down |
+| |Fn+F9 |Screen brightness up |
+||Fn+F10 |Toggle webcam |
+||Fn+F11 |Toggle airplane mode |
+||Fn+F12 |Suspend |
+||Fn+` |Play/Pause |
+| |Fn+* |Toggle keyboard backlight |
+||Fn+/ |Cycle keyboard color |
+||Fn+- |Decrease keyboard brightness |
+| |Fn++ |Increase keyboard brightness |
+|1 |Fn+1 |Toggle fan between max/automatic |
diff --git a/src/models/serw14/img/battery.webp b/src/models/serw14/img/battery.webp
new file mode 100644
index 00000000..05aca95f
--- /dev/null
+++ b/src/models/serw14/img/battery.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ca06a3e09bce0e93eea9546f9d3ff51b4890e405f2f687adfa95923755d5ee2b
+size 746666
diff --git a/src/models/serw14/img/bottom-panel-screws.webp b/src/models/serw14/img/bottom-panel-screws.webp
new file mode 100644
index 00000000..28df4c0c
--- /dev/null
+++ b/src/models/serw14/img/bottom-panel-screws.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1140d511d23e1f4eab513e4bbafbd63816944cbf75bd5d093ca6620fdb8c91ef
+size 831734
diff --git a/src/models/serw14/img/cmos-battery.webp b/src/models/serw14/img/cmos-battery.webp
new file mode 100644
index 00000000..19f6e8af
--- /dev/null
+++ b/src/models/serw14/img/cmos-battery.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3b690b4c3b781f5b7f8ffcbf76ad07e41455a26ad367ddd8da46a555848d0a47
+size 916626
diff --git a/src/models/serw14/img/components-highlighted.webp b/src/models/serw14/img/components-highlighted.webp
new file mode 100644
index 00000000..bc972df7
--- /dev/null
+++ b/src/models/serw14/img/components-highlighted.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2cd822aae619baf6cdb2c51822b68719c77927395a19851b2683862840352c59
+size 974940
diff --git a/src/models/serw14/img/fn-dia.jpg b/src/models/serw14/img/fn-dia.jpg
new file mode 100644
index 00000000..bd4d6084
--- /dev/null
+++ b/src/models/serw14/img/fn-dia.jpg
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1d82925430d49e2479de83103490b61a43e08e2e455142d52e184dbde2935a3b
+size 820
diff --git a/src/models/serw14/img/fn-f1.png b/src/models/serw14/img/fn-f1.png
new file mode 100644
index 00000000..8adb6b7c
--- /dev/null
+++ b/src/models/serw14/img/fn-f1.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:d17a59a7a9ef0b23e92c9317ab414e3f90e9ba8239e18c6ded06364778d9d36f
+size 998
diff --git a/src/models/serw14/img/fn-f10.png b/src/models/serw14/img/fn-f10.png
new file mode 100644
index 00000000..216187f9
--- /dev/null
+++ b/src/models/serw14/img/fn-f10.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8a8b6b140613288b84a5d687a484edc1c31a962f14f69a89528d7819e42d11cc
+size 650
diff --git a/src/models/serw14/img/fn-f11.png b/src/models/serw14/img/fn-f11.png
new file mode 100644
index 00000000..10215d7e
--- /dev/null
+++ b/src/models/serw14/img/fn-f11.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:37c1ad28024da356a5423da99d92439101635f040895970fc70f9004795c7386
+size 783
diff --git a/src/models/serw14/img/fn-f12.png b/src/models/serw14/img/fn-f12.png
new file mode 100644
index 00000000..0a7f336a
--- /dev/null
+++ b/src/models/serw14/img/fn-f12.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:8fe27e06755900e966eb44ecc5ed173cd5a9bc1b3be233138baecde53f6ff129
+size 1141
diff --git a/src/models/serw14/img/fn-f2.png b/src/models/serw14/img/fn-f2.png
new file mode 100644
index 00000000..4e5edeea
--- /dev/null
+++ b/src/models/serw14/img/fn-f2.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b6e4ea5ef18c301f4cae75178556f26f0c95492d0dbef48a0aed529d4d587b51
+size 1653
diff --git a/src/models/serw14/img/fn-f3.png b/src/models/serw14/img/fn-f3.png
new file mode 100644
index 00000000..b06cecb3
--- /dev/null
+++ b/src/models/serw14/img/fn-f3.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:dc180e350ec699931772797a9e2bc9d6a847a6892257690fd79ecbe90802fb3a
+size 1187
diff --git a/src/models/serw14/img/fn-f5.png b/src/models/serw14/img/fn-f5.png
new file mode 100644
index 00000000..927a5f9f
--- /dev/null
+++ b/src/models/serw14/img/fn-f5.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:456571f7615d84254f76c663f1c1b507c9cf8517ece8833e167d52f7d334a9f9
+size 1044
diff --git a/src/models/serw14/img/fn-f6.png b/src/models/serw14/img/fn-f6.png
new file mode 100644
index 00000000..9cebdf00
--- /dev/null
+++ b/src/models/serw14/img/fn-f6.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3554a1560a73fd843265459c5ab6d12c77628ec23bb1c9f94c9947d7a514e559
+size 1156
diff --git a/src/models/serw14/img/fn-f7.png b/src/models/serw14/img/fn-f7.png
new file mode 100644
index 00000000..fe700502
--- /dev/null
+++ b/src/models/serw14/img/fn-f7.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2feb5bab13d71c66c70471ef4cdcc2b9485f575aca82c2b62bfc0a2093c19ab0
+size 354
diff --git a/src/models/serw14/img/fn-f8.png b/src/models/serw14/img/fn-f8.png
new file mode 100644
index 00000000..6b6c3999
--- /dev/null
+++ b/src/models/serw14/img/fn-f8.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:221af309ec9caaffd6e415121ba6c4816178972b2bc8d52faaed447192a17ed3
+size 843
diff --git a/src/models/serw14/img/fn-f9.png b/src/models/serw14/img/fn-f9.png
new file mode 100644
index 00000000..a29b0ea4
--- /dev/null
+++ b/src/models/serw14/img/fn-f9.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:866fd726774649349fabe4d88965c93ae6fafaa228afcb6ac0aaecba6f114e33
+size 870
diff --git a/src/models/serw14/img/fn-minus.png b/src/models/serw14/img/fn-minus.png
new file mode 100644
index 00000000..f1e1a44f
--- /dev/null
+++ b/src/models/serw14/img/fn-minus.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:fba5ac94f396df821227c2661fbfed2fd5a6459e9e888c053d7b7d6eb314312f
+size 996
diff --git a/src/models/serw14/img/fn-plus.png b/src/models/serw14/img/fn-plus.png
new file mode 100644
index 00000000..54ed4ea3
--- /dev/null
+++ b/src/models/serw14/img/fn-plus.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:6d1d4cad6dae0e59496455dcd4db34223a305c8b82a14c0657cb39847725c1c7
+size 1026
diff --git a/src/models/serw14/img/fn-slash.png b/src/models/serw14/img/fn-slash.png
new file mode 100644
index 00000000..1d7559cf
--- /dev/null
+++ b/src/models/serw14/img/fn-slash.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:21b29c62d33a70adb4c2297ee8e02cd449e8d3f62729b230cb605f96518f5488
+size 1304
diff --git a/src/models/serw14/img/fn-star.png b/src/models/serw14/img/fn-star.png
new file mode 100644
index 00000000..93638652
--- /dev/null
+++ b/src/models/serw14/img/fn-star.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:74c92304ad9330ac5a7338efd17f70571211a0fbd490c204b7bfd8ccea88010a
+size 1035
diff --git a/src/models/serw14/img/keyboard-adhesive.webp b/src/models/serw14/img/keyboard-adhesive.webp
new file mode 100644
index 00000000..0492814b
--- /dev/null
+++ b/src/models/serw14/img/keyboard-adhesive.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:3f11df61e37032e3036d68ad23bdc1e89be847a21ed28ea0d2f1050927e12d90
+size 903324
diff --git a/src/models/serw14/img/keyboard-push-point.webp b/src/models/serw14/img/keyboard-push-point.webp
new file mode 100644
index 00000000..6cf8fe81
--- /dev/null
+++ b/src/models/serw14/img/keyboard-push-point.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:04ca611be7ff64a31966c12028b8984597207694d05b48f6bcd99579f6a6a8e0
+size 293414
diff --git a/src/models/serw14/img/keyboard-ribbons.webp b/src/models/serw14/img/keyboard-ribbons.webp
new file mode 100644
index 00000000..b6038c06
--- /dev/null
+++ b/src/models/serw14/img/keyboard-ribbons.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:ac8212a2d42851331035383cc93d85f79b6d71d34730695d0b1375647af3c1e6
+size 487718
diff --git a/src/models/serw14/img/keyboard-touchpad.webp b/src/models/serw14/img/keyboard-touchpad.webp
new file mode 100644
index 00000000..38b1308f
--- /dev/null
+++ b/src/models/serw14/img/keyboard-touchpad.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b03a7e91670b0990de97850e11d0f5b196b5fa8c2a7221b9e0480bd3dd760fa8
+size 100266
diff --git a/src/models/serw14/img/lid.png b/src/models/serw14/img/lid.png
new file mode 100644
index 00000000..f705f4ac
--- /dev/null
+++ b/src/models/serw14/img/lid.png
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:448cec212e3812c3f81732432ec2d50e1f6b63d57f73cd8f495b821b49822341
+size 444972
diff --git a/src/models/serw14/img/m2-slots.webp b/src/models/serw14/img/m2-slots.webp
new file mode 100644
index 00000000..163e584c
--- /dev/null
+++ b/src/models/serw14/img/m2-slots.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:a7f28d5748a86a1adfed5c48400c3915e830b56bd9341a032bec6f8f48310061
+size 844468
diff --git a/src/models/serw14/img/ports-back.webp b/src/models/serw14/img/ports-back.webp
new file mode 100644
index 00000000..4020a8fd
--- /dev/null
+++ b/src/models/serw14/img/ports-back.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:33aacd241231b995e23dbe6e1a9e1d49636cf6607f28411d6291ef270f8314ab
+size 90216
diff --git a/src/models/serw14/img/ports-front.webp b/src/models/serw14/img/ports-front.webp
new file mode 100644
index 00000000..cd9e1152
--- /dev/null
+++ b/src/models/serw14/img/ports-front.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2c45d7fef38ea28647418f6bd1b49913cd5dbb2c5bc057eaeb32cff20cb19f24
+size 51140
diff --git a/src/models/serw14/img/ports-left.webp b/src/models/serw14/img/ports-left.webp
new file mode 100644
index 00000000..24e384c2
--- /dev/null
+++ b/src/models/serw14/img/ports-left.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:755bf9ab35e72ce35d8be73e09eba3a81e713d2dd6224974c5e06263034bdcae
+size 105974
diff --git a/src/models/serw14/img/ports-right.webp b/src/models/serw14/img/ports-right.webp
new file mode 100644
index 00000000..c0214dc1
--- /dev/null
+++ b/src/models/serw14/img/ports-right.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:7181983e17f8c27687127c6760e9b686d3066ddf7c0ea465a42c910f8fe965c7
+size 120360
diff --git a/src/models/serw14/img/ram-slots.webp b/src/models/serw14/img/ram-slots.webp
new file mode 100644
index 00000000..eabef562
--- /dev/null
+++ b/src/models/serw14/img/ram-slots.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:63273c6b1fcfe8e21dcc8b0a1e8e62e371567d1e7773880b8e48ced205ea2b8c
+size 776788
diff --git a/src/models/serw14/img/speaker-left.webp b/src/models/serw14/img/speaker-left.webp
new file mode 100644
index 00000000..be911ed9
--- /dev/null
+++ b/src/models/serw14/img/speaker-left.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:cd5481f0b902c1f29e3fbda0854ad43ec1f7cb15a88c65648c4175312fab0e13
+size 936134
diff --git a/src/models/serw14/img/speaker-right.webp b/src/models/serw14/img/speaker-right.webp
new file mode 100644
index 00000000..76f102de
--- /dev/null
+++ b/src/models/serw14/img/speaker-right.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:bba1dfb1a2bbfeacd0859edb1dad19330da69e55861f1e639f95224171a1f389
+size 566080
diff --git a/src/models/serw14/img/thermal-paste-application.webp b/src/models/serw14/img/thermal-paste-application.webp
new file mode 100644
index 00000000..e39d7edc
--- /dev/null
+++ b/src/models/serw14/img/thermal-paste-application.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:88d493d65ea024c8228ad4348580fc29eab97ab1fc4e64c8674f9e013cb2c4d2
+size 964530
diff --git a/src/models/serw14/img/thermal-paste-removal.webp b/src/models/serw14/img/thermal-paste-removal.webp
new file mode 100644
index 00000000..89934665
--- /dev/null
+++ b/src/models/serw14/img/thermal-paste-removal.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:b8db69b2a078f8076155f3c5ea1a51889ab006acde00f5451388cdd37c806a8e
+size 979024
diff --git a/src/models/serw14/img/thermal-screws.webp b/src/models/serw14/img/thermal-screws.webp
new file mode 100644
index 00000000..aeea4c01
--- /dev/null
+++ b/src/models/serw14/img/thermal-screws.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:1e5187a734d3cf735e9e2d64c8d8e5adc765416a2dbbb91b5b3b92cac6a6d784
+size 840766
diff --git a/src/models/serw14/img/under-keyboard.webp b/src/models/serw14/img/under-keyboard.webp
new file mode 100644
index 00000000..9020d687
--- /dev/null
+++ b/src/models/serw14/img/under-keyboard.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:2481ea0e0715ae502566580764f371a3bd79b930b450ab81ac00ef92368e7e0c
+size 920550
diff --git a/src/models/serw14/img/wireless-card-antennas.webp b/src/models/serw14/img/wireless-card-antennas.webp
new file mode 100644
index 00000000..5c8e31a1
--- /dev/null
+++ b/src/models/serw14/img/wireless-card-antennas.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:57a4a104924f64560e7fde6a09cb77b343279fecb85552ef2c05b9db940be2dc
+size 923694
diff --git a/src/models/serw14/img/wireless-card-screw.webp b/src/models/serw14/img/wireless-card-screw.webp
new file mode 100644
index 00000000..52f31a35
--- /dev/null
+++ b/src/models/serw14/img/wireless-card-screw.webp
@@ -0,0 +1,3 @@
+version https://git-lfs.github.com/spec/v1
+oid sha256:35047997fa05ac23d86644e1b60d7688d1a0d869f7c9ffea38f615293303ed36
+size 650076
diff --git a/src/models/serw14/internal-overview.md b/src/models/serw14/internal-overview.md
new file mode 100644
index 00000000..ac645a58
--- /dev/null
+++ b/src/models/serw14/internal-overview.md
@@ -0,0 +1,29 @@
+# Serval WS (Internal Overview)
+
+## Bottom components and connectors:
+
+
+
+- LCD panel connector (under the heatsink) is highlighted in light green
+- Webcam/microphone connector (under the heatsink) is highlighted in brown
+- Keyboard adhesive access point is highlighted in pink
+- M.2 SSDs are highlighted in dark green
+ - Slot 1 (closest to the fan) supports PCIe NVMe Gen 5
+ - Slots 2 and 3 (closest to the battery) support PCIe NVMe Gen 4
+- Wireless card (under SSD slot 4) is highlighted in cyan
+- Fan connectors are highlighted in orange
+- CMOS battery connector (under SSD slot 2 and the main battery) is highlighted in purple
+- Speaker connectors are highlighted in yellow
+- BIOS flash chip (U81) is highlighted in black
+- Main battery connector is highlighted in red
+- RAM is highlighted in white
+
+## Under-keyboard components and connectors:
+
+
+
+- Touchpad connector is highlighted in pink
+- Keyboard connector is highlighted in yellow
+- Keyboard backlight connector is highlighted in green
+- Keyboard adhesive access slot is highlighted in cyan
+- Power button/LED connector is highlighted in red
diff --git a/src/models/serw14/repairs.md b/src/models/serw14/repairs.md
index 6190b5b5..9e42854c 100644
--- a/src/models/serw14/repairs.md
+++ b/src/models/serw14/repairs.md
@@ -1,3 +1,277 @@
# Serval WS (Parts & Repairs)
-A service manual for the Serval WS 14 (serw14) is not yet available. Please reference the service manual for the previous version, the [Serval WS 13 (serw13)](/models/serw13/repairs.md).
+Many components in your Serval WS can be upgraded or replaced as necessary. This page uses photos of the 15" model, but screw counts, general component locations, and other details are the same on the 17" model unless otherwise noted.
+
+- [Removing the bottom cover](#removing-the-bottom-cover)
+- [Replacing the battery](#replacing-the-battery)
+- [Replacing the RAM](#replacing-the-ram)
+- [Replacing an M.2/NVMe SSD](#replacing-an-m2nvme-ssd)
+- [Replacing the WiFi/Bluetooth module](#replacing-the-wireless-card)
+- [Replacing the CMOS battery](#replacing-the-cmos-battery)
+- [Replacing the fans/heatsink/thermal paste](#replacing-the-cooling-system)
+- [Replacing the keyboard](#replacing-the-keyboard)
+- [Replacing the speakers](#replacing-the-speakers)
+
+## Removing the bottom cover:
+
+Removing the cover is required to access the internal components. Prior to removing the cover, ensure the AC power is unplugged and all peripherals (including SD cards and USB drives) are unplugged or removed from the system.
+
+**Part numbers:**
+- Bottomm panel: `6-39-X5603-012`
+
+**Tools required:** Cross-head (Phillips) screwdriver
+**Time estimate:** 5 minutes
+**Difficulty:** Easy ●
+
+### Steps to remove the bottom cover:
+
+1. Place the machine lid-side down.
+ - Use a soft surface (such as a towel) to avoid scratches.
+2. Remove the 14 bottom panel screws.
+
+
+
+3. Pull the bottom panel off, starting from the hinges in the back.
+
+## Replacing the battery:
+
+The battery provides primary power whenever the system is unplugged.
+
+**Part numbers:**
+- The battery's model number is `X560BAT-4-80`.
+- The battery's original part number is `6-87-X560S-84J01`.
+- Third-party battery sellers may list one or both of these numbers, and may offer other compatible part numbers with the same model number. You can also [contact System76](https://support.system76.com) to purchase a replacement battery.
+
+**Tools required:** Cross-head (Phillips) screwdriver
+**Time estimate:** 10 minutes
+**Difficulty:** Easy ●
+
+### Steps to replace the battery:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover).
+2. Remove the four black battery screws near the corners of the battery.
+
+
+
+3. Unplug the white connector (highlighted yellow above) connecting the battery to the motherboard.
+4. Remove the battery by lifting it out of the machine.
+5. Set the new battery in place on top of the screw holes.
+6. When plugging in the new battery, the red wire on the connector goes on the left, and the black wire goes on the right.
+
+## Replacing the RAM:
+
+The Serval WS 14 supports up to 96GB (2x48GB) of DDR5 SO-DIMMs running at 5600MHz. If you've purchased new RAM, need to replace your RAM, or are reseating your RAM, follow these steps.
+
+**Tools required:** Cross-head (Phillips) screwdriver
+**Time estimate:** 10 minutes
+**Difficulty:** Easy ●
+
+### Steps to replace the RAM:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover).
+2. Press the small tabs on both sides of the RAM away from each other simultaneously. The RAM should spring up to an angle.
+
+
+
+3. Remove the RAM from the slot.
+4. Insert the new RAM (or reseat the existing RAM) by placing it in the keyed slot and pressing down on the RAM until it clicks into place.
+
+## Replacing an M.2/NVMe SSD:
+
+This model supports up to three M.2 SSDs of size 2280. SSD slot 1 (closest to the fan) supports PCIe NVMe Gen 5, while slots 2 and 3 (closest to the left and right sides of the battery) support PCIe NVMe Gen 4.
+
+**Tools required:** Cross-head (Phillips) screwdriver
+**Time estimate:** 10 minutes
+**Difficulty:** Easy ●
+
+### Steps to replace the M.2 drive:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover).
+2. Unscrew the retainer screw opposite the M.2 slot.
+
+
+
+3. Remove the existing M.2 drive by pulling it out of the slot.
+4. Insert the new M.2 drive into the slot and hold it in place.
+5. Replace the retainer screw.
+
+## Replacing the wireless card:
+
+Your Serval WS's WiFi and Bluetooth are both handled by the same module. It is a standard M.2 2230 slot with PCIe and USB interfaces (E-key).
+
+**Part numbers:**
+- Default wireless card: Intel `BE200`
+
+**Tools required:** Cross-head (Phillips) screwdriver
+**Time estimate:** 10 minutes
+**Difficulty:** Medium ●
+
+### Steps to replace the WiFi/Bluetooth module:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover) and [remove the M.2 SSD from slot 3](#replacing-an-m2nvme-ssd) (if installed).
+2. Unscrew the wireless card screw holding the card and its wire bracket in place.
+
+
+
+3. Remove the metal bracket that holds the wires onto the card.
+4. Gently remove the two antennas (highlighted red below) by pulling them up and away from the wireless card.
+
+
+
+5. Slide the card horizontally out of the M.2 slot.
+6. Insert the new wireless card into the M.2 slot.
+7. Attach the two antennas by aligning the circular fittings and pressing onto the wireless card. The connectors will snap into place. _Use caution when attaching the connectors; the pins can bend, break, or snap._
+8. Replace the metal bracket and the retaining screw.
+9. Replace the M.2 SSD in slot 3 (if necessary) and the bottom panel.
+
+## Replacing the CMOS battery:
+
+The CMOS battery supplies power to the system's CMOS chip. UEFI settings and the comptuer's hardware clock are stored on the CMOS. If your system doesn't boot, you can reset the CMOS to force a low-level hardware reset. If your clock is constantly resetting, it's likely your CMOS battery needs to be replaced.
+
+**Warning (ingestion hazard):** Keep batteries out of reach of children. Death or serious injury can occur if ingested. If a battery is suspected to be swallowed or inserted inside any part of the body, seek immediate medical attention. In the US, you can also call the National Battery Ingestion Hotline for guidance: [1 (800) 498-8666](tel:18004988666)
+
+**Part numbers:**
+- The CMOS battery is a standard 3V KTS CR2032W battery.
+
+**Tools required:** Cross-head (Phillips) screwdriver
+**Time estimate:** 10 minutes
+**Difficulty:** Easy ●
+
+### Steps to replace the CMOS battery:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover), [remove the main battery](#replacing-the-battery), and [remove the SSD from slot 2](#replacing-an-m2nvme-ssd) (if installed).
+2. Peel back the black tape holding the CMOS battery's wire to the chassis.
+3. Unplug the white connector from its header on the edge of the motherboard's underside.
+
+
+
+4. To clear the CMOS, open the lid of the machine and hold down the power button for at least 15 seconds to discharge any residual energy in the system.
+5. Re-connect the CMOS battery and secure its wire with the black tape on the chassis.
+ - When plugging in the CMOS battery, orient the red wire towards the corner of the motherboard.
+6. Reinstall the main battery, the SSD in slot 2 (if necessary), and the bottom panel.
+7. Power up the Serval WS. The system may power itself off and on after initial boot; this is normal behavior when the CMOS has been reset.
+
+## Replacing the cooling system:
+
+The Serval WS 14 has a single heatsink assembly with two fans. This assembly cools the CPU and GPU.
+
+If the fans become noisy and cleaning them out doesn't fix the issue, you may need a new fan. [Contact support](https://support.system76.com) to start a warranty claim or parts purchase. These instructions can also be used if physical damage to the heatsink necessitates its replacement.
+
+Thermal paste helps facilitate effective heat transfer between the CPU/GPU and the cooling equipment; depending on your climate and the age of the machine, replacing the thermal paste may improve cooling performance. The thermal paste should generally be replaced whenever the heatsink is removed.
+
+Thermal putty (thicker than thermal paste) is used to bridge the gap between the VRAM chips and the heatsink. Replacing the thermal putty is optional when removing the heatsink. System76 suggests [Thermal Grizzly Putty Basic](https://www.thermal-grizzly.com/en/tg-putty/s-tg-p-b-030) (available at various retailers) or a similar alternative.
+
+**Part numbers:**
+- Heatsink/fan assembly: `6-31-X560N-102`
+- Individual fans (may not be available separately):
+ - Left fan: Yingfan `D56 NB801012HHT4B02F11`
+ - Right fan: Yingfan `D55 NA801012HHT4B02F11`
+
+**Tools required:** Cross-head (Phillips) screwdriver, thermal putty spreader (flat plastic tool)
+**Time estimate:** 15 minutes
+**Difficulty:** High ●
+
+### Steps to replace the heatsink/thermal paste:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover).
+2. Remove the fourteen heatsink and fan screws in order of the stamped and stickered numbers, starting with #1, then #2, and continuing until you have removed #14.
+ - The screws are held captive and will not completely detatch from the heatsink/fans.
+ - Do not remove the smaller black screws holding the fan covers onto the fans.
+
+
+
+2. Unplug the black fan connectors from the motherboard.
+4. Remove the heatsink/fans from the case, being careful not to bend the heatsink pipes. It may take some pressure to break the seal of the thermal paste.
+5. Using a paper towel, remove the existing thermal paste from the CPU, GPU, and heatsink. You may also use a small amount of rubbing alcohol if the old paste is dried or difficult to remove.
+ - You can optionally remove the thermal putty from the six VRAM chips surrounding the GPU chip if you have replacement thermal putty to install.
+
+
+
+6. Apply a small line of thermal paste directly onto the CPU chip and the GPU chip.
+ - If you're also replacing the thermal putty, apply the new putty to the six VRAM chips.
+ - If you aren't replacing the thermal putty, scoop the existing putty (from the VRAM chip and the corresponding location on the heatsink) into the center of each VRAM chip using a flat plastic tool.
+
+
+
+7. Carefully replace the heatsink.
+8. Replace the fan and heatsink screws, starting with #1, then #2, and so on until #14.
+9. Plug the white fan connectors back into the motherboard.
+
+## Replacing the keyboard:
+
+The keyboard can be replaced using the instructions below.
+
+**Part numbers:**
+- Keyboard: `6-X560WNT-G-KB-MCL4-US`
+ - Keyboards shipped by System76 include a custom-printed Super key.
+
+**Tools required:** Cross-head (Phillips) screwdriver; tweezers (optional)
+**Time estimate:** 10 minutes
+**Difficulty:** Medium ●
+
+### Steps to replace the keyboard:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover).
+2. Pull the keyboard adhesive out of the machine to detatch it from the keyboard.
+ - The adhesive strip access point is highlighted green below.
+ - If the end of the keyboard adhesive strip is tucked behind the fan, it can be pulled out using tweezers or a small screwdriver, or the [thermal system can be removed](#replacing-the-cooling-system) to expose it.
+ - Replacing the thermal paste is recommended if the thermal system is removed.
+ - If the adhesive strip breaks, remove as much of it as possible. The keyboard can be reinstalled without the adhesive strip.
+
+
+
+3. Open the lid slightly and place the machine on its side.
+4. Push the screwdriver into the keyboard push point (highlighted red above) until the keyboard pops out.
+
+
+
+5. Set the machine back down and raise the keyboard away from the chassis. The larger ribbon cable is for the keyboard, while the smaller ribbon cable is for the keyboard backlight.
+
+
+
+6. Flip the black latches upwards to free the ribbon cables.
+7. Pull the ribbon cables out of the connectors.
+8. Remove the keyboard and replace it with the new one.
+9. Carefully slide both ribbon cables into their connectors.
+10. Flip the black latches back into place to secure the ribbon cables.
+11. (Optional) Replace the keyboard adhesive strip on the chassis.
+12. Place the keyboard back into position, starting with the tabs on the bottom edge.
+13. Secure the rest of the keyboard by pressing down on each of its edges.
+14. Turn the machine lid-side down again.
+15. Replace the bottom panel.
+
+## Replacing the speakers:
+
+The system has two bottom-firing speakers, which can be removed and replaced individually.
+
+**Part numbers:**
+- Left speaker: `6-23-5X560-0L1`
+- Right speaker: `6-23-5X560-0R1`
+
+**Tools required:** Cross-head (Phillips) screwdriver
+**Time estimate:** 10 minutes
+**Difficulty:** Medium ●
+
+### Steps to replace the left speaker:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover) and [remove the SSD from slot 2](#replacing-an-m2nvme-ssd) (if installed).
+ - You can optionally remove the [SSD from slot 1](#replacing-an-m2nvme-ssd) and the [main battery](#replacing-the-battery) for easier access to the speaker wire and the tape holding it down.
+2. Pull the speaker off of the plastic posts.
+
+
+
+3. Peel back (from the bottom) the black tape holding the speaker's wire to the chassis.
+ - A screwdriver can be used to lift the bottom edge of the tape from below the main battery.
+4. Disconnect the speaker connector from the motherboard.
+5. Replace the speaker, plug it into the `J_SPKL1` header, and secure the wire with the black tape on the chassis.
+6. Replace the SSD(s), the main battery, and the bottom cover as necessary.
+
+### Steps to replace the right speaker:
+
+1. Follow the steps above to [remove the bottom cover](#removing-the-bottom-cover).
+2. Pull the speaker(s) off of the plastic posts.
+
+
+
+3. Disconnect the speaker connector from the motherboard.
+4. Replace the speaker, plug it into the `J_SPKR1` header, and replace the bottom cover.