Files
Kill_LIFE/hardware/blocks/spi_header.kicad_sch
T
root e67fb754c2 feat: KiCad 10 native, QEMU simulation, compliance EU, firmware fixes
Session kxkm-ai 25-26 mars 2026 — 98/98 tâches TODO complétées.

Hardware:
- KiCad 10.0.0 native avec sym/fp-lib-table locales
- Nouveau block SPI (gen_spi_header.py), ERC clean
- Module partagé hardware/lib/kicad_gen.py (5 générateurs refactorisés)
- Pipeline export: tools/hw/hw_export.sh (ERC + SVG + PDF + netlist)
- KiBot 1.8.5 installé, .kibot.yaml configuré

Firmware:
- Fix I2S driver conflict: migration I2sMic vers nouvelle API i2s_channel_*
- Fix WDT risk: yield() dans CompletePushToTalk (voice_controller.cpp)
- Fix XSS wifi_manager.cpp: innerHTML → createElement/textContent
- Fix null check FwIsValidWavHeader
- Dead code supprimé: i2s_audio.cpp.bak, i2s_audio.h

Simulation MCU:
- QEMU ESP32-S3 v9.2.2 installé (tools/sim/)
- Script run_qemu_esp32s3.sh — boot OK vérifié
- [env:esp32s3_qemu] dans platformio.ini
- Wokwi CI: wokwi.toml + diagram.json + scenario.yaml
- SPICE bridge POC: tools/sim/spice_bridge.py (ngspice → ADC/brownout)

Compliance:
- Profil iot_wifi_eu validé (16 standards, 8 evidence)
- 4 evidence remplis: risk_assessment, security_architecture,
  test_plan_radio_emc, supply_chain_declarations
- plan.yaml complété avec données produit réelles

CI:
- Job hardware-export (KiCad 10 ERC + SVG + PDF + netlist)
- Job firmware-sim (Wokwi, conditionnel WOKWI_CLI_TOKEN)
- evidence_pack.yml enrichi avec exports hardware

Docs & RAG:
- specs/02_arch.md complet (481 lignes, 4 ADR, diagrammes)
- docs/SIMULATION.md (3 niveaux: native, QEMU, Wokwi)
- 6 chunks ingérés dans kb-kicad RAG
- Dataset HF: tools/generate_hf_dataset.py + datasets/kb_kicad_qa.jsonl
- Rapport analyse: docs/plans/ANALYSIS_REPORT_2026-03-25.md
- Recherche OSS: docs/research/oss_similar_projects.md

Infra:
- ZeroClaw 0.1.7 installé (cargo install)
- APIFY_API_KEY configurée, smoke OK
- Tests: 39/39 firmware + 26/26 Python stable

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-26 09:52:00 +01:00

816 lines
14 KiB
Plaintext

