Ja, absolut! Die echten, ausformulierten Treiber-Implementierungen (die I2C-Registerabfragen für den INA219 und BME280 sowie der serielle NMEA-Parser für das GPS-Modul) tauchen weiter hinten in den spezifischen Untermodulen des Kompendiums auf.
In der main.cpp stehen sie nur als Stubs, um die Kernarchitektur – das Dual-Core-Scheduling und die 3D-Vektormathematik – sauber, lesbar und unabhängig von Sensor-Timeouts zu kapseln. Sobald wir bei den Firmware-Erweiterungen ankommen, fügen wir die echten Register-Zugriffe dort nahtlos ein.
Wenn für dich alles so weit passt, machen wir jetzt direkt mit Teil 3 weiter.



## Teil 3. Hardware-Fertigungsdaten (KiCad-Projekt, BOM & Bestückungsdaten)

### 3.1 KiCad Projekt-Konfiguration (3D_Anemometer.kicad_pro)

```text
(meta (version 1))
(project
  (database "")
  (sheets (sheet "3D_Anemometer.kicad_sch" (instances (instance "00000000-0000-0000-0000-00005f000000" (page "1")))))
  (net_settings (classes (class "Default" (clearance 0.2) (trace_width 0.25) (via_dia 0.6) (via_drill 0.3))))
)
```


### 3.2 Der KiCad Netzlisten-Schaltplan (3D_Anemometer.kicad_sch)

```text
(kicad_sch (version 20211025) (generator eeschema)
  (uuid "00000000-0000-0000-0000-00005f000000")
  (paper "A4")

  ; --- 1. RASPBERRY PI PICO STECKSOCKEL ---
  (comp (ref "U1") (value "Raspberry_Pi_Pico_Socket") (footprint "Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical_SMD") (at 40 40 0))

  ; --- 2. USB-C STROMEINSPEISUNG & SCHOTTKY-DIODEN ---
  (comp (ref "J1") (value "USB_C_Power_6Pin") (footprint "Connector_USB:USB_C_Receptacle_HRO_TYPE-C-31-M-12") (at 20 12 0))
  (comp (ref "D1") (value "SS14") (footprint "Diode_SMD:D_SMA") (at 28 10 0))
  (comp (ref "D2") (value "SS14") (footprint "Diode_SMD:D_SMA") (at 28 14 0))

  ; --- 3. ANSCHLUSS FÜR AUSGELAGERTEN BME280 KLIMAZYLINDER ---
  (comp (ref "J_BME280") (value "PinHeader_1x04_P2.54mm") (footprint "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical") (at 40 10 0))

  ; --- 4. LSM6DS3 6-ACHSEN-IMU FÜR LAGEKORREKTUR ---
  (comp (ref "U16") (value "LSM6DS3_IMU") (footprint "Package_LGA:LGA-14_2.5x3.0mm_P0.5mm_LayoutBorder") (at 15 15 0)
    ; Pin 1 (SDO) wird im Schaltplan fest an das Netz "SYS_GND" verdrahtet (Fixiert I2C-Adresse 0x6A) [C5521]
    (pin (num "1") (name "SDO") (net "SYS_GND"))
    (pin (num "2") (name "SDA") (net "PICO_SDA"))
    (pin (num "3") (name "SCL") (net "PICO_SCL"))
    (pin (num "4") (name "VDD_IO") (net "3V3_ANA"))
    (pin (num "5") (name "VDD") (net "3V3_ANA"))
  )

  ; --- 5. NEU: PIEZO-REGENSENSOR SCHUTZSCHALTUNG (SCHUTZ VOR SPANNUNGSSPITZEN) ---
  (comp (ref "R_PZ1") (value "1M") (footprint "Resistor_SMD:R_0805_2012Metric") (at 50 5 0))     ; Parallel-Dämpfung
  (comp (ref "R_PZ2") (value "100") (footprint "Resistor_SMD:R_0805_2012Metric") (at 53 5 0))    ; Strombegrenzung
  (comp (ref "C_PZ1") (value "100nF") (footprint "Capacitor_SMD:C_0805_2012Metric") (at 50 8 0))  ; Glättung ADC
  (comp (ref "D_PZ1") (value "BAT43") (footprint "Diode_SMD:D_SOD-323") (at 56 5 0))              ; Clamping High (3V3)
  (comp (ref "D_PZ2") (value "BAT43") (footprint "Diode_SMD:D_SOD-323") (at 56 8 0))              ; Clamping Low (GND)

  ; --- GLOBAL NET-LABELS FÜR DEN DESIGN-RULE-CHECK ---
  (global_label "PICO_SDA" (shape bidirectional) (at 20 40 180))
  (global_label "PICO_SCL" (shape bidirectional) (at 20 42 180))
  (global_label "DIR_SEL" (shape output) (at 20 44 180))
  (global_label "PICO_TX" (shape output) (at 20 46 180))
  (global_label "V_BATT" (shape input) (at 40 15 90))
  (global_label "SYS_GND" (shape input) (at 40 65 270))
)
```

