cd /news/machine-learning/show-hn-open-schematics-v2-largest-o… · home topics machine-learning article
[ARTICLE · art-44730] src=huggingface.co ↗ pub= topic=machine-learning verified=true sentiment=↑ positive

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

Bshada released Open Schematics V2, the largest open electronic schematics dataset, containing thousands of KiCad schematic and PCB files with metadata. The dataset aims to accelerate machine learning for electronics design by providing structured data for training models.

read6 min views1 publishedJun 30, 2026
Show HN: Open Schematics V2 – Largest open electronic schematics dataset
Image: Hugging Face Blog

Image-Text-to-Text • Updated • 7

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

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(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
── more in #machine-learning 4 stories · sorted by recency
── more on @bshada 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/show-hn-open-schemat…] indexed:0 read:6min 2026-06-30 ·