(kicad_sch
(version 20260101)
(generator "kill_life_gen")
(generator_version "10.0")
(uuid "79c48f38-c43e-4e0e-a0c4-31a504941e2d")
(paper "A4")
(title_block
(title "Kill_LIFE SPI Interface Block")
(date "2026-03-25")
(rev "1.0")
(company "Kill_LIFE")
(comment 1 "6-pin 2.54mm connector for SPI interface")
(comment 2 "Pin 1 GND, Pin 2 +3V3, Pin 3 SPI_SCK, Pin 4 SPI_MOSI")
(comment 3 "Pin 5 SPI_MISO, Pin 6 SPI_CS (active low)")
)
(lib_symbols
(symbol "power:GND"
(power global)
(pin_numbers
(hide yes)
)
(pin_names
(offset 0)
(hide yes)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(in_pos_files yes)
(duplicate_pin_numbers_are_jumpers no)
(property "Reference" "#PWR"
(at 0 -6.35 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "GND"
(at 0 -3.81 0)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" "Power symbol creates a global label with name \"GND\" , ground"
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "ki_keywords" "global power"
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(symbol "GND_0_1"
(polyline
(pts
(xy 0 0) (xy 0 -1.27) (xy 1.27 -1.27) (xy 0 -2.54) (xy -1.27 -1.27) (xy 0 -1.27)
)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
)
(symbol "GND_1_1"
(pin power_in line
(at 0 0 270)
(length 0)
(name ""
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
(symbol "power:PWR_FLAG"
(power global)
(pin_numbers
(hide yes)
)
(pin_names
(offset 0)
(hide yes)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(in_pos_files yes)
(duplicate_pin_numbers_are_jumpers no)
(property "Reference" "#FLG"
(at 0 1.905 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "PWR_FLAG"
(at 0 3.81 0)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" "Special symbol for telling ERC where power comes from"
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "ki_keywords" "flag power"
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(symbol "PWR_FLAG_0_0"
(pin power_out line
(at 0 0 90)
(length 0)
(name ""
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(symbol "PWR_FLAG_0_1"
(polyline
(pts
(xy 0 0) (xy 0 1.27) (xy -1.016 1.905) (xy 0 2.54) (xy 1.016 1.905) (xy 0 1.27)
)
(stroke
(width 0)
(type default)
)
(fill
(type none)
)
)
)
(embedded_fonts no)
)
(symbol "Connector:Conn_01x06_Pin"
(pin_names
(offset 1.016)
(hide yes)
)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(in_pos_files yes)
(duplicate_pin_numbers_are_jumpers no)
(property "Reference" "J"
(at 0 7.62 0)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "Conn_01x06_Pin"
(at 0 -10.16 0)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" ""
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" ""
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" "Generic connector, single row, 01x06, script generated"
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "ki_locked" ""
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "ki_keywords" "connector"
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "ki_fp_filters" "Connector*:*_1x??_*"
(at 0 0 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(symbol "Conn_01x06_Pin_1_1"
(rectangle
(start 0.8636 5.207)
(end 0 4.953)
(stroke
(width 0.1524)
(type default)
)
(fill
(type outline)
)
)
(rectangle
(start 0.8636 2.667)
(end 0 2.413)
(stroke
(width 0.1524)
(type default)
)
(fill
(type outline)
)
)
(rectangle
(start 0.8636 0.127)
(end 0 -0.127)
(stroke
(width 0.1524)
(type default)
)
(fill
(type outline)
)
)
(rectangle
(start 0.8636 -2.413)
(end 0 -2.667)
(stroke
(width 0.1524)
(type default)
)
(fill
(type outline)
)
)
(rectangle
(start 0.8636 -4.953)
(end 0 -5.207)
(stroke
(width 0.1524)
(type default)
)
(fill
(type outline)
)
)
(rectangle
(start 0.8636 -7.493)
(end 0 -7.747)
(stroke
(width 0.1524)
(type default)
)
(fill
(type outline)
)
)
(polyline
(pts
(xy 1.27 5.08) (xy 0.8636 5.08)
)
(stroke
(width 0.1524)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.27 2.54) (xy 0.8636 2.54)
)
(stroke
(width 0.1524)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.27 0) (xy 0.8636 0)
)
(stroke
(width 0.1524)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.27 -2.54) (xy 0.8636 -2.54)
)
(stroke
(width 0.1524)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.27 -5.08) (xy 0.8636 -5.08)
)
(stroke
(width 0.1524)
(type default)
)
(fill
(type none)
)
)
(polyline
(pts
(xy 1.27 -7.62) (xy 0.8636 -7.62)
)
(stroke
(width 0.1524)
(type default)
)
(fill
(type none)
)
)
(pin passive line
(at 5.08 5.08 180)
(length 3.81)
(name "Pin_1"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "1"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 5.08 2.54 180)
(length 3.81)
(name "Pin_2"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "2"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 5.08 0 180)
(length 3.81)
(name "Pin_3"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "3"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 5.08 -2.54 180)
(length 3.81)
(name "Pin_4"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "4"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 5.08 -5.08 180)
(length 3.81)
(name "Pin_5"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "5"
(effects
(font
(size 1.27 1.27)
)
)
)
)
(pin passive line
(at 5.08 -7.62 180)
(length 3.81)
(name "Pin_6"
(effects
(font
(size 1.27 1.27)
)
)
)
(number "6"
(effects
(font
(size 1.27 1.27)
)
)
)
)
)
(embedded_fonts no)
)
)
(symbol
(lib_id "Connector:Conn_01x06_Pin")
(at 30.4800 63.5000 0)
(unit 1)
(body_style 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(in_pos_files yes)
(dnp no)
(uuid "8e3e2330-b496-4558-8215-23ed43d754a3")
(property "Reference" "J1"
(at 33.0200 63.5000 0)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Value" "SPI Header"
(at 30.4800 66.0400 0)
(show_name no)
(do_not_autoplace no)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x06_P2.54mm_Vertical"
(at 30.4800 63.5000 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Datasheet" "~"
(at 30.4800 63.5000 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Description" ""
(at 30.4800 63.5000 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Pitch" "2.54mm"
(at 30.4800 63.5000 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(property "Interface" "SPI"
(at 30.4800 63.5000 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects
(font
(size 1.27 1.27)
)
)
)
(pin "1"
(uuid "231f1610-2c87-43ad-af0f-54d0f75c030f")
)
(pin "2"
(uuid "f9f5c9dc-dd70-449b-8162-bb82aa484368")
)
(pin "3"
(uuid "a8df953f-a251-4313-b708-8085669307f2")
)
(pin "4"
(uuid "fadfe03d-8a47-4adb-b5fd-fee59de1c489")
)
(pin "5"
(uuid "2bd72252-e0d6-42b8-ab1b-45c6ef41f027")
)
(pin "6"
(uuid "f652dbb8-174b-47c6-b1c8-d53f063f6a60")
)
)
(symbol
(lib_id "power:GND")
(at 35.5600 58.4200 0)
(unit 1)
(body_style 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(in_pos_files yes)
(dnp no)
(uuid "4b8b6d1a-041e-4b6d-9b67-931ddfc0c7a0")
(property "Reference" "#PWR001"
(at 35.5600 57.1500 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects (font (size 1.27 1.27)))
)
(property "Value" "GND"
(at 35.5600 59.6900 0)
(show_name no)
(do_not_autoplace no)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 35.5600 58.4200 0) (hide yes) (effects (font (size 1.27 1.27))))
(property "Datasheet" "" (at 35.5600 58.4200 0) (hide yes) (effects (font (size 1.27 1.27))))
(pin "1"
(uuid "1c6677f0-0c31-4f99-94b3-80cdea98fa56")
)
)
(symbol
(lib_id "power:PWR_FLAG")
(at 35.5600 58.4200 0)
(unit 1)
(body_style 1)
(exclude_from_sim no)
(in_bom yes)
(on_board yes)
(in_pos_files yes)
(dnp no)
(uuid "675b53ab-3e17-49ac-8464-0ce4ee0d5325")
(property "Reference" "#PWR002"
(at 35.5600 57.1500 0)
(show_name no)
(do_not_autoplace no)
(hide yes)
(effects (font (size 1.27 1.27)))
)
(property "Value" "PWR_FLAG"
(at 35.5600 59.6900 0)
(show_name no)
(do_not_autoplace no)
(effects (font (size 1.27 1.27)))
)
(property "Footprint" "" (at 35.5600 58.4200 0) (hide yes) (effects (font (size 1.27 1.27))))
(property "Datasheet" "" (at 35.5600 58.4200 0) (hide yes) (effects (font (size 1.27 1.27))))
(pin "1"
(uuid "59e2d7e3-f41f-48c3-8ebb-31c175a64453")
)
)
(label "+3V3"
(at 35.5600 60.9600 0)
(fields_autoplaced yes)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid "7a88a6a7-6c3a-4448-a445-a0d7a12eac3b")
)
(label "SPI_SCK"
(at 35.5600 63.5000 0)
(fields_autoplaced yes)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid "abd45dd1-a688-4f1a-b0c7-7b6382dcf5bd")
)
(label "SPI_MOSI"
(at 35.5600 66.0400 0)
(fields_autoplaced yes)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid "be4ab53a-d7cf-4659-84c9-2337b451f96b")
)
(label "SPI_MISO"
(at 35.5600 68.5800 0)
(fields_autoplaced yes)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid "df876cbd-dde2-479f-a254-4f206d6df32d")
)
(label "SPI_CS"
(at 35.5600 71.1200 0)
(fields_autoplaced yes)
(effects (font (size 1.27 1.27)) (justify left bottom))
(uuid "86d48229-f4d9-4971-bad3-cfb40ce88901")
)
(text "Kill_LIFE SPI Interface Block (6-pin 2.54mm)"
(at 10.0000 6.0000 0)
(effects (font (size 1.5 1.5)))
(uuid "96095bb3-fab1-406a-a502-56056a1941d0")
)
(text "Pin 1: GND | Pin 2: +3V3 | Pin 3: SPI_SCK | Pin 4: SPI_MOSI"
(at 10.0000 10.0000 0)
(effects (font (size 1.0 1.0)))
(uuid "eabe6b03-0cea-4c51-91d5-2a2f2c784a83")
)
(text "Pin 5: SPI_MISO | Pin 6: SPI_CS (active low)"
(at 10.0000 13.0000 0)
(effects (font (size 1.0 1.0)))
(uuid "01d04833-b35b-4ee8-a095-1996b912439b")
)
(text "Footprint: PinHeader_1x06_P2.54mm_Vertical"
(at 10.0000 16.0000 0)
(effects (font (size 1.0 1.0)))
(uuid "ed6334dd-8d1c-4759-b9ee-578786b7a6a0")
)
(sheet_instances
(path "/"
(page "1")
)
)
)