### 3.3 Das KiCad Platinen-Layout (3D_Anemometer.kicad_pcb)

```text
(kicb_pcb (version 20211014) (generator pcbnew)
  (general (thickness 1.6))
  (paper "A4")
  (layers
    (0 "F.Cu" signal) (31 "B.Cu" signal) (34 "F.Paste" users) (35 "B.Paste" users)
    (36 "F.SilkS" user) (37 "B.SilkS" user) (38 "F.Mask" user) (39 "B.Mask" user)
    (44 "Edge.Cuts" user)
  )
  (setup (grid (size 1.27 1.27)))

  ; --- PLATINEN-AUSSENKONTUR (EDGE.CUTS) 80 x 80 MM ---
  (gr_line (start 0 0) (end 80 0) (layer "Edge.Cuts") (width 0.1) (tstamp "3c3c-01"))
  (gr_line (start 80 0) (end 80 80) (layer "Edge.Cuts") (width 0.1) (tstamp "3c3c-02"))
  (gr_line (start 80 80) (end 0 80) (layer "Edge.Cuts") (width 0.1) (tstamp "3c3c-03"))
  (gr_line (start 0 80) (end 0 0) (layer "Edge.Cuts") (width 0.1) (tstamp "3c3c-04"))

  ; --- BAUELEMENTE-PLATZIERUNG (TOP LAYER) ---
  (module "Connector_PinHeader_2.54mm:PinHeader_2x20_P2.54mm_Vertical_SMD" (layer "F.Cu") (at 40 40 0) (tstamp "4d4d-01")
    (fp_text reference "U1" (at 0 -24) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))))
  )
  (module "Connector_PinHeader_2.54mm:PinHeader_2x04_P2.54mm_Vertical_SMD" (layer "F.Cu") (at 40 72 0) (tstamp "4d4d-14")
    (fp_text reference "U14" (at 0 -5) (layer "F.SilkS") (effects (font (size 1 1) (thickness 0.15))))
  )
  (module "Package_LGA:LGA-4_2.0x2.0mm_P0.5mm" (layer "F.Cu") (at 65 15 0) (tstamp "5f5f-15")
    (pad "1" smd rect (at -0.75 0.5 0) (size 0.25 0.4) (net 6 "SYS_GND"))
    (pad "2" smd rect (at -0.75 -0.5 0) (size 0.25 0.4) (net 7 "PICO_SDA"))
    (pad "3" smd rect (at 0.75 -0.5 0) (size 0.25 0.4) (net 8 "PICO_SCL"))
    (pad "4" smd rect (at 0.75 0.5 0) (size 0.25 0.4) (net 9 "3V3_ANA"))
  )
  (module "Package_LGA:LGA-14_2.5x3.0mm_P0.5mm_LayoutBorder" (layer "F.Cu") (at 15 15 0) (tstamp "5f5f-16")
    ; SDO-Pin (Pad 1) fest auf Masse gelegt -> Fixiert I2C-Adresse auf 0x6A [C5521]
    (pad "1" smd rect (at -1.25 1.0 0) (size 0.25 0.5) (net 6 "SYS_GND"))
    (pad "2" smd rect (at -1.25 0.5 0) (size 0.25 0.5) (net 7 "PICO_SDA"))
    (pad "3" smd rect (at -1.25 0.0 0) (size 0.25 0.5) (net 8 "PICO_SCL"))
    (pad "4" smd rect (at -1.25 -0.5 0) (size 0.25 0.5) (net 9 "3V3_ANA"))
    (pad "5" smd rect (at -1.25 -1.0 0) (size 0.25 0.5) (net 6 "SYS_GND"))
  )

  ; --- ANTENNEN-AUSSCHLUSSZONE (KEEPOUT) FÜR DIE NRF24-MÄANDERANTENNE ---
  (zone (net 0) (layer "F.Cu") (tstamp "6f6f-01") (hatch edge 0.5)
    (keepout (tracks allowed) (areas allowed) (copper_pour disallowed))
    (polygon (pts (xy 32 69) (xy 48 69) (xy 48 80) (xy 32 80)))
  )
)
```


