@hybridlabor-api/bdb-hardware-pcb 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +116 -0
- package/config/mcp/antigravity.json +22 -0
- package/config/mcp/claude.json +22 -0
- package/config/mcp/codex.toml +25 -0
- package/docs/adr/ADR-001-KICAD-OPENSCAD-MCP-STRATEGY.md +334 -0
- package/docs/review_documentation.md +121 -0
- package/installer.js +358 -0
- package/mcp_servers/kicad-mcp-server/.env.example +22 -0
- package/mcp_servers/kicad-mcp-server/.github/workflows/ci.yml +36 -0
- package/mcp_servers/kicad-mcp-server/CLAUDE.md +487 -0
- package/mcp_servers/kicad-mcp-server/README.md +316 -0
- package/mcp_servers/kicad-mcp-server/docs/DEVICE_TREE.md +416 -0
- package/mcp_servers/kicad-mcp-server/docs/INSTALLATION.md +332 -0
- package/mcp_servers/kicad-mcp-server/docs/PIN_ANALYSIS.md +332 -0
- package/mcp_servers/kicad-mcp-server/docs/README.md +240 -0
- package/mcp_servers/kicad-mcp-server/docs/TESTING.md +613 -0
- package/mcp_servers/kicad-mcp-server/docs/VALIDATION.md +268 -0
- package/mcp_servers/kicad-mcp-server/pyproject.toml +96 -0
- package/mcp_servers/kicad-mcp-server/requirements-dev.txt +16 -0
- package/mcp_servers/kicad-mcp-server/requirements-test.txt +24 -0
- package/mcp_servers/kicad-mcp-server/requirements.txt +13 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/__init__.py +3 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/__main__.py +17 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/config.py +46 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/models/__init__.py +1 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/models/types.py +87 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/parsers/__init__.py +1 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/parsers/netlist_parser.py +234 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/parsers/pcb_parser.py +375 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/parsers/pcb_parser_kicad.py +327 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/parsers/schematic_parser.py +902 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/server.py +71 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/__init__.py +1 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/arduino/connectivity_test.cpp.j2 +189 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/device_tree/atmega.dts.j2 +77 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/device_tree/esp32.dts.j2 +77 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/device_tree/nrf52.dts.j2 +77 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/device_tree/stm32f4.dts.j2 +89 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/esp_idf/test_suite.c.j2 +340 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/pytest/test_connectivity.py.j2 +147 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/st_hal/hal_test.c.j2 +313 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/tests/pytest_gpio_test.py.j2 +99 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/tests/pytest_i2c_test.py.j2 +117 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/tests/pytest_pinmux_test.py.j2 +43 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/tests/pytest_spi_test.py.j2 +94 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/tests/unity_gpio_test.c.j2 +113 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/tests/unity_i2c_test.c.j2 +101 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/tests/unity_spi_test.c.j2 +94 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/templates/unittest/test_schematic.py.j2 +172 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/__init__.py +36 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/device_tree.py +1187 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/hierarchical_analysis.py +211 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/netlist.py +320 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/parts_registry.py +142 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/pcb.py +955 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/pcb_layout.py +308 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/pin_analysis.py +765 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/project.py +196 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/schematic.py +319 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/schematic_editor.py +674 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/schematic_search.py +158 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/validation.py +866 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/tools/visualization.py +225 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/utils/__init__.py +1 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/utils/file_handlers.py +65 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/utils/kicad_cli.py +103 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/utils/kicad_version.py +103 -0
- package/mcp_servers/kicad-mcp-server/src/kicad_mcp_server/utils/parts_registry.py +197 -0
- package/mcp_servers/kicad-mcp-server/tests/__init__.py +1 -0
- package/mcp_servers/kicad-mcp-server/tests/examples/ESP32S3_TEST.md +219 -0
- package/mcp_servers/kicad-mcp-server/tests/fixtures/README.md +65 -0
- package/mcp_servers/kicad-mcp-server/tests/fixtures/__init__.py +1 -0
- package/mcp_servers/kicad-mcp-server/tests/fixtures/example_pcb.kicad_pcb +177 -0
- package/mcp_servers/kicad-mcp-server/tests/fixtures/example_schematic.kicad_sch +145 -0
- package/mcp_servers/kicad-mcp-server/tests/fixtures/hier/child.kicad_sch +24 -0
- package/mcp_servers/kicad-mcp-server/tests/fixtures/hier/root.kicad_sch +38 -0
- package/mcp_servers/kicad-mcp-server/tests/test_tools/__init__.py +1 -0
- package/mcp_servers/kicad-mcp-server/tests/test_tools/test_hierarchical_labels.py +195 -0
- package/mcp_servers/kicad-mcp-server/tests/test_tools/test_kicad_cli.py +116 -0
- package/mcp_servers/kicad-mcp-server/tests/test_tools/test_netlist_cache_path.py +29 -0
- package/mcp_servers/kicad-mcp-server/tests/test_tools/test_schematic.py +189 -0
- package/mcp_servers/kicad-mcp-server/tests/test_tools/test_schematic_hierarchy.py +69 -0
- package/mcp_servers/kicad-mcp-server/tests/test_tools/test_visualization.py +136 -0
- package/mcp_servers/kicad-mcp-server/uv.lock +2873 -0
- package/mcp_servers/openscad-mcp-server/.dockerignore +9 -0
- package/mcp_servers/openscad-mcp-server/.github/workflows/test.yml +40 -0
- package/mcp_servers/openscad-mcp-server/Dockerfile +29 -0
- package/mcp_servers/openscad-mcp-server/LICENSE +21 -0
- package/mcp_servers/openscad-mcp-server/README.md +154 -0
- package/mcp_servers/openscad-mcp-server/docs/audit.md +56 -0
- package/mcp_servers/openscad-mcp-server/docs/docker.md +66 -0
- package/mcp_servers/openscad-mcp-server/docs/issue-followup.md +19 -0
- package/mcp_servers/openscad-mcp-server/docs/jetson.md +17 -0
- package/mcp_servers/openscad-mcp-server/glama.json +4 -0
- package/mcp_servers/openscad-mcp-server/legacy/README.md +15 -0
- package/mcp_servers/openscad-mcp-server/legacy/README.original.md +294 -0
- package/mcp_servers/openscad-mcp-server/legacy/implementation_plan.md +100 -0
- package/mcp_servers/openscad-mcp-server/legacy/old/download_sam2_checkpoint.py +115 -0
- package/mcp_servers/openscad-mcp-server/legacy/old/src/ai/sam_segmentation.py +209 -0
- package/mcp_servers/openscad-mcp-server/legacy/old/src/models/threestudio_generator.py +231 -0
- package/mcp_servers/openscad-mcp-server/legacy/old/src/workflow/image_to_model_pipeline.py +260 -0
- package/mcp_servers/openscad-mcp-server/legacy/old/test_sam2_segmentation.py +96 -0
- package/mcp_servers/openscad-mcp-server/legacy/requirements.txt +57 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/README.md +39 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/decisions/ai-driven-code-generation.md +122 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/decisions/export-formats.md +76 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/files/src/ai/ai_service.py.md +51 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/files/src/main.py.md +63 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/files/src/models/code_generator.py.md +63 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/files/src/nlp/parameter_extractor.py.md +63 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/knowledge/ai/natural-language-processing.md +78 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/knowledge/nlp/parameter-extraction.md +173 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/knowledge/openscad/export-formats.md +91 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/knowledge/openscad/openscad-basics.md +66 -0
- package/mcp_servers/openscad-mcp-server/legacy/rtfmd/knowledge/openscad/primitive-testing.md +79 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/__init__.py +0 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/ai/ai_service.py +257 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/ai/gemini_api.py +161 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/ai/venice_api.py +203 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/config.py +121 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/main.py +1456 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/main.py.new +404 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/main_remote.py +401 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/models/__init__.py +0 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/models/code_generator.py +321 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/models/cuda_mvs.py +209 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/models/scad_templates/basic_shapes.scad +144 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/nlp/__init__.py +0 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/nlp/parameter_extractor.py +388 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/openscad_wrapper/__init__.py +0 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/openscad_wrapper/wrapper.py +418 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/printer_discovery/__init__.py +1 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/printer_discovery/printer_discovery.py +471 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/remote/connection_manager.py +537 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/remote/cuda_mvs_client.py +435 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/remote/cuda_mvs_server.py +787 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/remote/error_handling.py +415 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/testing/__init__.py +0 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/testing/primitive_tester.py +203 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/testing/test_primitives.py +98 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/utils/__init__.py +1 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/utils/cad_exporter.py +241 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/utils/format_validator.py +206 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/utils/stl_exporter.py +140 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/utils/stl_repair.py +91 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/utils/stl_validator.py +123 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/visualization/__init__.py +0 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/visualization/headless_renderer.py +52 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/visualization/renderer.py +177 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/visualization/web_interface.py +639 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/workflow/image_approval.py +148 -0
- package/mcp_servers/openscad-mcp-server/legacy/src/workflow/multi_view_to_model_pipeline.py +338 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_complete_workflow.py +374 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_cuda_mvs.py +191 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_gemini_api.py +168 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_image_approval.py +192 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_image_approval_workflow.py +251 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_image_to_model_pipeline.py +145 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_model_selection.py +41 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_multi_view_pipeline.py +290 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_primitives.sh +13 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_rabbit_direct.py +71 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_remote_cuda_mvs.py +283 -0
- package/mcp_servers/openscad-mcp-server/legacy/test_venice_example.py +69 -0
- package/mcp_servers/openscad-mcp-server/pyproject.toml +33 -0
- package/mcp_servers/openscad-mcp-server/requirements.txt +2 -0
- package/mcp_servers/openscad-mcp-server/scad/simple_cube.scad +2 -0
- package/mcp_servers/openscad-mcp-server/scripts/test_docker.py +220 -0
- package/mcp_servers/openscad-mcp-server/src/openscad_mcp/__init__.py +3 -0
- package/mcp_servers/openscad-mcp-server/src/openscad_mcp/__main__.py +3 -0
- package/mcp_servers/openscad-mcp-server/src/openscad_mcp/engine.py +94 -0
- package/mcp_servers/openscad-mcp-server/src/openscad_mcp/geometry.py +242 -0
- package/mcp_servers/openscad-mcp-server/src/openscad_mcp/server.py +245 -0
- package/mcp_servers/openscad-mcp-server/src/openscad_mcp/service.py +190 -0
- package/mcp_servers/openscad-mcp-server/tests/conftest.py +17 -0
- package/mcp_servers/openscad-mcp-server/tests/test_engine.py +37 -0
- package/mcp_servers/openscad-mcp-server/tests/test_geometry.py +106 -0
- package/mcp_servers/openscad-mcp-server/tests/test_integration.py +172 -0
- package/mcp_servers/openscad-mcp-server/tests/test_transports.py +314 -0
- package/mcp_servers/openscad-mcp-server/uv.lock +1123 -0
- package/package.json +44 -0
- package/scripts/install_mcps.sh +86 -0
- package/scripts/openscad_wrapper.sh +62 -0
- package/scripts/run_kicad_mcp.sh +25 -0
- package/scripts/run_openscad_mcp.sh +41 -0
- package/scripts/test_mcp_connection.py +626 -0
- package/scripts/test_mcp_connection.sh +168 -0
- package/skills/code-first-hardware-design/SKILL.md +260 -0
- package/skills/pcb-constraint-definition/SKILL.md +236 -0
- package/skills/pcb-layout-routing-automation/SKILL.md +153 -0
- package/skills/pcb-validation-dfm-signoff/SKILL.md +194 -0
- package/skills/schematic-datasheet-analysis/SKILL.md +202 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Tests for KiCad MCP Server."""
|
|
@@ -0,0 +1,219 @@
|
|
|
1
|
+
# ESP32S3 Development Board Test Example
|
|
2
|
+
|
|
3
|
+
This document demonstrates how to use the KiCad MCP Server to create a complete ESP32S3 development board schematic with peripherals and generate Arduino test code.
|
|
4
|
+
|
|
5
|
+
## Project Description
|
|
6
|
+
|
|
7
|
+
Create an ESP32S3 development board with:
|
|
8
|
+
- **MCU**: ESP32S3-WROOM-1 module
|
|
9
|
+
- **Display**: SSD1306 I2C OLED (128x32)
|
|
10
|
+
- **Input**: Push button with pull-up resistor
|
|
11
|
+
- **Output**: LED with current limiting resistor
|
|
12
|
+
|
|
13
|
+
## Generated Files
|
|
14
|
+
|
|
15
|
+
### 1. Schematic File (`esp32s3_devboard.kicad_sch`)
|
|
16
|
+
|
|
17
|
+
KiCad schematic file with the following components:
|
|
18
|
+
|
|
19
|
+
| Reference | Component | Value | Footprint |
|
|
20
|
+
|-----------|-----------|-------|-----------|
|
|
21
|
+
| U1 | ESP32 Module | ESP32S3-WROOM-1 | Module:ESP32S3-WROOM-1-N16R8 |
|
|
22
|
+
| U2 | OLED Display | SSD1306 | Display:OLED-0.91-128x32 |
|
|
23
|
+
| SW1 | Push Button | BUTTON | Button_Switch_SMD:SW_Push_1P1T_NO_6x6mm_H9.5mm |
|
|
24
|
+
| D1 | LED | LED_RED | LED_SMD:LED_0805_2012Metric |
|
|
25
|
+
| R1 | Resistor | 1k | Resistor_SMD:R_0805_2012Metric |
|
|
26
|
+
| R2 | Resistor | 10k | Resistor_SMD:R_0805_2012Metric |
|
|
27
|
+
|
|
28
|
+
### 2. Arduino Test Code (`esp32s3_test.ino`)
|
|
29
|
+
|
|
30
|
+
Complete Arduino test firmware with:
|
|
31
|
+
|
|
32
|
+
#### Features
|
|
33
|
+
- **LED Test**: Blinks LED 3 times on startup
|
|
34
|
+
- **Button Test**: Detects button presses with debounce
|
|
35
|
+
- **I2C Scan**: Scans I2C bus and detects OLED display
|
|
36
|
+
- **OLED Display**: Shows test status and button press count
|
|
37
|
+
- **Serial Output**: 115200 baud debug output
|
|
38
|
+
|
|
39
|
+
#### Pin Configuration
|
|
40
|
+
```
|
|
41
|
+
BUTTON_PIN = GPIO0 (internal pull-up)
|
|
42
|
+
LED_PIN = GPIO2
|
|
43
|
+
I2C_SDA = GPIO6
|
|
44
|
+
I2C_SCL = GPIO7
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
#### Test Sequence
|
|
48
|
+
1. Initialize serial communication
|
|
49
|
+
2. Configure GPIO pins
|
|
50
|
+
3. Initialize I2C bus
|
|
51
|
+
4. Initialize OLED display
|
|
52
|
+
5. Run LED blink test
|
|
53
|
+
6. Run button input test
|
|
54
|
+
7. Scan I2C bus for devices
|
|
55
|
+
8. Enter interactive mode:
|
|
56
|
+
- Press button to toggle LED
|
|
57
|
+
- Update display with test count
|
|
58
|
+
- Serial output of each action
|
|
59
|
+
|
|
60
|
+
#### Required Libraries
|
|
61
|
+
```cpp
|
|
62
|
+
#include <Wire.h>
|
|
63
|
+
#include <Adafruit_GFX.h>
|
|
64
|
+
#include <Adafruit_SSD1306.h>
|
|
65
|
+
```
|
|
66
|
+
|
|
67
|
+
Install via Arduino IDE Library Manager:
|
|
68
|
+
- Adafruit GFX Library
|
|
69
|
+
- Adafruit SSD1306
|
|
70
|
+
|
|
71
|
+
#### Hardware Connections
|
|
72
|
+
```
|
|
73
|
+
ESP32S3-WROOM-1:
|
|
74
|
+
GPIO6 → OLED SDA
|
|
75
|
+
GPIO7 → OLED SCL
|
|
76
|
+
GPIO0 → SW1 (Button)
|
|
77
|
+
GPIO2 → R1 → D1 (LED) → GND
|
|
78
|
+
+3V3 → OLED VDD, R2, R1
|
|
79
|
+
GND → OLED GND, SW1, D1 cathode
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## Usage Instructions
|
|
83
|
+
|
|
84
|
+
### 1. Setup Arduino IDE
|
|
85
|
+
|
|
86
|
+
```bash
|
|
87
|
+
# Install Arduino IDE 2.0
|
|
88
|
+
# Add ESP32 board support
|
|
89
|
+
# Tools > Board > Boards Manager > Search "ESP32" > Install
|
|
90
|
+
```
|
|
91
|
+
|
|
92
|
+
### 2. Configure Board
|
|
93
|
+
|
|
94
|
+
```
|
|
95
|
+
Tools > Board > esp32 > ESP32S3 Dev Module
|
|
96
|
+
Tools > Upload Speed: 921600
|
|
97
|
+
Tools > USB Mode: Hardware CDC and JTAG
|
|
98
|
+
Tools > Port: (Select your ESP32S3 board)
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
### 3. Install Required Libraries
|
|
102
|
+
|
|
103
|
+
```
|
|
104
|
+
Sketch > Include Library > Manage Libraries
|
|
105
|
+
Search: "Adafruit GFX" → Install
|
|
106
|
+
Search: "Adafruit SSD1306" → Install
|
|
107
|
+
```
|
|
108
|
+
|
|
109
|
+
### 4. Upload Code
|
|
110
|
+
|
|
111
|
+
1. Open `esp32s3_test.ino` in Arduino IDE
|
|
112
|
+
2. Verify/Compile the code (✓ button)
|
|
113
|
+
3. Upload to ESP32S3
|
|
114
|
+
4. Open Serial Monitor (115200 baud)
|
|
115
|
+
|
|
116
|
+
### 5. Expected Output
|
|
117
|
+
|
|
118
|
+
```
|
|
119
|
+
===============================================
|
|
120
|
+
ESP32S3 Dev Board - Arduino Test Suite
|
|
121
|
+
===============================================
|
|
122
|
+
|
|
123
|
+
✅ Pins initialized:
|
|
124
|
+
Button: GPIO0
|
|
125
|
+
LED: GPIO2
|
|
126
|
+
|
|
127
|
+
✅ I2C initialized:
|
|
128
|
+
SDA: GPIO6
|
|
129
|
+
SCL: GPIO7
|
|
130
|
+
|
|
131
|
+
✅ OLED display initialized (0x3C)
|
|
132
|
+
|
|
133
|
+
Display test pattern shown on OLED
|
|
134
|
+
|
|
135
|
+
Running initial tests...
|
|
136
|
+
|
|
137
|
+
Test: LED Blink
|
|
138
|
+
Blink 1
|
|
139
|
+
Blink 2
|
|
140
|
+
Blink 3
|
|
141
|
+
✅ LED test passed
|
|
142
|
+
|
|
143
|
+
Test: Button Input
|
|
144
|
+
Initial state: HIGH
|
|
145
|
+
Waiting for button press...
|
|
146
|
+
✅ Button test ready
|
|
147
|
+
|
|
148
|
+
Test: I2C Bus Scan
|
|
149
|
+
Scanning I2C bus...
|
|
150
|
+
I2C device found at 0x3C
|
|
151
|
+
1 device(s) found
|
|
152
|
+
✅ I2C scan complete
|
|
153
|
+
|
|
154
|
+
===============================================
|
|
155
|
+
Initialization complete!
|
|
156
|
+
Ready for interactive testing
|
|
157
|
+
===============================================
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
### 6. Interactive Testing
|
|
161
|
+
|
|
162
|
+
Press the button to:
|
|
163
|
+
- Toggle LED on/off
|
|
164
|
+
- Increment test counter
|
|
165
|
+
- Update OLED display
|
|
166
|
+
- Log to serial monitor
|
|
167
|
+
|
|
168
|
+
OLED will show:
|
|
169
|
+
```
|
|
170
|
+
ESP32S3 Test
|
|
171
|
+
Count: 5
|
|
172
|
+
LED: ON
|
|
173
|
+
Btn: PRESSED
|
|
174
|
+
```
|
|
175
|
+
|
|
176
|
+
## Troubleshooting
|
|
177
|
+
|
|
178
|
+
### OLED not detected
|
|
179
|
+
- Check I2C connections (SDA/SCL)
|
|
180
|
+
- Verify I2C address (default 0x3C)
|
|
181
|
+
- Try scanning I2C bus with different addresses
|
|
182
|
+
|
|
183
|
+
### Button not working
|
|
184
|
+
- Verify GPIO0 is properly connected
|
|
185
|
+
- Check internal pull-up is enabled
|
|
186
|
+
- Test with external pull-up resistor (10k)
|
|
187
|
+
|
|
188
|
+
### LED not lighting
|
|
189
|
+
- Verify LED orientation (anode to MCU)
|
|
190
|
+
- Check current limiting resistor (1k to GND)
|
|
191
|
+
- Test LED with multimeter
|
|
192
|
+
|
|
193
|
+
### Upload fails
|
|
194
|
+
- Press BOOT button when uploading
|
|
195
|
+
- Check USB driver installation
|
|
196
|
+
- Try lower upload speed (460800)
|
|
197
|
+
|
|
198
|
+
## Example Output Video
|
|
199
|
+
|
|
200
|
+
Expected behavior:
|
|
201
|
+
1. Power on → OLED displays "ESP32S3 Test"
|
|
202
|
+
2. LED blinks 3 times
|
|
203
|
+
3. Serial monitor shows test sequence
|
|
204
|
+
4. Press button → LED toggles
|
|
205
|
+
5. OLED updates with count
|
|
206
|
+
|
|
207
|
+
## Extensions
|
|
208
|
+
|
|
209
|
+
Possible enhancements:
|
|
210
|
+
- Add WiFi/Bluetooth connectivity tests
|
|
211
|
+
- PWM output to LED for brightness control
|
|
212
|
+
- ADC input for analog sensors
|
|
213
|
+
- SPI flash memory test
|
|
214
|
+
- Deep sleep mode test
|
|
215
|
+
- OTA firmware update
|
|
216
|
+
|
|
217
|
+
## License
|
|
218
|
+
|
|
219
|
+
This test code is part of the KiCad MCP Server project.
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# Test Fixtures for KiCad MCP Server
|
|
2
|
+
|
|
3
|
+
This directory contains test fixture files for testing the MCP server tools.
|
|
4
|
+
|
|
5
|
+
## Fixture Categories
|
|
6
|
+
|
|
7
|
+
### Validation Test Fixtures
|
|
8
|
+
- `erc_violations.kicad_sch` - Schematic with intentional ERC violations
|
|
9
|
+
- `drc_violations.kicad_pcb` - PCB with intentional DRC violations
|
|
10
|
+
- `clean_design.kicad_sch` - Clean schematic with no violations
|
|
11
|
+
- `clean_design.kicad_pcb` - Clean PCB with no violations
|
|
12
|
+
|
|
13
|
+
### Pin Analysis Test Fixtures
|
|
14
|
+
- `stm32_board.kicad_sch` - STM32-based board for pin analysis
|
|
15
|
+
- `esp32_board.kicad_sch` - ESP32-based board for pin analysis
|
|
16
|
+
- `pin_conflicts.kicad_sch` - Schematic with pin conflicts
|
|
17
|
+
|
|
18
|
+
### Device Tree Test Fixtures
|
|
19
|
+
- `stm32f4_project/` - Complete STM32F4 project for device tree generation
|
|
20
|
+
- `esp32_project/` - Complete ESP32 project for device tree generation
|
|
21
|
+
- `complex_peripherals.kicad_sch` - Schematic with multiple I2C/SPI devices
|
|
22
|
+
|
|
23
|
+
### Test Generation Test Fixtures
|
|
24
|
+
- `gpio_test_board.kicad_sch` - Board for GPIO test generation
|
|
25
|
+
- `i2c_sensors.kicad_sch` - Board with multiple I2C sensors
|
|
26
|
+
- `spi_devices.kicad_sch` - Board with multiple SPI devices
|
|
27
|
+
|
|
28
|
+
## Fixture Creation Guidelines
|
|
29
|
+
|
|
30
|
+
### ERC Violation Fixture
|
|
31
|
+
Create schematic with:
|
|
32
|
+
- Unconnected input pins
|
|
33
|
+
- Multiple outputs on same net
|
|
34
|
+
- Power-to-power connections
|
|
35
|
+
- Pin type mismatches
|
|
36
|
+
|
|
37
|
+
### DRC Violation Fixture
|
|
38
|
+
Create PCB with:
|
|
39
|
+
- Clearance violations (< 0.15mm)
|
|
40
|
+
- Missing connections
|
|
41
|
+
- Pad/footprint overlaps
|
|
42
|
+
- Board edge constraints
|
|
43
|
+
|
|
44
|
+
### Device Tree Fixture
|
|
45
|
+
Create project with:
|
|
46
|
+
- MCU component (STM32/ESP32/etc.)
|
|
47
|
+
- I2C devices with proper naming
|
|
48
|
+
- SPI devices with chip selects
|
|
49
|
+
- GPIO pins with named nets
|
|
50
|
+
- Power management components
|
|
51
|
+
|
|
52
|
+
## Usage
|
|
53
|
+
|
|
54
|
+
```python
|
|
55
|
+
# Example test using fixtures
|
|
56
|
+
def test_run_erc_with_violations():
|
|
57
|
+
result = await run_erc("tests/fixtures/erc_violations.kicad_sch")
|
|
58
|
+
assert "❌ ERC violation detected" in result
|
|
59
|
+
assert "unconnected pin" in result.lower()
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## Note
|
|
63
|
+
|
|
64
|
+
These fixtures should be created using actual KiCad 9.0 to ensure compatibility.
|
|
65
|
+
For now, this directory serves as a placeholder for future fixture creation.
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Test fixtures for KiCad MCP Server."""
|
|
@@ -0,0 +1,177 @@
|
|
|
1
|
+
(kicad_pcb (version 20171130) (host pcbnew 5.1.0)
|
|
2
|
+
|
|
3
|
+
(general
|
|
4
|
+
(thickness 1.6)
|
|
5
|
+
(drawings 0)
|
|
6
|
+
(tracks 0)
|
|
7
|
+
(vias 0)
|
|
8
|
+
(zones 0)
|
|
9
|
+
(modules 4)
|
|
10
|
+
(nets 3)
|
|
11
|
+
)
|
|
12
|
+
|
|
13
|
+
(page A4)
|
|
14
|
+
(layers
|
|
15
|
+
(0 F.Cu signal)
|
|
16
|
+
(31 B.Cu signal)
|
|
17
|
+
(32 B.Adhes user)
|
|
18
|
+
(33 F.Adhes user)
|
|
19
|
+
(34 B.Paste user)
|
|
20
|
+
(35 F.Paste user)
|
|
21
|
+
(36 B.SilkS user)
|
|
22
|
+
(37 F.SilkS user)
|
|
23
|
+
(38 B.Mask user)
|
|
24
|
+
(39 F.Mask user)
|
|
25
|
+
(40 Dwgs.User user)
|
|
26
|
+
(41 Cmts.User user)
|
|
27
|
+
(42 Eco1.User user)
|
|
28
|
+
(43 Eco2.User user)
|
|
29
|
+
(44 Edge.Cuts user)
|
|
30
|
+
(45 Margin user)
|
|
31
|
+
(46 B.CrtYd user)
|
|
32
|
+
(47 F.CrtYd user)
|
|
33
|
+
(48 B.Fab user)
|
|
34
|
+
(49 F.Fab user)
|
|
35
|
+
)
|
|
36
|
+
|
|
37
|
+
(setup
|
|
38
|
+
(last_trace_width 0.25)
|
|
39
|
+
(trace_clearance 0.2)
|
|
40
|
+
(zone_clearance 0.508)
|
|
41
|
+
(zone_45_only no)
|
|
42
|
+
(trace_min 0.2)
|
|
43
|
+
(via_size 0.8)
|
|
44
|
+
(via_drill 0.4)
|
|
45
|
+
(via_min_size 0.4)
|
|
46
|
+
(via_min_drill 0.3)
|
|
47
|
+
(uvia_size 0.3)
|
|
48
|
+
(uvia_drill 0.1)
|
|
49
|
+
(uvias_allowed no)
|
|
50
|
+
(uvia_min_size 0.2)
|
|
51
|
+
(uvia_min_drill 0.1)
|
|
52
|
+
(edge_width 0.05)
|
|
53
|
+
(segment_width 0.2)
|
|
54
|
+
(pcb_text_width 0.3)
|
|
55
|
+
(pcb_text_size 1.5 1.5)
|
|
56
|
+
(mod_edge_width 0.12)
|
|
57
|
+
(mod_text_size 1 1)
|
|
58
|
+
(mod_text_width 0.15)
|
|
59
|
+
(pad_size 1.524 1.524)
|
|
60
|
+
(pad_drill 0.762)
|
|
61
|
+
(pad_to_mask_clearance 0.05)
|
|
62
|
+
(aux_axis_origin 0 0)
|
|
63
|
+
(visible_elements FFFFFF7F)
|
|
64
|
+
(pcbplotparams
|
|
65
|
+
(layerselection 0x010fc_ffffffff)
|
|
66
|
+
(usegerberextensions false)
|
|
67
|
+
(usegerberattributes false)
|
|
68
|
+
(usegerberadvancedattributes false)
|
|
69
|
+
(creategerberjobfile false)
|
|
70
|
+
(excludeedgelayer true)
|
|
71
|
+
(linewidth 0.100000)
|
|
72
|
+
(plotframeref false)
|
|
73
|
+
(viasonmask false)
|
|
74
|
+
(mode 1)
|
|
75
|
+
(useauxorigin false)
|
|
76
|
+
(hpglpennumber 1)
|
|
77
|
+
(hpglpenspeed 20)
|
|
78
|
+
(hpglpendiameter 15.000000)
|
|
79
|
+
(psnegative false)
|
|
80
|
+
(psa4output false)
|
|
81
|
+
(plotreference true)
|
|
82
|
+
(plotvalue true)
|
|
83
|
+
(plotinvisibletext false)
|
|
84
|
+
(padsonsilk false)
|
|
85
|
+
(subtractmaskfromsilk false)
|
|
86
|
+
(outputformat 1)
|
|
87
|
+
(mirror false)
|
|
88
|
+
(drillshape 1)
|
|
89
|
+
(scaleselection 1)
|
|
90
|
+
(outputdirectory ""))
|
|
91
|
+
)
|
|
92
|
+
|
|
93
|
+
(net 0 "")
|
|
94
|
+
(net 1 "GND")
|
|
95
|
+
(net 2 "+3V3")
|
|
96
|
+
|
|
97
|
+
(net_class Default "This is the default net class."
|
|
98
|
+
(clearance 0.2)
|
|
99
|
+
(trace_width 0.25)
|
|
100
|
+
(via_dia 0.8)
|
|
101
|
+
(via_drill 0.4)
|
|
102
|
+
(uvia_dia 0.3)
|
|
103
|
+
(uvia_drill 0.1)
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
(module Resistor_SMD:R_0805_2012Metric (layer F.Cu) (tedit 5B36C52B) (tstamp 5ABCDEF0)
|
|
107
|
+
(at 100 100)
|
|
108
|
+
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal")
|
|
109
|
+
(tags resistor)
|
|
110
|
+
(path 12345678-1234-1234-1234-123456789abc)
|
|
111
|
+
(attr smd)
|
|
112
|
+
(fp_text reference R1 (at 0 -1.65) (layer F.SilkS)
|
|
113
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
114
|
+
)
|
|
115
|
+
(fp_text value 10k (at 0 1.65) (layer F.Fab)
|
|
116
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
117
|
+
)
|
|
118
|
+
(pad 1 smd rect (at -0.95 0) (size 1.2 1.5) (layers F.Cu F.Paste F.Mask)
|
|
119
|
+
(net 1))
|
|
120
|
+
(pad 2 smd rect (at 0.95 0) (size 1.2 1.5) (layers F.Cu F.Paste F.Mask)
|
|
121
|
+
(net 2))
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
(module Resistor_SMD:R_0805_2012Metric (layer F.Cu) (tedit 5B36C52B) (tstamp 5ABCDEF1)
|
|
125
|
+
(at 150 100)
|
|
126
|
+
(descr "Resistor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal")
|
|
127
|
+
(tags resistor)
|
|
128
|
+
(path 12345678-1234-1234-1234-123456789abd)
|
|
129
|
+
(attr smd)
|
|
130
|
+
(fp_text reference R2 (at 0 -1.65) (layer F.SilkS)
|
|
131
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
132
|
+
)
|
|
133
|
+
(fp_text value 4.7k (at 0 1.65) (layer F.Fab)
|
|
134
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
135
|
+
)
|
|
136
|
+
(pad 1 smd rect (at -0.95 0) (size 1.2 1.5) (layers F.Cu F.Paste F.Mask)
|
|
137
|
+
(net 2))
|
|
138
|
+
(pad 2 smd rect (at 0.95 0) (size 1.2 1.5) (layers F.Cu F.Paste F.Mask)
|
|
139
|
+
(net 1))
|
|
140
|
+
)
|
|
141
|
+
|
|
142
|
+
(module Capacitor_SMD:C_0805_2012Metric (layer F.Cu) (tedit 5B36C52B) (tstamp 5ABCDEF2)
|
|
143
|
+
(at 100 150)
|
|
144
|
+
(descr "Capacitor SMD 0805 (2012 Metric), square (rectangular) end terminal, IPC_7351 nominal")
|
|
145
|
+
(tags capacitor)
|
|
146
|
+
(path 12345678-1234-1234-1234-123456789abe)
|
|
147
|
+
(attr smd)
|
|
148
|
+
(fp_text reference C1 (at 0 -1.65) (layer F.SilkS)
|
|
149
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
150
|
+
)
|
|
151
|
+
(fp_text value 100nF (at 0 1.65) (layer F.Fab)
|
|
152
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
153
|
+
)
|
|
154
|
+
(pad 1 smd rect (at -0.95 0) (size 1.2 1.5) (layers F.Cu F.Paste F.Mask)
|
|
155
|
+
(net 2))
|
|
156
|
+
(pad 2 smd rect (at 0.95 0) (size 1.2 1.5) (layers F.Cu F.Paste F.Mask)
|
|
157
|
+
(net 1))
|
|
158
|
+
)
|
|
159
|
+
|
|
160
|
+
(module Module:ESP32-WROOM-32 (layer F.Cu) (tedit 5A030DC3) (tstamp 5ABCDEF3)
|
|
161
|
+
(at 200 150)
|
|
162
|
+
(descr "RF Module, ESP32-WROOM-32, http://www.espressif.com/sites/default/files/documentation/0a-esp32-wroom-32_datasheet_en.pdf")
|
|
163
|
+
(tags "ESP Wi-Fi Bluetooth")
|
|
164
|
+
(path 12345678-1234-1234-1234-123456789abf)
|
|
165
|
+
(attr smd)
|
|
166
|
+
(fp_text reference U1 (at 0 -12.7) (layer F.SilkS)
|
|
167
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
168
|
+
)
|
|
169
|
+
(fp_text value ESP32-WROOM-32 (at 0 12.7) (layer F.Fab)
|
|
170
|
+
(effects (font (size 1 1) (thickness 0.15)))
|
|
171
|
+
)
|
|
172
|
+
(pad 1 smd rect (at -8 6) (size 2 1) (layers F.Cu F.Paste F.Mask)
|
|
173
|
+
(net 1))
|
|
174
|
+
(pad 2 smd rect (at -8 4) (size 2 1) (layers F.Cu F.Paste F.Mask)
|
|
175
|
+
(net 2))
|
|
176
|
+
)
|
|
177
|
+
)
|
|
@@ -0,0 +1,145 @@
|
|
|
1
|
+
(kicad_sch (version 20211123) (generator eeschema)
|
|
2
|
+
|
|
3
|
+
(paper "A4")
|
|
4
|
+
(title_block
|
|
5
|
+
(title "Example Project")
|
|
6
|
+
(company "Test Company")
|
|
7
|
+
(date "2025-01-25")
|
|
8
|
+
(rev "1.0")
|
|
9
|
+
)
|
|
10
|
+
|
|
11
|
+
(lib_symbols
|
|
12
|
+
)
|
|
13
|
+
|
|
14
|
+
(polyline (pts (xy 50 100) (xy 150 100)))
|
|
15
|
+
|
|
16
|
+
(symbol (lib_id "Device:R") (at 100 100 0) (unit 1)
|
|
17
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
18
|
+
(uuid 12345678-1234-1234-1234-123456789abc)
|
|
19
|
+
(property "Reference" "R1" (at 95 95 0)
|
|
20
|
+
(effects (font (size 1.27 1.27)))
|
|
21
|
+
)
|
|
22
|
+
(property "Value" "10k" (at 95 105 0)
|
|
23
|
+
(effects (font (size 1.27 1.27)))
|
|
24
|
+
)
|
|
25
|
+
(property "Footprint" "Resistor_SMD:R_0805_2012Metric" (at 100 100 0)
|
|
26
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
27
|
+
)
|
|
28
|
+
(pin "1" (uuid 11111111-1111-1111-1111-111111111111))
|
|
29
|
+
(pin "2" (uuid 22222222-2222-2222-2222-222222222222))
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
(symbol (lib_id "Device:R") (at 150 100 0) (unit 1)
|
|
33
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
34
|
+
(uuid 12345678-1234-1234-1234-123456789abd)
|
|
35
|
+
(property "Reference" "R2" (at 145 95 0)
|
|
36
|
+
(effects (font (size 1.27 1.27)))
|
|
37
|
+
)
|
|
38
|
+
(property "Value" "4.7k" (at 145 105 0)
|
|
39
|
+
(effects (font (size 1.27 1.27)))
|
|
40
|
+
)
|
|
41
|
+
(property "Footprint" "" (at 150 100 0)
|
|
42
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
43
|
+
)
|
|
44
|
+
(pin "1" (uuid 33333333-3333-3333-3333-333333333333))
|
|
45
|
+
(pin "2" (uuid 44444444-4444-4444-4444-444444444444))
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
(symbol (lib_id "Device:C") (at 100 150 0) (unit 1)
|
|
49
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
50
|
+
(uuid 12345678-1234-1234-1234-123456789abe)
|
|
51
|
+
(property "Reference" "C1" (at 95 145 0)
|
|
52
|
+
(effects (font (size 1.27 1.27)))
|
|
53
|
+
)
|
|
54
|
+
(property "Value" "100nF" (at 95 155 0)
|
|
55
|
+
(effects (font (size 1.27 1.27)))
|
|
56
|
+
)
|
|
57
|
+
(property "Footprint" "Capacitor_SMD:C_0805_2012Metric" (at 100 150 0)
|
|
58
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
59
|
+
)
|
|
60
|
+
(pin "1" (uuid 55555555-5555-5555-5555-555555555555))
|
|
61
|
+
(pin "2" (uuid 66666666-6666-6666-6666-666666666666))
|
|
62
|
+
)
|
|
63
|
+
|
|
64
|
+
(symbol (lib_id "MCU_Module:ESP32_WROOM") (at 200 150 0) (unit 1)
|
|
65
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
66
|
+
(uuid 12345678-1234-1234-1234-123456789abf)
|
|
67
|
+
(property "Reference" "U1" (at 195 145 0)
|
|
68
|
+
(effects (font (size 1.27 1.27)))
|
|
69
|
+
)
|
|
70
|
+
(property "Value" "ESP32-WROOM-32" (at 195 155 0)
|
|
71
|
+
(effects (font (size 1.27 1.27)))
|
|
72
|
+
)
|
|
73
|
+
(property "Footprint" "Module:ESP32-WROOM-32" (at 200 150 0)
|
|
74
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
75
|
+
)
|
|
76
|
+
(pin "1" (uuid 77777777-7777-7777-7777-777777777777))
|
|
77
|
+
(pin "2" (uuid 88888888-8888-8888-8888-888888888888))
|
|
78
|
+
)
|
|
79
|
+
|
|
80
|
+
(symbol (lib_id "Connector:Conn_01x04_Pin") (at 250 100 0) (unit 1)
|
|
81
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
82
|
+
(uuid 12345678-1234-1234-1234-123456789ac0)
|
|
83
|
+
(property "Reference" "J1" (at 245 95 0)
|
|
84
|
+
(effects (font (size 1.27 1.27)))
|
|
85
|
+
)
|
|
86
|
+
(property "Value" "Conn_01x04" (at 245 105 0)
|
|
87
|
+
(effects (font (size 1.27 1.27)))
|
|
88
|
+
)
|
|
89
|
+
(property "Footprint" "Connector_PinHeader_2.54mm:PinHeader_1x04_P2.54mm_Vertical" (at 250 100 0)
|
|
90
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
91
|
+
)
|
|
92
|
+
(pin "1" (uuid 99999999-9999-9999-9999-999999999999))
|
|
93
|
+
(pin "2" (uuid aaaaaaaaaaaa-aaaa-aaaa-aaaa-aaaaaaaaaaaa))
|
|
94
|
+
(pin "3" (uuid bbbbbbbb-bbbb-bbbb-bbbb-bbbbbbbbbbbb))
|
|
95
|
+
(pin "4" (uuid cccccccc-cccc-cccc-cccc-cccccccccccc))
|
|
96
|
+
)
|
|
97
|
+
|
|
98
|
+
(symbol (lib_id "Device:R") (at 300 100 0) (unit 1)
|
|
99
|
+
(exclude_from_sim no) (in_bom no) (on_board yes) (dnp yes)
|
|
100
|
+
(uuid 12345678-1234-1234-1234-123456789ac1)
|
|
101
|
+
(property "Reference" "R3" (at 295 95 0)
|
|
102
|
+
(effects (font (size 1.27 1.27)))
|
|
103
|
+
)
|
|
104
|
+
(property "Value" "0R" (at 295 105 0)
|
|
105
|
+
(effects (font (size 1.27 1.27)))
|
|
106
|
+
)
|
|
107
|
+
(property "Footprint" "Resistor_SMD:R_0402_1005Metric" (at 300 100 0)
|
|
108
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
109
|
+
)
|
|
110
|
+
(pin "1" (uuid dddddddd-dddd-dddd-dddd-dddddddddddd))
|
|
111
|
+
(pin "2" (uuid eeeeeeee-eeee-eeee-eeee-eeeeeeeeeeee))
|
|
112
|
+
)
|
|
113
|
+
|
|
114
|
+
(global_label "SPI_CLK" (shape input) (at 120 90 0) (fields_autoplaced yes)
|
|
115
|
+
(effects (font (size 1.27 1.27)) (justify left))
|
|
116
|
+
(uuid ffffffff-ffff-ffff-ffff-ffffffffffff)
|
|
117
|
+
)
|
|
118
|
+
|
|
119
|
+
(label "+3V3" (at 140 100 0) (fields_autoplaced yes)
|
|
120
|
+
(effects (font (size 1.27 1.27)) (justify left))
|
|
121
|
+
(uuid dddddddd-dddd-dddd-dddd-ffffffffffff)
|
|
122
|
+
)
|
|
123
|
+
|
|
124
|
+
(hierarchical_label "SDA" (shape bidirectional) (at 160 90 0)
|
|
125
|
+
(effects (font (size 1.27 1.27)) (justify left))
|
|
126
|
+
(uuid aaaaaaaa-aaaa-aaaa-aaaa-ffffffffffff)
|
|
127
|
+
)
|
|
128
|
+
|
|
129
|
+
(hierarchical_label "SCL" (shape bidirectional) (at 160 95 0)
|
|
130
|
+
(effects (font (size 1.27 1.27)) (justify left))
|
|
131
|
+
(uuid bbbbbbbb-bbbb-bbbb-bbbb-ffffffffffff)
|
|
132
|
+
)
|
|
133
|
+
|
|
134
|
+
(symbol (lib_id "power:GND") (at 100 120 0) (unit 1)
|
|
135
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
136
|
+
(uuid cccccccc-cccc-cccc-cccc-ffffffffffff)
|
|
137
|
+
(property "Reference" "#PWR01" (at 100 126.35 0)
|
|
138
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
139
|
+
)
|
|
140
|
+
(property "Value" "GND" (at 100 123.81 0)
|
|
141
|
+
(effects (font (size 1.27 1.27)))
|
|
142
|
+
)
|
|
143
|
+
(pin "1" (uuid bbbbbbbb-bbbb-bbbb-bbbb-ffffffffffff))
|
|
144
|
+
)
|
|
145
|
+
)
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
(kicad_sch (version 20231120) (generator eeschema)
|
|
2
|
+
|
|
3
|
+
(paper "A4")
|
|
4
|
+
|
|
5
|
+
(lib_symbols
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
(symbol (lib_id "Device:C") (at 80 80 0) (unit 1)
|
|
9
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
10
|
+
(uuid bbbbbbbb-0000-0000-0000-000000000002)
|
|
11
|
+
(property "Reference" "C9" (at 75 75 0)
|
|
12
|
+
(effects (font (size 1.27 1.27)))
|
|
13
|
+
)
|
|
14
|
+
(property "Value" "100nF" (at 75 85 0)
|
|
15
|
+
(effects (font (size 1.27 1.27)))
|
|
16
|
+
)
|
|
17
|
+
(property "Footprint" "Capacitor_SMD:C_0603_1608Metric" (at 80 80 0)
|
|
18
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
19
|
+
)
|
|
20
|
+
(pin "1" (uuid 33333333-0000-0000-0000-333333333333))
|
|
21
|
+
(pin "2" (uuid 44444444-0000-0000-0000-444444444444))
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
)
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
(kicad_sch (version 20231120) (generator eeschema)
|
|
2
|
+
|
|
3
|
+
(paper "A4")
|
|
4
|
+
|
|
5
|
+
(lib_symbols
|
|
6
|
+
)
|
|
7
|
+
|
|
8
|
+
(symbol (lib_id "Device:R") (at 100 100 0) (unit 1)
|
|
9
|
+
(exclude_from_sim no) (in_bom yes) (on_board yes) (dnp no)
|
|
10
|
+
(uuid aaaaaaaa-0000-0000-0000-000000000001)
|
|
11
|
+
(property "Reference" "R1" (at 95 95 0)
|
|
12
|
+
(effects (font (size 1.27 1.27)))
|
|
13
|
+
)
|
|
14
|
+
(property "Value" "10k" (at 95 105 0)
|
|
15
|
+
(effects (font (size 1.27 1.27)))
|
|
16
|
+
)
|
|
17
|
+
(property "Footprint" "Resistor_SMD:R_0805_2012Metric" (at 100 100 0)
|
|
18
|
+
(effects (font (size 1.27 1.27)) hide)
|
|
19
|
+
)
|
|
20
|
+
(pin "1" (uuid 11111111-0000-0000-0000-111111111111))
|
|
21
|
+
(pin "2" (uuid 22222222-0000-0000-0000-222222222222))
|
|
22
|
+
)
|
|
23
|
+
|
|
24
|
+
(sheet
|
|
25
|
+
(at 150 50)
|
|
26
|
+
(size 30 20)
|
|
27
|
+
(property "Sheetname" "Power")
|
|
28
|
+
(property "Sheetfile" "child.kicad_sch")
|
|
29
|
+
)
|
|
30
|
+
|
|
31
|
+
(sheet
|
|
32
|
+
(at 150 100)
|
|
33
|
+
(size 30 20)
|
|
34
|
+
(property "Sheetname" "Ghost")
|
|
35
|
+
(property "Sheetfile" "missing.kicad_sch")
|
|
36
|
+
)
|
|
37
|
+
|
|
38
|
+
)
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""Test package for tools."""
|