From 842e23ae62fd74419ec7b6334c280497daf9fde2 Mon Sep 17 00:00:00 2001 From: CrispyPin Date: Sat, 6 Apr 2024 20:13:04 +0200 Subject: [PATCH] init --- .gitignore | 6 + .vscode/c_cpp_properties.json | 20 ++ Makefile | 11 + funconfig.h | 7 + gdbinit | 2 + oled_gol.c | 23 ++ pcb/ch32_oled.kicad_pcb | 545 ++++++++++++++++++++++++++++++++++ pcb/ch32_oled.kicad_prl | 83 ++++++ pcb/ch32_oled.kicad_pro | 272 +++++++++++++++++ 9 files changed, 969 insertions(+) create mode 100644 .gitignore create mode 100644 .vscode/c_cpp_properties.json create mode 100644 Makefile create mode 100644 funconfig.h create mode 100644 gdbinit create mode 100644 oled_gol.c create mode 100644 pcb/ch32_oled.kicad_pcb create mode 100644 pcb/ch32_oled.kicad_prl create mode 100644 pcb/ch32_oled.kicad_pro diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..c8c6811 --- /dev/null +++ b/.gitignore @@ -0,0 +1,6 @@ +*.bin +*.elf +*.hex +*.lst +*.map +*.pdf diff --git a/.vscode/c_cpp_properties.json b/.vscode/c_cpp_properties.json new file mode 100644 index 0000000..ea6fd34 --- /dev/null +++ b/.vscode/c_cpp_properties.json @@ -0,0 +1,20 @@ +{ + "configurations": [ + { + "name": "Linux", + "includePath": [ + "${workspaceFolder}/**", + "${workspaceFolder}/../ch32v003fun/ch32v003fun" + ], + "defines": [], + "compilerPath": "/usr/bin/clang", + "cppStandard": "c++14", + "intelliSenseMode": "linux-clang-x64", + "compilerArgs": [ + "-DCH32V003FUN_BASE" + ], + "configurationProvider": "ms-vscode.makefile-tools" + } + ], + "version": 4 +} \ No newline at end of file diff --git a/Makefile b/Makefile new file mode 100644 index 0000000..f5634bd --- /dev/null +++ b/Makefile @@ -0,0 +1,11 @@ +all : flash + +TARGET:=oled_gol +CH32V003FUN:=../ch32v003fun/ch32v003fun + +include ../ch32v003fun/ch32v003fun/ch32v003fun.mk + +flash : build + gdb-multiarch -x gdbinit -ex 'load' -ex 'detach' -ex 'quit' $(TARGET).elf +clean : cv_clean + diff --git a/funconfig.h b/funconfig.h new file mode 100644 index 0000000..998cf76 --- /dev/null +++ b/funconfig.h @@ -0,0 +1,7 @@ +#ifndef _FUNCONFIG_H +#define _FUNCONFIG_H + +#define CH32V003 1 + +#endif + diff --git a/gdbinit b/gdbinit new file mode 100644 index 0000000..a0bb3de --- /dev/null +++ b/gdbinit @@ -0,0 +1,2 @@ +#set debug remote 1 +target extended-remote /dev/ttyACM1 diff --git a/oled_gol.c b/oled_gol.c new file mode 100644 index 0000000..7e6dfa2 --- /dev/null +++ b/oled_gol.c @@ -0,0 +1,23 @@ +/* Template app on which you can build your own. */ + +#include "ch32v003fun.h" +#include + +#define PIN_LED PC4 + +int main() +{ + SystemInit(); + + funGpioInitAll(); + + funPinMode(PIN_LED, GPIO_Speed_10MHz | GPIO_CNF_OUT_PP); + + while (1) + { + funDigitalWrite(PIN_LED, FUN_HIGH); + Delay_Ms(150); + funDigitalWrite(PIN_LED, FUN_LOW); + Delay_Ms(150); + } +} diff --git a/pcb/ch32_oled.kicad_pcb b/pcb/ch32_oled.kicad_pcb new file mode 100644 index 0000000..1302f3b --- /dev/null +++ b/pcb/ch32_oled.kicad_pcb @@ -0,0 +1,545 @@ +(kicad_pcb (version 20221018) (generator pcbnew) + + (general + (thickness 1.6) + ) + + (paper "A4") + (layers + (0 "F.Cu" signal) + (31 "B.Cu" signal) + (32 "B.Adhes" user "B.Adhesive") + (33 "F.Adhes" user "F.Adhesive") + (34 "B.Paste" user) + (35 "F.Paste" user) + (36 "B.SilkS" user "B.Silkscreen") + (37 "F.SilkS" user "F.Silkscreen") + (38 "B.Mask" user) + (39 "F.Mask" user) + (40 "Dwgs.User" user "User.Drawings") + (41 "Cmts.User" user "User.Comments") + (42 "Eco1.User" user "User.Eco1") + (43 "Eco2.User" user "User.Eco2") + (44 "Edge.Cuts" user) + (45 "Margin" user) + (46 "B.CrtYd" user "B.Courtyard") + (47 "F.CrtYd" user "F.Courtyard") + (48 "B.Fab" user) + (49 "F.Fab" user) + (50 "User.1" user) + (51 "User.2" user) + (52 "User.3" user) + (53 "User.4" user) + (54 "User.5" user) + (55 "User.6" user) + (56 "User.7" user) + (57 "User.8" user) + (58 "User.9" user) + ) + + (setup + (pad_to_mask_clearance 0) + (pcbplotparams + (layerselection 0x00010fc_ffffffff) + (plot_on_all_layers_selection 0x0000000_00000000) + (disableapertmacros false) + (usegerberextensions false) + (usegerberattributes true) + (usegerberadvancedattributes true) + (creategerberjobfile true) + (dashed_line_dash_ratio 12.000000) + (dashed_line_gap_ratio 3.000000) + (svgprecision 4) + (plotframeref false) + (viasonmask false) + (mode 1) + (useauxorigin false) + (hpglpennumber 1) + (hpglpenspeed 20) + (hpglpendiameter 15.000000) + (dxfpolygonmode true) + (dxfimperialunits true) + (dxfusepcbnewfont true) + (psnegative false) + (psa4output false) + (plotreference true) + (plotvalue true) + (plotinvisibletext false) + (sketchpadsonfab false) + (subtractmaskfromsilk false) + (outputformat 1) + (mirror false) + (drillshape 0) + (scaleselection 1) + (outputdirectory "") + ) + ) + + (net 0 "") + (net 1 "SCL") + (net 2 "SDA") + (net 3 "GND") + (net 4 "VCC") + (net 5 "DBG") + + (footprint "Package_DFN_QFN:QFN-20-1EP_3x3mm_P0.4mm_EP1.65x1.65mm" (layer "F.Cu") + (tstamp 0c0bf0a8-2fac-4135-b824-01df913926d3) + (at 118.2 97.45 90) + (descr "QFN, 20 Pin (https://www.analog.com/media/en/technical-documentation/data-sheets/3553fc.pdf#page=34), generated with kicad-footprint-generator ipc_noLead_generator.py") + (tags "QFN NoLead") + (attr smd) + (fp_text reference "MCU" (at 0 -2.82 90) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 4ac8ce2c-372c-424e-9c41-b424ab1bc7ac) + ) + (fp_text value "CH32V003" (at 0 3 90) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d2e27b7b-48be-45e2-98b4-e25be6d8ee10) + ) + (fp_text user "${REFERENCE}" (at 0 0 90) (layer "F.Fab") + (effects (font (size 0.75 0.75) (thickness 0.11))) + (tstamp b597ea5b-6762-4f7a-8463-ea6795e39261) + ) + (fp_line (start -1.61 1.61) (end -1.61 1.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3eb6658b-7754-4dc6-9f97-9568689436c2)) + (fp_line (start -1.16 -1.61) (end -1.61 -1.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 127ce076-c4a5-480e-9825-61f382e14415)) + (fp_line (start -1.16 1.61) (end -1.61 1.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp b7dbed6e-d71e-4156-bc95-59d48fbaccdc)) + (fp_line (start 1.16 -1.61) (end 1.61 -1.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e6317bc3-513a-41ad-a8ab-612f4d41632d)) + (fp_line (start 1.16 1.61) (end 1.61 1.61) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 3167a60f-8e09-427d-9b5b-ae02b0beea24)) + (fp_line (start 1.61 -1.61) (end 1.61 -1.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d32d0917-f1b4-4bf4-ab5e-b757de6440f5)) + (fp_line (start 1.61 1.61) (end 1.61 1.16) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 485a680f-9cca-47e7-81be-a04f48f785f5)) + (fp_line (start -2.12 -2.12) (end -2.12 2.12) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5c19b240-a20a-4667-9a79-5c086158c6e4)) + (fp_line (start -2.12 2.12) (end 2.12 2.12) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5e34ffed-4389-48bd-aa7b-de26d7d779cd)) + (fp_line (start 2.12 -2.12) (end -2.12 -2.12) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 4e13c9e6-550f-4d93-9ccd-4c9f143e7e4a)) + (fp_line (start 2.12 2.12) (end 2.12 -2.12) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 46a2935a-53c0-4e9f-a646-63576d104878)) + (fp_line (start -1.5 -0.75) (end -0.75 -1.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b57a109f-d34c-40d6-a13a-9ad4c4aa7fef)) + (fp_line (start -1.5 1.5) (end -1.5 -0.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 028c0c0b-5471-44dd-91b2-7aee641df699)) + (fp_line (start -0.75 -1.5) (end 1.5 -1.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 17813f4a-d42c-4431-ad41-a2ac015471fb)) + (fp_line (start 1.5 -1.5) (end 1.5 1.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp ee841803-6e37-41d1-be00-d9a5d78513c5)) + (fp_line (start 1.5 1.5) (end -1.5 1.5) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5bb1e7e5-c86f-4e7e-a088-d009328018b1)) + (pad "" smd roundrect (at -0.41 -0.41 90) (size 0.67 0.67) (layers "F.Paste") (roundrect_rratio 0.25) (tstamp ba77561b-34db-43b9-8378-638ce3c63414)) + (pad "" smd roundrect (at -0.41 0.41 90) (size 0.67 0.67) (layers "F.Paste") (roundrect_rratio 0.25) (tstamp 10b9cecb-eeae-4e57-9e6c-16a9e07c3fe6)) + (pad "" smd roundrect (at 0.41 -0.41 90) (size 0.67 0.67) (layers "F.Paste") (roundrect_rratio 0.25) (tstamp 76e40dd2-b1c8-4974-9c4a-2ba0a606e26b)) + (pad "" smd roundrect (at 0.41 0.41 90) (size 0.67 0.67) (layers "F.Paste") (roundrect_rratio 0.25) (tstamp 98e3aac5-aea5-465f-b67b-4b4c6300649f)) + (pad "1" smd roundrect (at -1.45 -0.8 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp bd8749da-89a4-4299-9665-ffadf855fd55)) + (pad "2" smd roundrect (at -1.45 -0.4 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 5b536440-7b43-430a-b8a4-efbd3271dadf)) + (pad "3" smd roundrect (at -1.45 0 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 1f4e7e7c-bfe2-486d-b480-1434bb307a65)) + (pad "4" smd roundrect (at -1.45 0.4 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 3 "GND") (tstamp b3a7caf6-b30c-4ea0-aaaf-f40e91865cd5)) + (pad "5" smd roundrect (at -1.45 0.8 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp acf1eb4f-59e0-41f2-873f-911b735200d3)) + (pad "6" smd roundrect (at -0.8 1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 4 "VCC") (tstamp 3c5aed76-633a-46e3-9925-f489766c0241)) + (pad "7" smd roundrect (at -0.4 1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 6337ac19-b302-43d2-8c70-63537ea4d44d)) + (pad "8" smd roundrect (at 0 1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 2 "SDA") (tstamp bbcbde39-0f0e-4ae3-9051-66612482ca0e)) + (pad "9" smd roundrect (at 0.4 1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 1 "SCL") (tstamp 259999a9-76d7-444d-a2fe-4346616f87d9)) + (pad "10" smd roundrect (at 0.8 1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 37ab4e34-2731-4437-bd42-4c6d3db4d1aa)) + (pad "11" smd roundrect (at 1.45 0.8 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 9383a78a-f06f-46fe-bd37-4a2fe7e5efef)) + (pad "12" smd roundrect (at 1.45 0.4 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 2e895eb5-38eb-4718-bdc5-60916fefb3f2)) + (pad "13" smd roundrect (at 1.45 0 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp 72908d94-a0f4-4772-bcb8-e1ef7031b72e)) + (pad "14" smd roundrect (at 1.45 -0.4 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp c9d7dc9b-917e-4292-b3f2-ec87b45e5816)) + (pad "15" smd roundrect (at 1.45 -0.8 90) (size 0.85 0.2) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) + (net 5 "DBG") (tstamp 19a4409a-3cea-4575-a463-52135c480dd9)) + (pad "16" smd roundrect (at 0.8 -1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp af769f89-ee5a-42b9-89ac-c62da4d6df76)) + (pad "17" smd roundrect (at 0.4 -1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp d799582d-210e-4ed8-a806-5bb2ff768f02)) + (pad "18" smd roundrect (at 0 -1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp fba889d1-4b06-4006-9a1a-de6ee88ef7b3)) + (pad "19" smd roundrect (at -0.4 -1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp d22d3481-b771-4d89-bb77-f1beca5e1cb0)) + (pad "20" smd roundrect (at -0.8 -1.45 90) (size 0.2 0.85) (layers "F.Cu" "F.Paste" "F.Mask") (roundrect_rratio 0.25) (tstamp d4dbc043-ff8b-4898-a922-2f4059c469c4)) + (pad "21" smd rect (at 0 0 90) (size 1.65 1.65) (layers "F.Cu" "F.Mask") + (net 3 "GND") (tstamp 5d37e3a9-1f94-430f-93f5-ad620da54b45)) + (model "${KICAD6_3DMODEL_DIR}/Package_DFN_QFN.3dshapes/QFN-20-1EP_3x3mm_P0.4mm_EP1.65x1.65mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Button_Switch_THT:SW_PUSH_6mm" (layer "F.Cu") + (tstamp 29bf65ed-336a-4f2d-98a5-701994c625af) + (at 106.75 94.25) + (descr "https://www.omron.com/ecb/products/pdf/en-b3f.pdf") + (tags "tact sw push 6mm") + (attr through_hole) + (fp_text reference "SW" (at 3.25 2.25) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c1a92669-83d4-4af9-9803-44f23a3ff48b) + ) + (fp_text value "SW_PUSH_6mm" (at -0.25 8.75) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 68a94696-f630-4904-9645-9df0447a64c2) + ) + (fp_text user "${REFERENCE}" (at 3.25 2.25) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 5e7aae24-7693-40d0-ba9a-0201e3ca9f30) + ) + (fp_line (start -0.25 1.5) (end -0.25 3) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 66041752-a684-48af-812b-b9fafeb48da4)) + (fp_line (start 1 5.5) (end 5.5 5.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp ae6977ab-3fd9-4816-a371-73b34c709c6d)) + (fp_line (start 5.5 -1) (end 1 -1) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp befcd532-7332-420f-b86d-a49730432d85)) + (fp_line (start 6.75 3) (end 6.75 1.5) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 646a0c6b-f35c-4cd8-a23d-d00d7af125e2)) + (fp_line (start -1.5 -1.5) (end -1.25 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dbf41488-2fe3-4f9b-95c2-5cc73364631d)) + (fp_line (start -1.5 -1.25) (end -1.5 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 1430ff86-7b49-417e-a9ae-4523001192e1)) + (fp_line (start -1.5 5.75) (end -1.5 -1.25) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp a32eb61c-a5a6-4d09-83e8-0bdaf1956631)) + (fp_line (start -1.5 5.75) (end -1.5 6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b2cb217c-02b3-4090-abff-87e0450f0251)) + (fp_line (start -1.5 6) (end -1.25 6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp f5e64c02-95aa-4818-9e1a-2f551d1f4fb9)) + (fp_line (start -1.25 -1.5) (end 7.75 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ee1eeb25-0126-423c-a2b1-8e8f85700fce)) + (fp_line (start 7.75 -1.5) (end 8 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp c463d0de-8fef-4148-9c93-48e9853785ff)) + (fp_line (start 7.75 6) (end -1.25 6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp bbfe5727-9ebb-4f95-917b-1078dd49a741)) + (fp_line (start 7.75 6) (end 8 6) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 8989b889-41a6-4280-b0a3-d0564075fbde)) + (fp_line (start 8 -1.5) (end 8 -1.25) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 0954b438-4ca6-4dd3-ac6a-6aae7c448c65)) + (fp_line (start 8 -1.25) (end 8 5.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 43f95282-744a-4bec-a978-9c82af5ee903)) + (fp_line (start 8 6) (end 8 5.75) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp cecc4ed2-20c6-424a-8f9e-294f3616de50)) + (fp_line (start 0.25 -0.75) (end 3.25 -0.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp dd775d93-00b7-4879-afeb-c3fd58ee517a)) + (fp_line (start 0.25 5.25) (end 0.25 -0.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 6523b7eb-c346-40bb-a89b-8442715da723)) + (fp_line (start 3.25 -0.75) (end 6.25 -0.75) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 95e53129-2a6a-4e6f-9b31-bb6686051945)) + (fp_line (start 6.25 -0.75) (end 6.25 5.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 36316d31-0714-4cfb-96b8-1ec14c09be0d)) + (fp_line (start 6.25 5.25) (end 0.25 5.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 7b8b0606-620a-4b6d-a119-ebd2f89999d9)) + (fp_circle (center 3.25 2.25) (end 1.25 2.5) + (stroke (width 0.1) (type solid)) (fill none) (layer "F.Fab") (tstamp b0fa19cd-b390-46b3-81fd-36ecb38f6a32)) + (pad "1" thru_hole circle (at 0 0 90) (size 2 2) (drill 1.1) (layers "*.Cu" "*.Mask") (tstamp 451a15c4-830b-4867-91ea-8185bc4d84bd)) + (pad "1" thru_hole circle (at 6.5 0 90) (size 2 2) (drill 1.1) (layers "*.Cu" "*.Mask") (tstamp b68ce3ba-6762-4e68-9f46-2c7c77f35b32)) + (pad "2" thru_hole circle (at 0 4.5 90) (size 2 2) (drill 1.1) (layers "*.Cu" "*.Mask") (tstamp 42ee40c3-720c-46da-9ecc-5939870feca1)) + (pad "2" thru_hole circle (at 6.5 4.5 90) (size 2 2) (drill 1.1) (layers "*.Cu" "*.Mask") + (net 3 "GND") (tstamp 44c055cb-ecfc-40fe-9850-9999beac5a46)) + (model "${KICAD6_3DMODEL_DIR}/Button_Switch_THT.3dshapes/SW_PUSH_6mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_PinSocket_2.54mm:PinSocket_1x04_P2.54mm_Vertical" (layer "F.Cu") + (tstamp 308e597b-73c4-4c2d-927e-861064cf1f7c) + (at 122.682 91.186) + (descr "Through hole straight socket strip, 1x04, 2.54mm pitch, single row (from Kicad 4.0.7), script generated") + (tags "Through hole socket strip THT 1x04 2.54mm single row") + (attr through_hole) + (fp_text reference "OLED" (at 0.318 -3.186) (layer "F.SilkS") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp b8283423-9fc4-42e1-b64a-64b6fafd1527) + ) + (fp_text value "display" (at 0 10.39) (layer "F.Fab") hide + (effects (font (size 1 1) (thickness 0.15))) + (tstamp c668d37f-03ca-48eb-a1a5-254a78ebad48) + ) + (fp_line (start -1.33 1.27) (end -1.33 8.95) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6d47fedf-844d-4d0b-bd59-073339e44c14)) + (fp_line (start -1.33 1.27) (end 1.33 1.27) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp d034ea9e-6407-4e04-b6ee-8f9a07bd4058)) + (fp_line (start -1.33 8.95) (end 1.33 8.95) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7b55f9f7-2ab5-4a2c-aee4-7259f7ecce08)) + (fp_line (start 0 -1.33) (end 1.33 -1.33) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 5141ebcc-6c60-44b9-9274-e06bce69c99d)) + (fp_line (start 1.33 -1.33) (end 1.33 0) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 6e92d621-ef62-4364-b12c-0de46f1c17ad)) + (fp_line (start 1.33 1.27) (end 1.33 8.95) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 77e735fc-199a-4d73-8f93-97386468fc32)) + (fp_line (start -1.8 -1.8) (end 1.75 -1.8) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp b5ce669a-df54-40a6-a5fd-4c07be1b41fb)) + (fp_line (start -1.8 9.4) (end -1.8 -1.8) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 3ae1340d-2846-4ed8-9dcb-475e44213b2f)) + (fp_line (start 1.75 -1.8) (end 1.75 9.4) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 83181ea6-7a1d-4f0d-9879-bcb115a4c248)) + (fp_line (start 1.75 9.4) (end -1.8 9.4) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 62af5baf-360e-4365-8744-5465674125f3)) + (fp_line (start -1.27 -1.27) (end 0.635 -1.27) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 90bcd191-c0da-4630-a26d-be60bba61f65)) + (fp_line (start -1.27 8.89) (end -1.27 -1.27) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp beaab047-2a63-4a7f-b35e-9d8a151fb0c0)) + (fp_line (start 0.635 -1.27) (end 1.27 -0.635) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5c267f84-fdb7-4936-b3de-7fd2b51e83fe)) + (fp_line (start 1.27 -0.635) (end 1.27 8.89) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 3dbcfc1e-50eb-4f5f-884c-fbbd63c62a07)) + (fp_line (start 1.27 8.89) (end -1.27 8.89) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp fba9e329-1261-4e99-a343-39d4a6ed7ab2)) + (pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 3 "GND") (tstamp 5dd93ee2-2565-4a6a-bed9-29b8cc08239e)) + (pad "2" thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 4 "VCC") (tstamp 132ad087-df56-43b0-a24c-8be1c8cf1a2f)) + (pad "3" thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 1 "SCL") (tstamp befc51e0-47c2-49a6-a65a-55dbaacd5d31)) + (pad "4" thru_hole oval (at 0 7.62) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 2 "SDA") (tstamp cbad19d7-5a60-4653-946b-734c13da9352)) + (model "${KICAD6_3DMODEL_DIR}/Connector_PinSocket_2.54mm.3dshapes/PinSocket_1x04_P2.54mm_Vertical.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal" (layer "F.Cu") + (tstamp 5686c6e2-a420-4327-99b5-8cb927b4ab8a) + (at 113.81 91 180) + (descr "Resistor, Axial_DIN0207 series, Axial, Horizontal, pin pitch=7.62mm, 0.25W = 1/4W, length*diameter=6.3*2.5mm^2, http://cdn-reichelt.de/documents/datenblatt/B400/1_4W%23YAG.pdf") + (tags "Resistor Axial_DIN0207 series Axial Horizontal pin pitch 7.62mm 0.25W = 1/4W length 6.3mm diameter 2.5mm") + (attr through_hole) + (fp_text reference "R1" (at 3.81 0) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp d562a5c3-f164-41c0-9e7d-3727e7c477b7) + ) + (fp_text value "R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal" (at -0.19 6) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp a3124782-0663-46bc-bcd0-ad15521f5d37) + ) + (fp_text user "${REFERENCE}" (at 3.81 0) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f0546405-c3b7-4c50-8788-cf43e8206393) + ) + (fp_line (start 0.54 -1.37) (end 7.08 -1.37) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 4bca81aa-aeb6-420e-85dc-d6318d80a602)) + (fp_line (start 0.54 -1.04) (end 0.54 -1.37) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp f87285e5-6068-4a5a-9375-751f401cc654)) + (fp_line (start 0.54 1.04) (end 0.54 1.37) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0ea77892-bf98-48c1-84cb-6838fea4c1da)) + (fp_line (start 0.54 1.37) (end 7.08 1.37) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 26d0998d-b8f8-48c3-86c1-d201aa4f4d18)) + (fp_line (start 7.08 -1.37) (end 7.08 -1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 714035d7-56d9-4701-b8c9-bbbab8bdd530)) + (fp_line (start 7.08 1.37) (end 7.08 1.04) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp fdc47d70-c33a-42ac-98be-54d2c13d2520)) + (fp_line (start -1.05 -1.5) (end -1.05 1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ed4761bd-601b-408f-b7bc-1bbcf303f843)) + (fp_line (start -1.05 1.5) (end 8.67 1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 5548ed46-4232-4d23-9092-446b03676c8c)) + (fp_line (start 8.67 -1.5) (end -1.05 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 50e45704-6fc6-46e7-be87-306599c20cc8)) + (fp_line (start 8.67 1.5) (end 8.67 -1.5) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp aa5cafbf-0e0f-438b-aec0-e20c0d2ca84f)) + (fp_line (start 0 0) (end 0.66 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp d0aee103-428b-4523-8058-f9a1e9510bf1)) + (fp_line (start 0.66 -1.25) (end 0.66 1.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp f45d52f0-a4a7-4754-8729-adc203c86684)) + (fp_line (start 0.66 1.25) (end 6.96 1.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 802957b2-710b-4130-bc2f-32afb145f971)) + (fp_line (start 6.96 -1.25) (end 0.66 -1.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 9de65ebd-1be9-4bc8-9884-36b8d561ddfc)) + (fp_line (start 6.96 1.25) (end 6.96 -1.25) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 2d36c5cd-f6ae-4921-b6cf-d81a05ca05fa)) + (fp_line (start 7.62 0) (end 6.96 0) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp b89ab16b-da41-4305-9b5e-dc4afa827fd1)) + (pad "1" thru_hole circle (at 0 0 180) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (tstamp 731cb19f-c493-49ad-90af-855263a40c7a)) + (pad "2" thru_hole oval (at 7.62 0 180) (size 1.6 1.6) (drill 0.8) (layers "*.Cu" "*.Mask") (tstamp 49578de8-666e-440f-be15-055f22f20290)) + (model "${KICAD6_3DMODEL_DIR}/Resistor_THT.3dshapes/R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "LED_THT:LED_D3.0mm" (layer "F.Cu") + (tstamp 6cb3215d-7823-427d-9e9b-49d504963c02) + (at 119 92 180) + (descr "LED, diameter 3.0mm, 2 pins") + (tags "LED diameter 3.0mm 2 pins") + (attr through_hole) + (fp_text reference "LED1" (at 1 4) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 2c65e2b0-ad33-4f4b-a612-588b139bace6) + ) + (fp_text value "LED_D3.0mm" (at 1.27 2.96) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 56e1c90d-6e3c-4242-a223-cab98d6a345c) + ) + (fp_line (start -0.29 -1.236) (end -0.29 -1.08) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a1cedf68-8dec-43b2-8e2f-8fbd7f3c2e24)) + (fp_line (start -0.29 1.08) (end -0.29 1.236) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 2119a5ff-87c6-4753-bd5c-7c1174021b99)) + (fp_arc (start -0.29 -1.235516) (mid 1.366487 -1.987659) (end 2.942335 -1.078608) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7dd69f6b-9f32-4f54-98a2-fc615c8aae6a)) + (fp_arc (start 0.229039 -1.08) (mid 1.270117 -1.5) (end 2.31113 -1.079837) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c1f477d6-80ed-4bbc-8c3c-884bd4b02cca)) + (fp_arc (start 2.31113 1.079837) (mid 1.270117 1.5) (end 0.229039 1.08) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 0d3a99f2-2cc6-4508-8dd5-4bbe9ee22801)) + (fp_arc (start 2.942335 1.078608) (mid 1.366487 1.987659) (end -0.29 1.235516) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a1051ec2-e775-47af-9ba4-7fe83ff2e7c0)) + (fp_line (start -1.15 -2.25) (end -1.15 2.25) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp dec116db-ee74-4a19-a196-f30267859228)) + (fp_line (start -1.15 2.25) (end 3.7 2.25) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 46b1dfdb-e293-4832-b778-dafd48b79c79)) + (fp_line (start 3.7 -2.25) (end -1.15 -2.25) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 6081101f-1a64-4519-9be9-a259f188500e)) + (fp_line (start 3.7 2.25) (end 3.7 -2.25) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 02a24cc0-bb2c-4a34-b1a9-8fd8a79b0cf7)) + (fp_line (start -0.23 -1.16619) (end -0.23 1.16619) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp cf97554d-7516-45db-b757-3242a54711c8)) + (fp_arc (start -0.23 -1.16619) (mid 3.17 0.000452) (end -0.230555 1.165476) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 11e3a9fd-1043-4e0d-a722-d8ea37026849)) + (fp_circle (center 1.27 0) (end 2.77 0) + (stroke (width 0.1) (type solid)) (fill none) (layer "F.Fab") (tstamp ba17e671-519d-450d-9c54-c5e3a63f3e59)) + (pad "1" thru_hole rect (at 0 0 180) (size 1.8 1.8) (drill 0.9) (layers "*.Cu" "*.Mask") + (net 3 "GND") (tstamp 64a5e688-2a71-4a45-b959-78301134cbc7)) + (pad "2" thru_hole circle (at 2.54 0 180) (size 1.8 1.8) (drill 0.9) (layers "*.Cu" "*.Mask") (tstamp f1ef06fd-df40-4c9a-b866-1e43eb69e7f7)) + (model "${KICAD6_3DMODEL_DIR}/LED_THT.3dshapes/LED_D3.0mm.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (footprint "Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical" (layer "F.Cu") + (tstamp 9874c91d-243a-40bc-b846-dce71db09652) + (at 102.5 92.5) + (descr "Through hole straight pin header, 1x03, 2.54mm pitch, single row") + (tags "Through hole pin header THT 1x03 2.54mm single row") + (attr through_hole) + (fp_text reference "PWR" (at 0 -2.33) (layer "F.SilkS") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp f818489a-3fe8-4e65-b44e-3d178815c83e) + ) + (fp_text value "PinHeader_1x03_P2.54mm_Vertical" (at -15.5 -1) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp 259dcc6d-4faf-4f49-859a-49651cb51df1) + ) + (fp_text user "${REFERENCE}" (at 0 2.54 90) (layer "F.Fab") + (effects (font (size 1 1) (thickness 0.15))) + (tstamp bce57cf1-9034-4536-80b4-b64190b77fde) + ) + (fp_line (start -1.33 -1.33) (end 0 -1.33) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp a5f49f1d-df15-40aa-b97f-46b480d9139a)) + (fp_line (start -1.33 0) (end -1.33 -1.33) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp c589a046-72b2-4e52-b014-246a7eb8be39)) + (fp_line (start -1.33 1.27) (end -1.33 6.41) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 85ede736-1bf9-424e-9eda-e5bd08c779e9)) + (fp_line (start -1.33 1.27) (end 1.33 1.27) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp 7b35a024-1dee-4691-af69-8e76225c063a)) + (fp_line (start -1.33 6.41) (end 1.33 6.41) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e856a466-73ce-4bea-8138-9cbbf0ce5340)) + (fp_line (start 1.33 1.27) (end 1.33 6.41) + (stroke (width 0.12) (type solid)) (layer "F.SilkS") (tstamp e377f81b-7571-48c0-9515-6699866dca8c)) + (fp_line (start -1.8 -1.8) (end -1.8 6.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp ce0c4f41-d490-482b-823a-7400568a10e1)) + (fp_line (start -1.8 6.85) (end 1.8 6.85) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 912eecb5-698b-4642-895f-d080c705a6ec)) + (fp_line (start 1.8 -1.8) (end -1.8 -1.8) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp 649d7425-34d1-4114-9223-31df32e270e3)) + (fp_line (start 1.8 6.85) (end 1.8 -1.8) + (stroke (width 0.05) (type solid)) (layer "F.CrtYd") (tstamp d5e4dc10-c508-4352-8210-bf872271a89d)) + (fp_line (start -1.27 -0.635) (end -0.635 -1.27) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 8131ff3a-fe46-4db6-890b-333ae27156ec)) + (fp_line (start -1.27 6.35) (end -1.27 -0.635) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 219dc9c8-d807-469e-a858-707004fde5ed)) + (fp_line (start -0.635 -1.27) (end 1.27 -1.27) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 5822321e-db3e-4201-a3dd-e94452fecffe)) + (fp_line (start 1.27 -1.27) (end 1.27 6.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 68d3b88a-bdb5-4c3f-9aec-03f00d0aac11)) + (fp_line (start 1.27 6.35) (end -1.27 6.35) + (stroke (width 0.1) (type solid)) (layer "F.Fab") (tstamp 24f7c926-12e4-400f-8c4d-4e9e9c20aae7)) + (pad "1" thru_hole rect (at 0 0) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 3 "GND") (tstamp 4e567b88-edf1-45de-9591-966dcf9cd665)) + (pad "2" thru_hole oval (at 0 2.54) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 4 "VCC") (tstamp 7524a643-7c73-4902-bca0-99729269c5fe)) + (pad "3" thru_hole oval (at 0 5.08) (size 1.7 1.7) (drill 1) (layers "*.Cu" "*.Mask") + (net 5 "DBG") (tstamp 53156269-9129-4e51-be63-048ebc689fec)) + (model "${KICAD6_3DMODEL_DIR}/Connector_PinHeader_2.54mm.3dshapes/PinHeader_1x03_P2.54mm_Vertical.wrl" + (offset (xyz 0 0 0)) + (scale (xyz 1 1 1)) + (rotate (xyz 0 0 0)) + ) + ) + + (gr_line (start 124.5 101) (end 100.5 101) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 39cd4fd5-019d-4868-bc5c-fff090eabc62)) + (gr_line (start 100 100.5) (end 100 89.5) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 508eaca8-8863-48f2-b755-a1adc0deea67)) + (gr_arc (start 100 89.5) (mid 100.146447 89.146447) (end 100.5 89) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 6758d6b7-ee99-4ccc-a212-5cfc0eee2e55)) + (gr_arc (start 100.5 101) (mid 100.146447 100.853553) (end 100 100.5) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 7c5bc736-27ad-4c89-9652-6b10a7248e2f)) + (gr_line (start 100.5 89) (end 124.5 89) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp 829b8999-9821-4e54-8f62-f7175854d92b)) + (gr_arc (start 125 100.5) (mid 124.853553 100.853553) (end 124.5 101) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp e755cfcc-909d-40c1-a63e-832d5427d867)) + (gr_arc (start 124.5 89) (mid 124.853553 89.146447) (end 125 89.5) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp ea203a52-0e03-4ad9-8e76-12fcc0218118)) + (gr_line (start 125 89.5) (end 125 100.5) + (stroke (width 0.05) (type default)) (layer "Edge.Cuts") (tstamp f7f99ca0-b670-401e-985a-df0290e9b6e0)) + + (segment (start 117.5 93.5) (end 119 95) (width 0.2) (layer "F.Cu") (net 0) (tstamp 2d4bd106-3686-4092-a83f-b2500c0a77bf)) + (segment (start 113.81 91) (end 115.46 91) (width 0.2) (layer "F.Cu") (net 0) (tstamp 5c41f770-6e04-43c7-ad3b-f86bde39a505)) + (segment (start 110 92.5) (end 114.5 92.5) (width 0.2) (layer "F.Cu") (net 0) (tstamp 5deff577-ec5b-4174-86cf-0addd2708638)) + (segment (start 106.19 91) (end 108.5 91) (width 0.2) (layer "F.Cu") (net 0) (tstamp 8a3f44bb-83e3-4b9c-b219-5567f6081ed8)) + (segment (start 114.5 92.5) (end 115.5 93.5) (width 0.2) (layer "F.Cu") (net 0) (tstamp 966597f3-dd6a-4955-b328-1041cf0f3830)) + (segment (start 115.46 91) (end 116.46 92) (width 0.2) (layer "F.Cu") (net 0) (tstamp a4350d8a-6d86-4c6e-8d6d-f2bfd715e08b)) + (segment (start 115.5 93.5) (end 117.5 93.5) (width 0.2) (layer "F.Cu") (net 0) (tstamp ab8ffc45-f8f1-4328-af02-e4768a32cb8a)) + (segment (start 113.25 94.25) (end 116.57136 94.25) (width 0.2) (layer "F.Cu") (net 0) (tstamp b0fbdca4-5c76-4e2a-8314-1fac10c91d50)) + (segment (start 116.57136 94.25) (end 117.8 95.47864) (width 0.2) (layer "F.Cu") (net 0) (tstamp b180bd2a-19ff-4cb6-bf49-477168bb29bf)) + (segment (start 108.5 91) (end 110 92.5) (width 0.2) (layer "F.Cu") (net 0) (tstamp b6b28e25-7d60-4ce6-960f-3b6eb89d0595)) + (segment (start 119 95) (end 119 96) (width 0.2) (layer "F.Cu") (net 0) (tstamp b98dedd2-d2e6-49be-a575-41bdc365011c)) + (segment (start 117.8 95.47864) (end 117.8 96) (width 0.2) (layer "F.Cu") (net 0) (tstamp e0103cb8-d269-4ed7-b683-52fb2c2ac9f0)) + (segment (start 121.898 97.05) (end 122.682 96.266) (width 0.2) (layer "F.Cu") (net 1) (tstamp 440ee612-b3ca-4dd5-b490-442cbf94b349)) + (segment (start 119.65 97.05) (end 121.898 97.05) (width 0.2) (layer "F.Cu") (net 1) (tstamp cef8e0d0-011c-4f22-bd0e-7b3035d90623)) + (segment (start 119.65 97.45) (end 121.326 97.45) (width 0.2) (layer "F.Cu") (net 2) (tstamp 13e1255c-a5ae-42ce-9e62-f3cbdcbc2c59)) + (segment (start 121.326 97.45) (end 122.682 98.806) (width 0.2) (layer "F.Cu") (net 2) (tstamp bfafc644-9445-4ded-bbd5-e2b434e87284)) + (segment (start 122.682 91.186) (end 122.814 91.186) (width 0.2) (layer "F.Cu") (net 3) (tstamp 3cd0b6c5-f9ca-4e8b-92cf-221768e91012)) + (segment (start 118.6 99.42136) (end 118.80364 99.625) (width 0.2) (layer "F.Cu") (net 3) (tstamp 409930d8-b485-470c-bdb8-13e52de98560)) + (segment (start 113.25 98.75) (end 114.25 99.75) (width 0.2) (layer "F.Cu") (net 3) (tstamp 610c540b-b25b-4559-aad5-c8660d531e64)) + (segment (start 118.6 98.9) (end 118.6 97.85) (width 0.2) (layer "F.Cu") (net 3) (tstamp 616ea9e3-7449-480a-8a20-5d99ade6d2d1)) + (segment (start 118.6 97.85) (end 118.2 97.45) (width 0.2) (layer "F.Cu") (net 3) (tstamp 6a7553a1-b11a-4518-9cf4-ca35bb782040)) + (segment (start 118.80364 99.625) (end 119.875004 99.625) (width 0.2) (layer "F.Cu") (net 3) (tstamp 86b64c42-6b4e-4bc4-938b-c3f215b8206c)) + (segment (start 119.875004 99.625) (end 120.000004 99.5) (width 0.2) (layer "F.Cu") (net 3) (tstamp 96c8f77b-9f35-4923-bac4-c550e36153ad)) + (segment (start 122.814 91.186) (end 123 91) (width 0.2) (layer "F.Cu") (net 3) (tstamp 98697b90-f458-491a-80b2-e69f4e383950)) + (segment (start 118.6 98.9) (end 118.6 99.42136) (width 0.2) (layer "F.Cu") (net 3) (tstamp a79f36c4-dd94-41a7-abf1-0dff3476ba1b)) + (segment (start 118.27136 99.75) (end 118.6 99.42136) (width 0.2) (layer "F.Cu") (net 3) (tstamp b5ed3ad8-7829-485a-a116-04e1003d5770)) + (segment (start 114.25 99.75) (end 118.27136 99.75) (width 0.2) (layer "F.Cu") (net 3) (tstamp cc9e3319-f7f8-4939-aafc-79ebe9542cd3)) + (via (at 120.000004 99.5) (size 0.6) (drill 0.3) (layers "F.Cu" "B.Cu") (net 3) (tstamp 42148aae-f9b2-465c-a1aa-a895da753ac7)) + (segment (start 120.000004 93.867996) (end 120.000004 99.5) (width 0.2) (layer "B.Cu") (net 3) (tstamp 309082b6-f913-413e-ab0a-99cfd9323c77)) + (segment (start 120.000004 93.000004) (end 119 92) (width 0.2) (layer "B.Cu") (net 3) (tstamp 4afe2ced-b369-4945-ba33-b8227cbbe490)) + (segment (start 120.000004 93.867996) (end 120.000004 93.000004) (width 0.2) (layer "B.Cu") (net 3) (tstamp 57183c75-595d-46da-915f-365aed78612b)) + (segment (start 102.5 92.5) (end 114.5 92.5) (width 0.2) (layer "B.Cu") (net 3) (tstamp 6c9f1437-eb56-41b1-8295-20043d8b56e8)) + (segment (start 121.868 92) (end 122.682 91.186) (width 0.2) (layer "B.Cu") (net 3) (tstamp 7ae08b3c-83e2-4795-9420-578d5089f98f)) + (segment (start 115.5 93.5) (end 117.5 93.5) (width 0.2) (layer "B.Cu") (net 3) (tstamp 7fa8e9b2-1401-4685-bf38-dc045335ae43)) + (segment (start 114.5 92.5) (end 115.5 93.5) (width 0.2) (layer "B.Cu") (net 3) (tstamp 828fc55a-9c82-4ac5-8caf-606b6d6161a3)) + (segment (start 117.5 93.5) (end 119 92) (width 0.2) (layer "B.Cu") (net 3) (tstamp 91560288-4800-46d7-ab04-6e799ef9845d)) + (segment (start 119 92) (end 121.868 92) (width 0.2) (layer "B.Cu") (net 3) (tstamp de45208e-deb8-4564-806c-a3bdee47ad0c)) + (segment (start 119.65 98.25) (end 120.25 98.25) (width 0.2) (layer "F.Cu") (net 4) (tstamp 521f2964-1548-4abd-924a-d38fd78e20f5)) + (segment (start 120.850003 98.850003) (end 120.850003 99.5) (width 0.2) (layer "F.Cu") (net 4) (tstamp 65fad47b-f098-4590-8c0c-8949f273e307)) + (segment (start 120.25 98.25) (end 120.850003 98.850003) (width 0.2) (layer "F.Cu") (net 4) (tstamp 88ee4a7b-b174-4064-9222-c34f35658c1e)) + (via (at 120.850003 99.5) (size 0.6) (drill 0.3) (layers "F.Cu" "B.Cu") (free) (net 4) (tstamp bd0fef5d-4f34-4f0e-9865-d179fbe821b3)) + (segment (start 114.49 95.89) (end 118.75 100.15) (width 0.2) (layer "B.Cu") (net 4) (tstamp 126f2b74-eb05-4737-addf-3f6f2af0bcc2)) + (segment (start 118.75 100.15) (end 120.200003 100.15) (width 0.2) (layer "B.Cu") (net 4) (tstamp 134f78e6-72ec-47cf-9db1-ac38703bcb4d)) + (segment (start 103.35 95.89) (end 114.49 95.89) (width 0.2) (layer "B.Cu") (net 4) (tstamp 4ce958b1-a042-4a3f-9738-19d98e47db4d)) + (segment (start 122.682 93.726) (end 120.850003 95.557997) (width 0.2) (layer "B.Cu") (net 4) (tstamp 63d01475-ce18-4021-8de2-63fc9cab7baa)) + (segment (start 120.850003 95.557997) (end 120.850003 99.5) (width 0.2) (layer "B.Cu") (net 4) (tstamp 88ab631f-688e-4a91-9cb4-6a6812286966)) + (segment (start 120.200003 100.15) (end 120.850003 99.5) (width 0.2) (layer "B.Cu") (net 4) (tstamp a77bb85a-303a-45c0-8a2d-25d85f6a2fcb)) + (segment (start 102.5 95.04) (end 103.35 95.89) (width 0.2) (layer "B.Cu") (net 4) (tstamp edb84374-6e57-4b73-85bb-5fda488815bf)) + (segment (start 122.682 93.726) (end 122.682 93.719943) (width 0.2) (layer "B.Cu") (net 4) (tstamp f8fa0289-977f-4c93-bd65-a008d55c177b)) + (segment (start 104.08 96) (end 102.5 97.58) (width 0.2) (layer "F.Cu") (net 5) (tstamp c7acca1a-7d36-40cc-b101-f5f407f1f515)) + (segment (start 117.4 96) (end 104.08 96) (width 0.2) (layer "F.Cu") (net 5) (tstamp ce6b76a1-386a-4907-8ae0-e236bff36ac5)) + +) diff --git a/pcb/ch32_oled.kicad_prl b/pcb/ch32_oled.kicad_prl new file mode 100644 index 0000000..419bfce --- /dev/null +++ b/pcb/ch32_oled.kicad_prl @@ -0,0 +1,83 @@ +{ + "board": { + "active_layer": 0, + "active_layer_preset": "", + "auto_track_width": false, + "hidden_netclasses": [], + "hidden_nets": [], + "high_contrast_mode": 0, + "net_color_mode": 1, + "opacity": { + "images": 1.0, + "pads": 1.0, + "tracks": 1.0, + "vias": 1.0, + "zones": 1.0 + }, + "selection_filter": { + "dimensions": true, + "footprints": true, + "graphics": true, + "keepouts": true, + "lockedItems": false, + "otherItems": true, + "pads": true, + "text": true, + "tracks": true, + "vias": true, + "zones": true + }, + "visible_items": [ + 0, + 1, + 2, + 3, + 4, + 5, + 8, + 9, + 10, + 11, + 12, + 13, + 15, + 16, + 17, + 18, + 19, + 20, + 21, + 22, + 23, + 24, + 25, + 26, + 27, + 28, + 29, + 30, + 32, + 33, + 34, + 35, + 36, + 39, + 40 + ], + "visible_layers": "ffdfff7_ffffffff", + "zone_display_mode": 0 + }, + "git": { + "repo_password": "", + "repo_type": "", + "repo_username": "", + "ssh_key": "" + }, + "meta": { + "filename": "ch32_oled.kicad_prl", + "version": 3 + }, + "project": { + "files": [] + } +} diff --git a/pcb/ch32_oled.kicad_pro b/pcb/ch32_oled.kicad_pro new file mode 100644 index 0000000..b91311d --- /dev/null +++ b/pcb/ch32_oled.kicad_pro @@ -0,0 +1,272 @@ +{ + "board": { + "3dviewports": [], + "design_settings": { + "defaults": { + "apply_defaults_to_fp_fields": false, + "apply_defaults_to_fp_shapes": false, + "apply_defaults_to_fp_text": false, + "board_outline_line_width": 0.05, + "copper_line_width": 0.2, + "copper_text_italic": false, + "copper_text_size_h": 1.5, + "copper_text_size_v": 1.5, + "copper_text_thickness": 0.3, + "copper_text_upright": false, + "courtyard_line_width": 0.05, + "dimension_precision": 4, + "dimension_units": 3, + "dimensions": { + "arrow_length": 1270000, + "extension_offset": 500000, + "keep_text_aligned": true, + "suppress_zeroes": false, + "text_position": 0, + "units_format": 1 + }, + "fab_line_width": 0.1, + "fab_text_italic": false, + "fab_text_size_h": 1.0, + "fab_text_size_v": 1.0, + "fab_text_thickness": 0.15, + "fab_text_upright": false, + "other_line_width": 0.1, + "other_text_italic": false, + "other_text_size_h": 1.0, + "other_text_size_v": 1.0, + "other_text_thickness": 0.15, + "other_text_upright": false, + "pads": { + "drill": 1.1, + "height": 2.0, + "width": 2.0 + }, + "silk_line_width": 0.1, + "silk_text_italic": false, + "silk_text_size_h": 1.0, + "silk_text_size_v": 1.0, + "silk_text_thickness": 0.1, + "silk_text_upright": false, + "zones": { + "min_clearance": 0.5 + } + }, + "diff_pair_dimensions": [], + "drc_exclusions": [], + "meta": { + "version": 2 + }, + "rule_severities": { + "annular_width": "error", + "clearance": "error", + "connection_width": "warning", + "copper_edge_clearance": "error", + "copper_sliver": "warning", + "courtyards_overlap": "error", + "diff_pair_gap_out_of_range": "error", + "diff_pair_uncoupled_length_too_long": "error", + "drill_out_of_range": "error", + "duplicate_footprints": "warning", + "extra_footprint": "warning", + "footprint": "error", + "footprint_symbol_mismatch": "warning", + "footprint_type_mismatch": "ignore", + "hole_clearance": "error", + "hole_near_hole": "error", + "invalid_outline": "error", + "isolated_copper": "warning", + "item_on_disabled_layer": "error", + "items_not_allowed": "error", + "length_out_of_range": "error", + "lib_footprint_issues": "warning", + "lib_footprint_mismatch": "warning", + "malformed_courtyard": "error", + "microvia_drill_out_of_range": "error", + "missing_courtyard": "ignore", + "missing_footprint": "warning", + "net_conflict": "warning", + "npth_inside_courtyard": "ignore", + "padstack": "warning", + "pth_inside_courtyard": "ignore", + "shorting_items": "error", + "silk_edge_clearance": "warning", + "silk_over_copper": "warning", + "silk_overlap": "warning", + "skew_out_of_range": "error", + "solder_mask_bridge": "error", + "starved_thermal": "error", + "text_height": "warning", + "text_thickness": "warning", + "through_hole_pad_without_hole": "error", + "too_many_vias": "error", + "track_dangling": "warning", + "track_width": "error", + "tracks_crossing": "error", + "unconnected_items": "error", + "unresolved_variable": "error", + "via_dangling": "warning", + "zones_intersect": "error" + }, + "rules": { + "max_error": 0.005, + "min_clearance": 0.0, + "min_connection": 0.0, + "min_copper_edge_clearance": 0.5, + "min_hole_clearance": 0.25, + "min_hole_to_hole": 0.25, + "min_microvia_diameter": 0.2, + "min_microvia_drill": 0.1, + "min_resolved_spokes": 2, + "min_silk_clearance": 0.0, + "min_text_height": 0.8, + "min_text_thickness": 0.08, + "min_through_hole_diameter": 0.3, + "min_track_width": 0.0, + "min_via_annular_width": 0.1, + "min_via_diameter": 0.5, + "solder_mask_to_copper_clearance": 0.0, + "use_height_for_length_calcs": true + }, + "teardrop_options": [ + { + "td_onpadsmd": true, + "td_onroundshapesonly": false, + "td_ontrackend": false, + "td_onviapad": true + } + ], + "teardrop_parameters": [ + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_round_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_rect_shape", + "td_width_to_size_filter_ratio": 0.9 + }, + { + "td_allow_use_two_tracks": true, + "td_curve_segcount": 0, + "td_height_ratio": 1.0, + "td_length_ratio": 0.5, + "td_maxheight": 2.0, + "td_maxlen": 1.0, + "td_on_pad_in_zone": false, + "td_target_name": "td_track_end", + "td_width_to_size_filter_ratio": 0.9 + } + ], + "track_widths": [], + "tuning_pattern_settings": { + "diff_pair_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 1.0 + }, + "diff_pair_skew_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + }, + "single_track_defaults": { + "corner_radius_percentage": 80, + "corner_style": 1, + "max_amplitude": 1.0, + "min_amplitude": 0.2, + "single_sided": false, + "spacing": 0.6 + } + }, + "via_dimensions": [], + "zones_allow_external_fillets": false + }, + "ipc2581": { + "dist": "", + "distpn": "", + "internal_id": "", + "mfg": "", + "mpn": "" + }, + "layer_presets": [], + "viewports": [] + }, + "boards": [], + "cvpcb": { + "equivalence_files": [] + }, + "libraries": { + "pinned_footprint_libs": [], + "pinned_symbol_libs": [] + }, + "meta": { + "filename": "ch32_oled.kicad_pro", + "version": 1 + }, + "net_settings": { + "classes": [ + { + "bus_width": 12, + "clearance": 0.2, + "diff_pair_gap": 0.25, + "diff_pair_via_gap": 0.25, + "diff_pair_width": 0.2, + "line_style": 0, + "microvia_diameter": 0.3, + "microvia_drill": 0.1, + "name": "Default", + "pcb_color": "rgba(0, 0, 0, 0.000)", + "schematic_color": "rgba(0, 0, 0, 0.000)", + "track_width": 0.2, + "via_diameter": 0.6, + "via_drill": 0.3, + "wire_width": 6 + } + ], + "meta": { + "version": 3 + }, + "net_colors": null, + "netclass_assignments": null, + "netclass_patterns": [] + }, + "pcbnew": { + "last_paths": { + "gencad": "", + "idf": "", + "netlist": "", + "plot": "", + "pos_files": "", + "specctra_dsn": "", + "step": "", + "svg": "", + "vrml": "" + }, + "page_layout_descr_file": "" + }, + "schematic": { + "legacy_lib_dir": "", + "legacy_lib_list": [] + }, + "sheets": [], + "text_variables": {} +}