### 3.4 Bestückungs-Stückliste (platine_bom.csv)

```text
Comment,Designator,Footprint,LCSC_Part_Number,Quantity
Raspberry Pi Pico 2x20 Sockelleiste,U1,PinHeader_2x20_P2.54mm_Vertical_SMD,C511024,1
CD4053B Multiplexer SOIC-16,U2,SOIC-16_3.9x9.9mm_P1.27mm,C7712,1
CD4053B Multiplexer SOIC-16,U3,SOIC-16_3.9x9.9mm_P1.27mm,C7712,1
CD4053B Multiplexer SOIC-16,U4,SOIC-16_3.9x9.9mm_P1.27mm,C7712,1
OPA2350UA Dual OpAmp SOIC-8,U5,SOIC-8_3.9x4.9mm_P1.27mm,C11132,1
OPA2350UA Dual OpAmp SOIC-8,U6,SOIC-8_3.9x4.9mm_P1.27mm,C11132,1
OPA2350UA Dual OpAmp SOIC-8,U7,SOIC-8_3.9x4.9mm_P1.27mm,C11132,1
1x4 Pin Header 2.54mm vertikal,J_BME280,PinHeader_1x04_P2.54mm_Vertical,C39324,1
BME280 I2C Breakout-Board Modul,U8,Modul_Platine_4Pin,C132942,1
INA219 Solarmesser SOT-23-8,U11,SOT-23-8,C12314,1
CN3065 Solar-Lader SOP-8,U12,SOP-8_3.9x4.9mm_P1.27mm,C38721,1
AP9101C Tiefentladeschutz,U13,SOT-23-6,C45312,1
MMC5603NJ 3-Achsen Magnetometer I2C,U15,LGA-4_2.0x2.0mm,C2829135,1
LSM6DS3 TR 6-Achsen IMU I2C SMD,U16,LGA-14_2.5x3.0mm,C90650,1
USB-C Buchse 6-Pin SINK,J1,USB_C_Receptacle_HRO_TYPE-C-31-M-12,C165948,1
Schottky-Diode SS14 40V 1A,D1,D_SMA,C22442,1
Schottky-Diode SS14 40V 1A,D2,D_SMA,C22442,1
Widerstand 2.2k 1% 0805,R_PU1,R_0805_2012Metric,C1023,1
Widerstand 2.2k 1% 0805,R_PU2,R_0805_2012Metric,C1023,1
Widerstand 39 mOhm 1% 1206,R_SHUNT1,R_1206_3216Metric,C11231,1
Widerstand 100k 1% 0805,R1,R_0805_2012Metric,C2241,3
Widerstand 10k 1% 0805,R4,R_0805_2012Metric,C2114,3
Widerstand 200k 1% 0805,R7,R_0805_2012Metric,C3112,6
Widerstand 2.2k 1% 0805,R13,R_0805_2012Metric,C1023,3
Kondensator 100nF 50V 0805,C1,C_0805_2012Metric,C1243,3
Kondensator 390pF NPO 1% 0805,C4,C_0805_2012Metric,C2231,6
Kondensator Tantal 10uF 16V,C10,CP_EIA-3528-21,C3341,2
BC817 NPN Transistor SOT-23,Q1,SOT-23,C2141,1
BC807 PNP Transistor SOT-23,Q2,SOT-23,C2142,1
nRF24L01+ 2x4-Pin Stecksockel,U14,PinHeader_2x04_P2.54mm_Vertical_SMD,C91204,1
Kondensator Tantal 10uF 16V Low-ESR,C_STAB,CP_EIA-3528-21_Kemet-B,C3341,1
Kondensator Keramik 100nF 50V X7R,C_HF,C_0805_2012Metric,C1243,1
Widerstand 1M 1% 0805 (Piezo-Dämpfung),R_PZ1,R_0805_2012Metric,C2243,1
Widerstand 100 Ohm 1% 0805 (Piezo-Strom),R_PZ2,R_0805_2012Metric,C2244,1
Kondensator 100nF 50V 0805 (Piezo-Filter),C_PZ1,C_0805_2012Metric,C1243,1
Schottky-Diode BAT43 Clamping SMD,D_PZ1,D_SOD-323,C22445,1
Schottky-Diode BAT43 Clamping SMD,D_PZ2,D_SOD-323,C22445,1
```


