# Show HN: Open Schematics V2 – Largest open electronic schematics dataset

> Source: <https://huggingface.co/datasets/bshada/open-schematics>
> Published: 2026-06-30 11:44:46+00:00

Image-Text-to-Text • Updated • 7

[ Datasets:](/datasets)

schematic string | schematic_image image | pcb_files list | pcb_images images list | components_used list | schematic_json string | schematic_yaml string | name string | description string | extensions_used list |
|---|---|---|---|---|---|---|---|---|---|
"(kicad_sch\n\t(version 20231120)\n\t(generator \"eeschema\")\n\t(generator_version \"8.0\")\n\t(uui(...TRUNCATED) | ["(kicad_pcb\n\t(version 20240108)\n\t(generator \"pcbnew\")\n\t(generator_version \"8.0\")\n\t(gene(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | ["Conn_01x01_Pin","Conn_01x06_Pin","USB_A","Conn_02x05_Odd_Even","Conn_01x06_MountingPin","C","Fuse_(...TRUNCATED) | "{\n \"libSymbols\": [\n \"Connector:Conn_01x01_Pin\",\n \"Connector:Conn_01x06_Pin\",\n \(...TRUNCATED) | "libSymbols:\n- Connector:Conn_01x01_Pin\n- Connector:Conn_01x06_Pin\n- Connector:USB_A\n- Connector(...TRUNCATED) | TiebeDeclercq/Uart-programmer | "A versatile UART programming board designed for microcontroller development with flexible voltage s(...TRUNCATED) | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch (version 20230121) (generator eeschema)\n\n (uuid e63e39d7-6ac0-4ffd-8aa3-1841a4541b55)(...TRUNCATED) | ["(kicad_pcb (version 20221018) (generator pcbnew)\n\n (general\n (thickness 1.6)\n )\n\n (pap(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | ["C_Small","Conn_01x03","Conn_01x06","Conn_01x08","Conn_01x10","Conn_02x06_Odd_Even","Jumper_3_Bridg(...TRUNCATED) | "{\n \"libSymbols\": [\n \"analog_front_end:C_Small\",\n \"analog_front_end:Conn_01x03\",\n (...TRUNCATED) | "libSymbols:\n- analog_front_end:C_Small\n- analog_front_end:Conn_01x03\n- analog_front_end:Conn_01x(...TRUNCATED) | UofTPhyEssSW/Student-Workshop-Course-L1 | "University of Toronto, Dept. of Physics, Electronic Support Services - Student Workshop Course L1 c(...TRUNCATED) | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch\n\t(version 20250114)\n\t(generator \"eeschema\")\n\t(generator_version \"9.0\")\n\t(uui(...TRUNCATED) | ["(kicad_pcb\n\t(version 20241229)\n\t(generator \"pcbnew\")\n\t(generator_version \"9.0\")\n\t(gene(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | [
"CPDT6-5V0UPC-HF",
"NE555N-TD",
"PESD5V0U4BW",
"STM32F446VET6TR"
] | "{\n \"libSymbols\": [\n \"B7_PartDB:CPDT6-5V0UPC-HF\",\n \"B7_PartDB:NE555N-TD\",\n \"B7_(...TRUNCATED) | "libSymbols:\n- B7_PartDB:CPDT6-5V0UPC-HF\n- B7_PartDB:NE555N-TD\n- B7_PartDB:PESD5V0U4BW\n- B7_Part(...TRUNCATED) | Kater--S/B7-KiCad-Libs | KiCad libs for B7 electronics development | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch (version 20211123) (generator eeschema)\n\n (uuid ac7e5c31-00db-4420-8f7e-97b5f6835ad7)(...TRUNCATED) | ["(kicad_pcb (version 20171130) (host pcbnew \"(5.1.7)-1\")\n\n (general\n (thickness 1.6)\n (...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | ["+3,3V","+5V","74LS02P","74LS541","74x4245","C","CAT25","CONN_6","D50-EDGECONN","EST-MR2A08A","GND"(...TRUNCATED) | "{\n \"libSymbols\": [\n \"d50mram:+3,3V\",\n \"d50mram:+5V\",\n \"d50mram:74LS02P\",\n (...TRUNCATED) | "libSymbols:\n- d50mram:+3,3V\n- d50mram:+5V\n- d50mram:74LS02P\n- d50mram:74LS541\n- d50mram:74x424(...TRUNCATED) | HSBallina/roland-mram-card | A multi-bank MRAM based memory card for Roland instruments | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch (version 20230121) (generator eeschema)\n\n (uuid 42263837-7632-4b29-9542-a61a2119441e)(...TRUNCATED) | ["(kicad_pcb (version 20221018) (generator pcbnew)\n\n (general\n (thickness 1.6)\n )\n\n (pap(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | ["Conn_01x02","Conn_02x04_Top_Bottom","Conn_02x05_Odd_Even","C","LED","R","MAX3232","MountingHole","(...TRUNCATED) | "{\n \"libSymbols\": [\n \"Connector_Generic:Conn_01x02\",\n \"Connector_Generic:Conn_02x04_T(...TRUNCATED) | "libSymbols:\n- Connector_Generic:Conn_01x02\n- Connector_Generic:Conn_02x04_Top_Bottom\n- Connector(...TRUNCATED) | notthetup/esp232 | ESP32 + RS232 = 💰 | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch (version 20211123) (generator eeschema)\n\n (uuid afd3dbad-e7a8-4e4c-b77c-4065a69aefa2)(...TRUNCATED) | ["(kicad_pcb (version 20211014) (generator pcbnew)\n\n (general\n (thickness 1.6)\n )\n\n (pap(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | [
"Conn_01x01",
"+12V",
"BC846",
"C-EUC1206",
"GND",
"LM358D",
"R-EU_R0805"
] | "{\n \"libSymbols\": [\n \"Connector_Generic:Conn_01x01\",\n \"S-Mix-Replacement-eagle-import(...TRUNCATED) | "libSymbols:\n- Connector_Generic:Conn_01x01\n- S-Mix-Replacement-eagle-import:+12V\n- S-Mix-Replace(...TRUNCATED) | ManCloud/S-MIX-replacement | Replacement PCB for broken S-MIX ICs | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch (version 20230121) (generator eeschema)\n\n (uuid ad0152e8-b0b4-42e6-8559-5c9df2df486f)(...TRUNCATED) | ["(kicad_pcb (version 20221018) (generator pcbnew)\n\n (general\n (thickness 1.6)\n )\n\n (pap(...TRUNCATED) | ["LM358","TestPoint","C","C_Polarized","Crystal_GND2","Q_NPN_BCE","Q_PNP_BCE","R","D_1N4148WS-SOD323(...TRUNCATED) | "{\n \"libSymbols\": [\n \"Amplifier_Operational:LM358\",\n \"Connector:TestPoint\",\n \"D(...TRUNCATED) | "libSymbols:\n- Amplifier_Operational:LM358\n- Connector:TestPoint\n- Device:C\n- Device:C_Polarized(...TRUNCATED) | Zychlix/Inverter32 | An open source, open hardware plug'n'play 3 phase motor inverter design. It | [
".kicad_sch",
".kicad_pcb"
] | ||
"(kicad_sch (version 20211123) (generator eeschema)\n\n (uuid 47ad866d-2717-4a8a-9f10-bb5311d60938)(...TRUNCATED) | ["(kicad_pcb (version 20211014) (generator pcbnew)\n\n (general\n (thickness 1.6)\n )\n\n (pap(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | ["USB_C_Receptacle_USB2.0","Conn_01x03_MountingPin","Conn_01x04_MountingPin","C_Small","D_Small","LE(...TRUNCATED) | "{\n \"libSymbols\": [\n \"Connector:USB_C_Receptacle_USB2.0\",\n \"Connector_Generic_Mountin(...TRUNCATED) | "libSymbols:\n- Connector:USB_C_Receptacle_USB2.0\n- Connector_Generic_MountingPin:Conn_01x03_Mounti(...TRUNCATED) | Jana-Marie/MiniBee | "Some smol Zigbee endpoint to integrate addressable LEDs (e.g. SK6812, WS2812) into existing smart l(...TRUNCATED) | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch (version 20211123) (generator eeschema)\n\n (uuid cbb67656-d7e5-4911-ac92-b50d967751c3)(...TRUNCATED) | ["(kicad_pcb (version 20211014) (generator pcbnew)\n\n (general\n (thickness 1.6)\n )\n\n (pap(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | ["SJ-3523N","Barrel_Jack_Switch","TestPoint","C","C_Polarized","LED","R","R_Potentiometer","R_Potent(...TRUNCATED) | "{\n \"libSymbols\": [\n \"12AU7-Amplifier:SJ-3523N\",\n \"Connector:Barrel_Jack_Switch\",\n (...TRUNCATED) | "libSymbols:\n- 12AU7-Amplifier:SJ-3523N\n- Connector:Barrel_Jack_Switch\n- Connector:TestPoint\n- D(...TRUNCATED) | ryanshappell/12AU7-Amplifier | 12AU7 Vacuum tube headphone amplifier. | [
".kicad_sch",
".kicad_pcb"
] | |
"(kicad_sch\n\t(version 20250114)\n\t(generator \"eeschema\")\n\t(generator_version \"9.0\")\n\t(uui(...TRUNCATED) | ["(kicad_pcb\n\t(version 20241229)\n\t(generator \"pcbnew\")\n\t(generator_version \"9.0\")\n\t(gene(...TRUNCATED) | [{"src":"https://datasets-server.huggingface.co/assets/bshada/open-schematics/--/{dataset_git_revisi(...TRUNCATED) | [
"SK6812",
"XIAO-RP2040-DIP",
"SW_Push",
"+5V",
"GND"
] | "{\n \"libSymbols\": [\n \"LED:SK6812\",\n \"Seeed_Studio_XIAO_Series:XIAO-RP2040-DIP\",\n (...TRUNCATED) | "libSymbols:\n- LED:SK6812\n- Seeed_Studio_XIAO_Series:XIAO-RP2040-DIP\n- Switch:SW_Push\n- power:+5(...TRUNCATED) | emilyl1121/emilyhackpad-v1 | This is for my hackpad, a macropad project that has 4 keys and basic functions! | [
".kicad_sch",
".kicad_pcb"
] |

[Expand in Data Studio](/datasets/bshada/open-schematics/viewer/default/train)

# Open Schematics Dataset

The largest dataset of electronic schematics and PCB layouts on the internet, built as an engineering reference for schematic and PCB layout work. It's a self-growing, autonomous dataset that continuously scans the web for new engineering designs and updates itself accordingly.

## Dataset Description

Each record corresponds to one schematic file and includes the raw source, rendered images, structured metadata, and all associated PCB files from the same project.

### Dataset Structure

| Field | Type | Description |
|---|---|---|
`schematic` |
string | Raw schematic file content (`.kicad_sch` , `.sch` , or `.SchDoc` ) |
`schematic_image` |
image | Rendered PNG of the schematic (None if unavailable) |
`pcb_files` |
list[string] | Raw content of PCB files (`.kicad_pcb` / `.pcb` ) from the same project |
`pcb_images` |
list[image] | Rendered PNGs of each PCB file, parallel to `pcb_files` (None per entry if unavailable) |
`components_used` |
list[string] | Component names extracted from library symbols (`.kicad_sch` only; None for other formats) |
`schematic_json` |
string | kiutils JSON representation of the schematic (`.kicad_sch` only; None otherwise) |
`schematic_yaml` |
string | kiutils YAML representation of the schematic (`.kicad_sch` only; None otherwise) |
`name` |
string | Source repository (`owner/repo` ) |
`description` |
string | Repository description |
`extensions_used` |
list[string] | File extensions present: schematic extension first, then unique PCB extensions (e.g. `[".kicad_sch", ".kicad_pcb"]` ) |

### Schematic formats included

`.kicad_sch`

— KiCad v5+ (primary format; includes JSON/YAML/components)`.sch`

— KiCad v4 legacy`.SchDoc`

— Altium Designer

### PCB filters applied

- PCB files larger than 10 MB are excluded (extreme outliers; affects <1% of files)
- Projects with more than 20 PCB files retain the 20 with the largest rendered image (highest detail), ranked by pixel area

## Dataset Creation

### Source Data

Schematics and PCB layouts collected from publicly available data from the web.

### Data Collection

Files were fetched and processed to extract:

- Raw schematic and PCB source files
- Rendered images (PNG/SVG → PNG)
- Structured metadata via
[kiutils](https://github.com/mvnmgrx/kiutils)(JSON/YAML) - Component lists from library symbol references

### Data Processing

- Empty
`.kicad_sch`

files (no library symbols or schematic symbols) are filtered out `.sch`

and`.SchDoc`

rows are included with raw text only; JSON/YAML/components are None when kiutils conversion is unavailable- Component names are extracted from
`libSymbols`

fields and deduplicated per library prefix `extensions_used`

is inferred from actual file paths on disk, not from YAML metadata fields

## Use Cases

**Circuit Design AI**: Training models to generate or understand electronic schematics** PCB Layout Understanding**: Learning the relationship between schematics and their physical PCB layouts** Component Recognition**: Identifying electronic components from schematic and PCB diagrams** Design Assistance**: Building tools to help engineers with circuit and PCB design** Multimodal Learning**: Paired schematic text + image + PCB text + image for cross-modal tasks** Documentation Generation**: Automatically generating documentation from schematics** Design Validation**: Training models to detect errors or suggest improvements** Educational Tools**: Creating interactive learning systems for electronics education

## Limitations

- JSON/YAML/components are only populated for
`.kicad_sch`

format (~85% of rows) - PCB images are unavailable for ~55% of PCB entries (no PNG or SVG rendered)
- Schematic images are unavailable for ~10% of rows
- Quality and complexity of designs vary significantly across projects
- Component naming conventions vary between projects and library sources

## License

This dataset is released under the Creative Commons Attribution 4.0 International (CC-BY-4.0) license. Please ensure you comply with the original licenses of the source projects when using this data.

## Citation

If you use this dataset in your research or projects, please cite:

```
@dataset{open_schematics_2026,
  title={Open Schematics: A Dataset of Electronic Schematics and PCB Layouts from Hardware Projects},
  author={bshada},
  year={2026},
  publisher={Hugging Face},
  howpublished={\url{https://huggingface.co/datasets/bshada/open-schematics}}
}
```

## Contact

For questions, issues, or contributions, please open an issue on the dataset repository.

- Downloads last month
- 4,571
