Circuits-dat/circuits-dat.md
... ...
@@ -1,6 +1,13 @@
1 1
2 2
# circuits-dat
3 3
4
+
5
+
6
+- [[impedance-dat]] - [[virtual-ground-dat]] - [[circuits-dat]]
7
+
8
+
9
+
10
+
4 11
- [[interface-dat]] - [[power-dat]]
5 12
6 13
- [[logic-dat]] - [[logic-gate-dat]] - [[buffer-dat]] - [[logic-level-shifter-dat]] - [[multiplexer-dat]]
Circuits-dat/impedance-dat/2026-04-15-18-24-51.png
... ...
Binary files /dev/null and b/Circuits-dat/impedance-dat/2026-04-15-18-24-51.png differ
Circuits-dat/impedance-dat/impedance-dat.md
... ...
@@ -0,0 +1,64 @@
1
+
2
+
3
+# impedance-dat
4
+
5
+
6
+keep length short == under **75mm to 100mm**
7
+
8
+![](2026-04-15-18-24-51.png)
9
+
10
+
11
+## 1. Why Long Traces Are a Problem
12
+USB signals are **differential pairs** ($D+$ and $D-$). When traces are too long, several issues arise:
13
+* **Signal Attenuation:** The signal loses strength over distance, leading to data corruption.
14
+* **EMI/RFI:** Long traces radiate more electromagnetic interference and are more susceptible to picking up noise from other components.
15
+* **Propagation Delay:** While the speed of electricity is fast, mismatched long traces cause "skew," where one signal arrives later than the other.
16
+
17
+---
18
+
19
+## 2. The Golden Rule: Impedance Matching
20
+For USB 2.0, the most important factor isn't just the length, but the **differential impedance**, which must be $90\Omega \pm 10\%$.
21
+
22
+
23
+
24
+### How to solve length issues:
25
+* **Keep it short:** Ideally, keep USB traces under **75mm to 100mm**. If you must go longer, you have to be extremely disciplined with your routing.
26
+* **Differential Pair Routing:** Route $D+$ and $D-$ parallel to each other with consistent spacing. If they deviate, the impedance changes, causing signal reflections.
27
+* **Length Matching:** Ensure the $D+$ and $D-$ lines are the same length within **0.15mm (5 mils)**. If one is longer, use "serpentine" routing (wiggles) on the shorter line to match them.
28
+
29
+---
30
+
31
+## 3. Practical Solutions for Your Layout
32
+
33
+### Use a Solid Ground Plane
34
+Do not route USB lines over gaps in your ground plane. This creates a massive "return path" loop that ruins signal integrity. Ensure there is a continuous copper pour directly underneath the traces on the next layer.
35
+
36
+
37
+
38
+### Avoid Vias
39
+Every time a trace jumps from the top layer to the bottom layer through a **via**, it introduces inductance and a change in impedance.
40
+* **The Fix:** Try to keep the USB lines on a single layer. If you must use vias, use two ground-stitch vias nearby to provide a path for the return current.
41
+
42
+### Components Placement
43
+Place your **ESD protection diodes** and **series resistors** (if using them, though ESP32-S3 usually has internal terminations) as close to the USB connector as possible. This "cleans" the signal before it travels down the long trace.
44
+
45
+### Use a USB Hub or Repeater
46
+If your traces absolutely must be very long (e.g., across a large enclosure), consider placing a **USB Hub controller IC** or a **redriver/repeater** halfway through the path to "refresh" the signal.
47
+
48
+---
49
+
50
+## 4. Summary Checklist for your PCB
51
+
52
+| Feature | Requirement |
53
+| :--- | :--- |
54
+| **Differential Impedance** | $90\Omega$ |
55
+| **Length Matching (Skew)** | $< 0.15mm$ |
56
+| **Trace Clearance** | Keep at least $3 \times$ trace width away from other signals |
57
+| **Reference Plane** | Continuous GND plane (no splits) |
58
+
59
+
60
+
61
+
62
+## ref
63
+
64
+
Tech-dat/Interface-dat/USB-SDK-dat/USB-SDK-dat.md
... ...
@@ -1,6 +1,9 @@
1 1
2 2
# usb-dat
3 3
4
+- [[impedance-dat]] - [[virtual-ground-dat]] - [[circuits-dat]]
5
+
6
+
4 7
- [[CONN-USB-dat]] - [[USB-SDK-dat]] - [[cable-USB-dat]]
5 8
6 9