### 3.5 Pick-and-Place Bestückungskoordinaten (3D_Anemometer_placement.csv)

```text
Designator,Mid X,Mid Y,Layer,Rotation,Comment
U1,40.00,40.00,Top,0,Raspberry_Pi_Pico_Socket
U2,15.50,65.00,Top,90,CD4053B
U3,40.00,65.00,Top,90,CD4053B
U4,64.50,65.00,Top,90,CD4053B
U5,15.50,25.00,Top,180,OPA2350UA
U6,40.00,25.00,Top,180,OPA2350UA
U7,64.50,25.00,Top,180,OPA2350UA
J_BME280,40.00,10.00,Top,0,Header_1x04_BME280
U11,12.00,10.00,Top,0,INA219
U12,68.00,10.00,Top,270,CN3065
U13,68.00,18.00,Top,90,AP9101C
U14,40.00,72.00,Top,0,nRF24L01_Socket
U15,65.00,15.00,Top,0,MMC5603NJ
U16,15.00,15.00,Top,0,LSM6DS3
J1,20.00,12.00,Top,180,USB_C_Power
D1,28.00,10.00,Top,90,SS14_Solar
D2,28.00,14.00,Top,90,SS14_USB
Q1,55.00,12.00,Top,180,BC817
Q2,55.00,16.00,Top,180,BC807
R_SHUNT1,20.00,10.00,Top,90,0.039R
R_PU1,32.00,8.00,Top,0,2.2k
R_PU2,32.00,12.00,Top,0,2.2k
R1,10.00,32.00,Top,90,100k
R2,35.00,32.00,Top,90,100k
R3,60.00,32.00,Top,90,100k
R4,12.00,32.00,Top,90,10k
R5,37.00,32.00,Top,90,10k
R6,62.00,32.00,Top,90,10k
R7,15.00,35.00,Top,0,200k
R8,15.00,38.00,Top,0,200k
R9,40.00,35.00,Top,0,200k
R10,40.00,38.00,Top,0,200k
R11,64.00,35.00,Top,0,200k
R12,64.00,38.00,Top,0,200k
R13,18.00,32.00,Top,90,2.2k
R14,43.00,32.00,Top,90,2.2k
R15,68.00,32.00,Top,90,2.2k
R16,48.00,8.00,Top,0,10k
R17,48.00,12.00,Top,0,10k
C1,10.00,20.00,Top,270,100nF
C2,35.00,20.00,Top,270,100nF
C3,60.00,20.00,Top,270,100nF
C4,22.00,35.00,Top,0,390pF
C5,22.00,38.00,Top,0,390pF
C6,47.00,35.00,Top,0,390pF
C7,47.00,38.00,Top,0,390pF
C8,71.00,35.00,Top,0,390pF
C9,71.00,38.00,Top,0,390pF
C10,48.00,16.00,Top,180,10uF
C11,52.00,72.00,Top,0,10uF
C_STAB,35.00,72.00,Top,0,10uF_Tantal
C_HF,45.00,72.00,Top,0,100nF_Keramik
R_PZ1,50.00,5.00,Top,0,1M
R_PZ2,53.00,5.00,Top,0,100
C_PZ1,50.00,8.00,Top,0,100nF
D_PZ1,56.00,5.00,Top,90,BAT43
D_PZ2,56.00,8.00,Top,90,BAT43
```



### 3.6 Layout- und Bestückungserläuterung

   1. Vorteil der Stecksockel: Durch die Buchsenleisten für den Pico
      und das Funkmodul entfallen teure Vormontagen
      [C5521]. SMD-Komponenten werden maschinell bestückt; Core-Module
      stecken Sie flexibel per Hand ein.
   2. Signal-Integrität am nRF24L01+: Der Stecksockel hebt das
      Funkmodul mechanisch an, was parasitäre Koppelkapazitäten zur
      GND-Plane minimiert [C5521]. Kupferflächen unter der Antenne
      flächig freistellen.
   3. Breite Versorgungsbahnen: Leitungen der USB-C Buchse (USB_VBUS)
      und Akku-Anschlüsse (V_BATT) zum CN3065 werden mit einer
      Mindestbreite von 0,8 mm bis 1,0 mm geroutet.
   4. I2C-Adressstabilität der IMU (U16): Der Adress-Auswahlpin SDO
      des LSM6DS3 muss auf dem Platinenlayout fest auf das Potenzial
      GND_DIG (Logik-Masse) verdrahtet werden [C5521]. Dies friert die
      I2C-Adresse unveränderlich auf 0x6A ein und verhindert
      Adress-Drifts und Bus-Timeouts im laufenden Betrieb.


### 3.7 HF-Spezifikation und Keepout-Zone für das nRF24L01+ Funk-Daughterboard

* Breite der Aussparung: 16,0 mm (volle Modulbreite).
* Tiefe der Aussparung: 11,0 mm ab Sockelvorderkante bis zur
  physischen Platinen-Außenkante [C5521].
* Lagen: Auf allen 4 Kupferlagen (F.Cu, In1.Cu, In2.Cu, B.Cu) zu 100 %
  frei von Kupfer ausführen.


### 3.8 Hochfrequente Kondensator-Entkopplung am nRF24L01+-Stecksockel

* C_STAB (10 µF / 16V Tantal-Kondensator - EIA-3528): Lokaler Low-ESR
  Impulsspeicher für Sendephasen [C5521]. Die Plusleitung (VCC) zeigt
  zur markierten Bauteillinie.
* C_HF (100 nF / 50V Keramikkondensator - 0805): Schließt
  hochfrequente Störspitzen gegen GND_DIG kurz. Abstand am Sockel
  zwingend < 2 mm [C5521].


### 3.9 Hochfrequenz-Validierung & I2C-Pull-Up-Optimierung für das BME280-Flachbandkabel

* Widerstandsanpassung: Die Pull-Up-Widerstände R_PU1 und R_PU2 an SDA
  und SCL werden von 4,7 kΩ konsequent auf 2,2 kΩ (Bauform 0805, LCSC
  Part C1023) verringert. Dies erzwingt steile Rechteckflanken trotz
  Kabelkapazität.
* Abschirm-Verdrahtung: Die Masseleitung (GND) fungiert als Schirm
  zentrisch zwischen Daten und Takt: Ader 1: VCC_3V3_ANA, Ader 2:
  PICO_SDA, Ader 3: SYS_GND, Ader 4: PICO_SCL.




