Commits

saar drimer  committed ca5926c Merge

merged with development

  • Participants
  • Parent commits 7c5401a, 941b101
  • Tags v2.2

Comments (0)

Files changed (57)

File __init__.py

Empty file added.

File boards/itemv/fonts/Overlock-Regular-OTF-webfont.svg

Added
New image

File boards/itemv/fonts/Pacifico-webfont.svg

Added
New image

File boards/itemv/fonts/Snickles-webfont.svg

Added
New image

File boards/itemv/fonts/UbuntuMono-R-webfont.svg

Added
New image

File boards/itemv/itemv.json

+{ 
+  "meta":
+  {
+    "unit_length_si": "mm",
+    "unit_length_name": "Millimetres",
+    "font": "UbuntuMono-R-webfont",
+    "assembly_font": "UbuntuMono-R-webfont",
+    "silkscreen_font": "UbuntuMono-R-webfont",
+    "board_name": "itemv",
+    "board_revision": "A",
+    "layout_style": "default"
+  },
+  "files":
+  {
+    "routing_svg": "itemv.svg",
+    "routing_data": "itemv_routing.json"
+  },
+  "soldermask":
+  {
+    "pad_scale_factor": 1.1,
+    "pad_buffer": 0.1
+  },
+  "gerber":
+  {
+    "digits": 6,
+    "decimals" : 6
+  },
+  "layer_index":
+  {
+    "location": [35,-20],
+    "font": "Overlock-Regular-OTF-webfont",
+    "scale": 0.0012
+  },
+  "drill_index": 
+  {
+    "location": [35,-47],
+    "font": "Overlock-Regular-OTF-webfont",
+    "scale": 0.0012
+  },
+  "vias":
+  {
+    "default_via": "VIA"
+  },
+  "distances":
+  {
+    "buffer_from_pour_to":
+    {
+      "pad": 0.25,
+      "drill": 0.25,
+      "route": 0.25,
+      "board_outline": 0.4
+    }
+  },
+  "documentationX":
+  {
+    "design_information":
+    {
+      "title": "Design information:",
+      "location": [35,35],
+      "font": "Overlock-Regular-OTF-webfont",
+      "title_scale": 0.0018,
+      "scale": 0.0012,
+      "text_lines":
+      [
+        {"Board name:": "'itemv'"},
+        {"Revision:": "A"},
+        {"Description:": "A smartcard man-in-the-middle"},
+        {"License": "Apache Version 2.0"}, 
+        {"Company:": "Boldport Limited"},
+        {"Designer:": "saar drimer"},
+        {"Email:": "saardrimer@gmail.com"}
+      ]
+    },
+    "manufacturing_information":
+    {
+      "title": "Manufacturing detail:",
+      "location": [35, 14],
+      "font": "Overlock-Regular-OTF-webfont",
+      "title_scale": 0.0018,
+      "scale": 0.0012,
+      "text_lines":
+      [
+        {"Unit of length:": "Millimetre (mm)"},
+        {"Number of layers:": "2 ('top', 'bottom')"}, 
+        {"Thickness:": "0.6 mm"},
+        {"Material:": "FR4, 1 oz / 35/35 um copper"},
+        {"Silkscreen:": "top: white"},
+        {"Soldermask:": "top, bottom: green"},
+        {"Surface finish:": "hot air leveling or equivalent"}
+      ]
+    },
+    "PCBmodE_details":
+    {
+      "title": "",
+      "location": [35, -8],
+      "font": "Overlock-Regular-OTF-webfont",
+      "title_scale": 0.0020,
+      "scale": 0.0009,
+      "text_lines":
+      [
+        {"This open source PCB design was created using 'PCBmodE',": ""},
+        {"an open source software": ""},
+        {"http://bitbucket.org/boldport/pcbmode": ""}, 
+        {"http://boldport.blogspot.com": ""}, 
+        {"http://www.boldport.com": "" }
+      ]
+    }
+  },
+  "physical":
+  {
+    "stackup":
+    [
+      "top",
+      "bottom"
+    ]
+  },
+  "board_outline":
+  {
+    "shape":
+    {
+      "type": "path",
+      "value": "m -26.986635,73.174738 c 0,1.028238 1.015701,1.532261 1.509955,1.532261 l 25.47668,0 25.47668,0 c 0.86637,0 1.491833,-0.655208 1.491971,-1.532261 l 0.0138,-87.834713 c 0,0 -3.092068,-3.496265 -3.441858,-5.430749 -1.594622,-8.818929 4.489194,-8.870575 5.127295,-16.228383 0.973557,-11.225876 0.621066,-37.494698 0.621066,-37.494698 0,-0.745243 -0.143692,-0.893193 -0.874252,-0.893193 l -56.829406,0 c -0.657608,0 -0.892942,0.183799 -0.874252,0.893193 0,0 -0.352491,26.268823 0.621066,37.494698 0.628595,7.248189 6.721918,7.409455 5.127295,16.228384 -0.34979,1.934483 -3.438731,5.430748 -3.438731,5.430748 l -0.0073,87.835093 z"
+    },
+    "measurements":
+    {
+      "font": "UbuntuMono-R-webfont",
+      "scale": 0.0015
+    }
+  },
+  "components":
+  {
+    "top":
+    {
+      "J1":
+      {
+        "footprint": "CON_CCM01_MKII",
+        "location": [3.07, 55.9],
+        "rotation": 180,
+	"place_silkscreen": "no"
+      },
+      "J3":
+      {
+        "footprint": "SMARTCARD",
+        "location": [0, -31.91],
+        "rotation": -90
+      },
+      "J4":
+      {
+        "footprint": "CON_TH_PAD_PB",
+        "location": [-19, 25.9],
+        "rotation": 0,
+        "silkscreen_refdef_location": [-2.54, -2]
+      },
+      "J5":
+      {
+        "footprint": "CON_TH_PAD_PB",
+        "location": [-19, 28.44],
+        "rotation": 0,
+        "silkscreen_refdef_location": [-2.54, 2]
+      },
+      "J6":
+      {
+        "footprint": "CON_TH_PAD_PB",
+        "location": [-4, 25.9],
+        "rotation": 0,
+        "silkscreen_refdef_location": [-2.54, -2]
+      },
+      "J7":
+      {
+        "footprint": "CON_TH_PAD_PB",
+        "location": [-4, 28.44],
+        "rotation": 0,
+        "silkscreen_refdef_location": [-2.54, 2]
+      },
+      "R1":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [-13.5, 27.17],
+        "rotation": 90,
+        "silkscreen_refdef_location": [0, 3],
+        "silkscreen_refdef_rotate": -90
+      },
+      "R2":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [-9.4, 27.17],
+        "rotation": 90,
+        "silkscreen_refdef_location": [0, 3],
+        "silkscreen_refdef_rotate": -90
+      },
+      "J8":
+      {
+        "footprint": "CON_TH_2P54MM_2X8",
+        "location": [12, 24.63],
+        "rotation": 0,
+        "place_silkscreen": "no"
+      },
+      "J9":
+      {
+        "footprint": "CON_TH_2P54MM_2X8",
+        "location": [12, 29.71],
+        "rotation": 0,
+        "place_silkscreen": "no"
+      },
+      "J9L":
+      {
+        "footprint": "CON_TH_2P54MM_2X8_LEGEND",
+        "location": [12, 29.71],
+        "rotation": 0
+      },
+      "R3":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [-13, 35],
+        "rotation": 0
+      },
+      "D1":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [-10, 32],
+        "rotation": 0
+      },
+      "PB1":
+      {
+        "footprint": "DRILL_1P7MM_PLATED",
+        "location": [-19, 21.5],
+        "rotation": 0
+      },
+      "PB2":
+      {
+        "footprint": "DRILL_1P7MM_PLATED",
+        "location": [-4, 21.5],
+        "rotation": 0
+      },
+      "PB3":
+      {
+        "footprint": "DRILL_1P7MM_PLATED",
+        "location": [-19, 32.84],
+        "rotation": 0
+      },
+      "PB4":
+      {
+        "footprint": "DRILL_1P7MM_PLATED",
+        "location": [-4, 32.84],
+        "rotation": 0
+      },
+      "R4":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [-0.1, 32.84],
+        "rotation": 90,
+        "silkscreen_refdef_location": [0, 3],
+        "silkscreen_refdef_rotate": -90
+      },
+      "R5":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [8.19, 19.2],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "R6":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [10.83, 19.2],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "R7":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [13.27, 19.2],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "R8":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [15.81, 19.2],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "R9":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [18.35, 19.2],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "R10":
+      {
+        "footprint": "0805_GENERIC",
+        "location": [20.89, 19.2],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "H1":
+      {
+        "footprint": "DRILL_2MM_SOLDERMASK",
+        "location": [-24, 14],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "H2":
+      {
+        "footprint": "DRILL_2MM_SOLDERMASK",
+        "location": [24, 14],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "H3":
+      {
+        "footprint": "DRILL_2MM_SOLDERMASK",
+        "location": [-24, 35],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      },
+      "H4":
+      {
+        "footprint": "DRILL_2MM_SOLDERMASK",
+        "location": [24, 35],
+        "rotation": 90,
+        "silkscreen_refdef_location": [3.2, 0]
+      }
+    },
+    "bottom":
+    {
+      "BP_LOGO":
+      {
+        "footprint": "DWG_BP_LOGO",
+        "location": [-13, 59],
+        "rotation": 0,
+        "place_assembly": "no",
+        "place_silkscreen": "no",
+	"scale": 1
+      },
+      "OHW_LOGO":
+      {
+        "footprint": "DWG_OHW_LOGO",
+        "location": [-13, 48],
+        "rotation": 0,
+        "place_assembly": "no",
+        "place_silkscreen": "no",
+	"scale": 1
+      }
+    }
+  },
+  "drills":
+  {
+  },
+  "additional_shapes":
+  {
+    "silkscreen":
+    {
+      "top":
+      [
+        {
+          "type": "text",
+          "value": 
+	  [
+            "CLA INS Meaning",
+            "--------------------------------------------------",
+            "8x  1E  Application block",
+	    "8x  18  Application unblock",
+	    "8x  16  card block",
+	    "0x  82  Externla authenticate",
+	    "8x  AE  Generate application cryptogram",
+	    "0x  84  Get challenge",
+	    "8x  CA  Get data",
+	    "8x  AS  Get processing options",
+	    "0x  88  Internal authenticate",
+	    "8x  24  PIN change / unblock",
+	    "0x  B2  Read records",
+	    "0x  A4  Select",
+	    "0x  20  Verify",
+	    "8x  Dx  RFU for the payment systems",
+            "8x  Ex  RFU for the payment systems",
+            "9x  xx  RFU for manuf. for proprietary INS coding",
+            "Ex  xx  RFU for issuers for proprietary INS coding"
+	  ],
+          "font": "UbuntuMono-R-webfont",
+          "style": "fill",
+          "scale": 0.0008,
+          "location": [-24, 8.5]
+        },
+        {
+          "type": "text",
+          "value": 
+	  [
+            "SW1 SW2 Meaning",
+            "----------------------------------------------------",
+            "Normal processing",
+            "90  00  Process completed",
+            "Warning processing",
+            "62  83  NVM state unchanged; file invalidated",
+            "63  00  NVM state; authentication failed",
+            "63  Cx  NVM state; counter provided by 'x' (0--15)",
+            "Checking errors",
+            "69  83  Not allowed; authentication method blocked",
+            "69  84  Not allowed; referenced data invalidated",
+            "69  85  Not allowed; conditions of use not satisfied",
+            "6A  81  Wrong parameter(s) P1 P2; not supported",
+            "6A  82  Wrong parameter(s) P1 P2; f11e not found",
+            "6A  83  Wrong parameter(s) P1 P2; record not found",
+            "6A  88  Referenced data (data objects) not found"
+	  ],
+          "font": "UbuntuMono-R-webfont",
+          "style": "fill",
+          "scale": 0.0008,
+          "location": [-24, -23]
+        },
+        {
+          "type": "text",
+          "value": "card GND",
+          "font": "Snickles-webfont",
+          "style": "fill",
+          "scale": 0.0011,
+          "location": [-7, 17]
+        },
+        {
+          "type": "text",
+          "value": "card VCC",
+          "font": "Snickles-webfont",
+          "style": "fill",
+          "scale": 0.0011,
+          "location": [-22, 17]
+        },
+        {
+          "type": "text",
+          "value": "GND",
+          "font": "Snickles-webfont",
+          "style": "fill",
+          "scale": 0.0011,
+          "location": [-5, 34.5]
+        },
+        {
+          "type": "text",
+          "value": "VCC",
+          "font": "Snickles-webfont",
+          "style": "fill",
+          "scale": 0.0011,
+          "location": [-20, 34.5]
+        }
+      ],
+      "bottom":
+      [
+        {
+          "type": "rect",
+          "width": 29,
+          "height": 24,
+          "style": "fill",
+          "location": [10, 51],
+          "radii": {"tl": 1, "tr": 1, "bl": 1, "br": 1}
+        },
+        {
+          "type": "text",
+          "value": ["itemv rev A; open source Apache License", "Made with PCBmodE; www.boldport.com"],
+          "font": "Snickles-webfont",
+          "style": "fill",
+          "scale": 0.0016,
+          "location": [20, 69]
+        },
+        {
+          "type": "text",
+          "value": 
+	  [
+            "SW1 SW2 Meaning",
+            "-----------------------------------------------------",
+            "90  00  Process completed without error",
+            "62  00  No information given",
+	    "    02  to 80: Triggering by the card (see 8.6.1)",
+            "    81  Part of returned data may be corrupted",
+            "    82  End of file or record reached before Ne bytes",
+            "    83  Selected file deactivated",
+            "    84  File control information incorrectly formatted",
+            "    85  Selected tile in termination state",
+            "    86  No input available from a sensor on the card",
+            "    87  One or more referenced records is deactivated",
+            "63  00  No information given",
+            "    81  File filled up by the last write",
+            "    Cx  Counter from 0 to 15 encoded by 'x'",
+            "64  00  Execution error",
+            "    01  Immediate response required by the card",
+            "    02  to 80: Triggering by the card (see 8.6.1)",
+            "65  00  No information given",
+            "    81  Memory failure",
+            "67  00  CLA INS P1 P2 supported, but P3 incorrect",
+            "68  00  No information given",
+            "    81  Logical channel not supported",
+            "    82  Secure messaging not supported",
+            "    83  Last command of chain expected",
+            "    84  Command chaining not supported",
+            "69  00  No information given",
+            "    81  Command incompatible with file structure",
+            "    82  Security status not satistied",
+            "    83  Authentication method blocked",
+            "    84  Reference data not usable",
+            "    85  Conditions of use not satisfied",
+            "    86  Command not allowed (no current EF)",
+            "    87  Expected secure messaging data objects missing",
+            "    88  Incorrect secure messaging data objects",
+            "6A  00  No information given",
+            "    80  Incorrect parameters in the command data field", 
+            "    81  Function not supported",
+            "    82  File or application not found",
+            "    83  Record not found",
+            "    84  Not enough memory space in the file",
+            "    85  Nc inconsistent with TLV structure",
+            "    86  Incorrect parameters P1-P2",
+            "    87  Nc inconsistent with parameters P1-P2",
+            "    88  Referenced data er reference data not found",
+            "    89  File already exists",
+            "    8A  DF name already exists",
+            "6B  00  CLA INS supported, but P1 P2 incorrect",
+            "6D  00  CLA supported, but INS not programmed or invalid",
+            "6E  00  CLA not supported",
+            "6F  00  Command not supported and no diagnosis given"
+	  ],
+          "font": "UbuntuMono-R-webfont",
+          "style": "fill",
+          "scale": 0.0008,
+          "location": [22, 20]
+        },
+        {
+          "type": "text",
+          "value": 
+	  [
+            "Procedure bytes:",
+            "----------------------------------------------------",
+            "Byte  Value   Action                Then receive a...",
+            "NULL  60      none                  procedure byte",
+            "SW1   6x/9x   none                  SW2 byte",
+            "ACK   INS     all remainning bytes  procedure byte",
+            "ACK   INS^FF  the next data byte    procedure byte"
+	  ],
+          "font": "UbuntuMono-R-webfont",
+          "style": "fill",
+          "scale": 0.0008,
+          "location": [22, -64]
+        }
+      ]
+    },
+    "pours":
+    {
+      "bottom":
+      [
+      ],
+      "top":
+      [
+        {
+          "type": "layer"
+        }
+      ]
+    }
+  }
+}

File boards/itemv/itemv_routing.json

+{
+  "routes": {
+    "bottom": {
+      "0": {
+        "d": "m 13.246387,-31.001332 c -0.337114,-5.944125 4.152692,-24.574241 -6.2313159,-24.436659 -3.6130081,0.04787 -7.88083951,1.540066 -7.75336371,4.303423 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "1": {
+        "d": "m 15.784937,-30.920818 c -0.337114,-9.567246 1.048602,-21.986432 -3.969533,-25.162671 -4.7844643,-3.028337 -12.74273147,0.905055 -12.55487127,-4.242069 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "2": {
+        "d": "m 4.3373912,-45.408948 c -0.1740266,7.954527 3.9455922,8.659149 3.8390401,14.399488 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }
+    }, 
+    "top": {
+      "0": {
+        "d": "m 15.762896,-25.541207 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "1": {
+        "d": "m 10.797652,-23.369814 c -0.01344,1.378966 0.07521,1.202392 0.05076,2.867781 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "10": {
+        "d": "m -0.70761852,-62.925078 c -0.013441,0.800824 -0.0101887,1.644773 -0.0346397,2.611935 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "11": {
+        "d": "m 0.52132246,63.599643 c 11.53905454,0.706045 8.57133714,-18.362613 9.49557154,-25.27265 2.882301,-21.549469 6.537609,-39.05329186 5.796833,-56.161211 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "12": {
+        "d": "m 0.71370631,55.11664 c -0.1878337,-14.754493 5.53151879,-24.459645 7.61800159,-36.796888 2.0528111,-12.1381449 4.7382861,-16.0975295 4.9413161,-36.39866 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "13": {
+        "d": "m 15.762896,-30.530025 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "14": {
+        "d": "m 4.3789394,-60.304844 ", 
+        "style": ""
+      }, 
+      "15": {
+        "d": "m -0.73608445,-51.148262 c -0.013441,0.800824 0.0111607,1.296065 -0.0132903,2.263227 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "16": {
+        "d": "m -19.029092,-28.360132 c -0.11036,-1.250933 -0.161123,-3.794205 0.02538,-4.415873 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "17": {
+        "d": "m 18.300995,-25.541207 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "18": {
+        "d": "m -6.6357823,63.563752 c -2.6207641,0.05242 -4.1159217,-0.527355 -5.7072437,-1.728331 -3.212754,-2.424674 -4.981634,-5.101249 -6.195562,-10.364481 -3.634136,-15.756554 -1.079249,-33.823407 -0.344931,-49.6752235 0.317021,-6.8435573 -4.708042,-14.9407095 0.01505,-23.4104865 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "19": {
+        "d": "m 13.224797,-25.541207 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "2": {
+        "d": "m -4.3882821,63.464737 c 0.176025,1.543253 -0.7927587,8.447098 5.800389,8.885832 c 18.6808401,0.843709 19.1560771,-5.430296 20.2333831,-14.499019 1.135741,-11.065034 2.601943,-31.827715 2.899931,-43.291114 0.830959,-31.966607 -3.37843,-20.7741797 -3.656732,-32.332494 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "20": {
+        "d": "m 20.816963,-25.541207 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "21": {
+        "d": "m 10.797652,-25.541207 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "22": {
+        "d": "m -9.4613937,-29.887779 c -0.127228,0.585887 0.180421,0.512213 -0.000777,1.219665 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "23": {
+        "d": "m -18.932401,-32.830705 c 5.210835,-0.29224 5.626178,0.592987 5.448528,4.54671 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "24": {
+        "d": "m 10.797652,-30.530025 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "25": {
+        "d": "m 20.816963,-30.530025 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "26": {
+        "d": "m -1.782492,55.123855 c -0.6162551,-59.1407134 11.9295,-42.818826 12.654282,-73.046473 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "27": {
+        "d": "m 18.300995,-30.530025 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "28": {
+        "d": "m 2.9992188,-25.541207 c -0.013441,0.800824 0.075209,0.69828 0.050758,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "29": {
+        "d": "m -3.7297901,-39.636182 c 4.4605499,-0.29123 3.5260294,3.310637 3.64299059,5.810684 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "3": {
+        "d": "m -8.5432596,-32.042021 c 0.585887,0.127228 0.512213,-0.180421 1.219665,0.000777 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "30": {
+        "d": "m -18.153531,-21.837836 c 3.215005,-2.447591 4.672672,-2.152422 4.466629,-4.212846 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "31": {
+        "d": "m 15.762896,-23.369814 c -0.01344,1.378966 0.07521,1.202392 0.05076,2.867781 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "32": {
+        "d": "m 5.583352,-30.530025 c -0.013441,0.800824 0.075209,0.69828 0.050758,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "33": {
+        "d": "m -9.378718,-25.884177 c -0.5040871,3.128042 2.6987305,0.867858 5.3356759,4.300125 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "34": {
+        "d": "m 1.8360696,-47.841605 c -0.174026,9.886858 9.2192474,9.59009 8.7906394,16.860191 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "35": {
+        "d": "m -1.5378627,-30.259598 c -0.013441,0.800824 0.075209,0.69828 0.050758,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "36": {
+        "d": "m 6.8585276,-63.956364 c 0.7852691,-12.269666 -14.4941884,-4.775033 -21.9460096,2.408421 -8.101026,7.809279 -7.69819,22.61376 -4.155266,28.144721 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "37": {
+        "d": "m -17.206625,-35.711775 c 0.934421,0.662775 1.366959,0.775594 2.930833,0.723909 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "38": {
+        "d": "m 6.8262646,-50.37338 c -0.127228,0.585887 0.180421,0.512213 -0.000777,1.219665 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "39": {
+        "d": "m -6.6722895,55.876944 c -8.1052075,1.177908 -7.1380375,-13.203497 -7.2257505,-16.413039 -0.567581,-20.768656 -0.285175,-21.950753 1.795579,-39.40712154 0.701268,-5.88325696 9.1655835,-9.31599106 8.1247525,-21.62334846 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "4": {
+        "d": "m 8.1674841,-30.530025 c -0.013441,0.800824 0.075209,0.69828 0.050758,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "40": {
+        "d": "m -19.016403,-21.533293 c -0.02588,-0.778723 -0.557515,-3.224912 -0.05076,-4.365117 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "41": {
+        "d": "m 5.583352,-25.541207 c -0.013441,0.800824 0.075209,0.69828 0.050758,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "42": {
+        "d": "m 4.3516668,-47.662494 c -0.013441,0.800824 0.011161,1.296065 -0.01329,2.263227 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "43": {
+        "d": "m -1.4671162,-25.860342 c 0.08252,2.691955 -0.555054,2.684709 -2.3975953,4.338873 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "44": {
+        "d": "m -6.5901352,-30.234303 c -0.127228,0.585887 0.180421,0.512213 -0.000777,1.219665 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "45": {
+        "d": "m 20.816963,-23.369814 c -0.01344,1.378966 0.07521,1.202392 0.05076,2.867781 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "46": {
+        "d": "m -5.5523258,-35.197419 c 1.4128594,2.297005 1.4761292,1.843812 3.1593663,4.632961 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "47": {
+        "d": "m 18.325598,-18.057334 c 0.906993,19.7228648 -1.19717,41.876626 -1.803774,62.844659 -0.197568,6.82921 1.26219,13.14897 -3.574223,20.598812 -2.390801,3.682707 -16.1905228,9.132046 -14.6459285,-1.636741 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "48": {
+        "d": "m -7.6741048,-39.703392 c -6.9609082,0.222502 -7.1454232,-1.091295 -10.8951372,6.304216 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "49": {
+        "d": "m 13.224797,-30.530025 c -0.01344,0.800824 0.07521,0.69828 0.05076,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "5": {
+        "d": "m 18.300995,-23.369814 c -0.01344,1.378966 0.07521,1.202392 0.05076,2.867781 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "50": {
+        "d": "m 8.1674841,-23.369814 c -0.013441,1.378966 0.075209,1.202392 0.050758,2.867781 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "51": {
+        "d": "m 1.8501084,-63.045454 c -0.2672718,5.396461 7.699731,10.185593 7.9977201,15.476623 0.3900885,6.926323 9.1035765,7.102503 8.5585425,16.373323 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "52": {
+        "d": "m 13.224797,-23.369814 c -0.01344,1.378966 0.07521,1.202392 0.05076,2.867781 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "53": {
+        "d": "m -4.3795573,55.085642 c 0.302633,-20.086526 -6.7103387,-22.21151 -1.2765322,-43.936565 4.1680442,-16.6643753 13.7808921,-13.9279392 13.8703556,-29.185369 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "54": {
+        "d": "m -11.901812,-34.936614 c 0.662775,0.934421 0.775594,1.366959 0.723909,2.930833 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "6": {
+        "d": "m 4.3797756,-63.045454 c -1.2407226,5.606938 11.8082874,6.291306 15.6835084,10.151154 3.87522,3.859847 -0.03271,19.150295 0.631213,21.802888 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "7": {
+        "d": "m 0.03880091,-33.927302 c 2.86031599,-0.1324 5.92262499,-0.320033 5.60829119,2.893181 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }, 
+      "8": {
+        "d": "m 2.9992188,-30.530025 c -0.013441,0.800824 0.075209,0.69828 0.050758,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;", 
+        "type": "pour_bridge"
+      }, 
+      "9": {
+        "d": "m 8.1674841,-25.541207 c -0.013441,0.800824 0.075209,0.69828 0.050758,1.665442 ", 
+        "inkscape:connector-curvature": "0", 
+        "style": "stroke-width:1.0;fill:none;"
+      }
+    }
+  }, 
+  "vias": {
+    "1": {
+      "location": [
+        "-0.74", 
+        "60.324972"
+      ], 
+      "radius_x": 0.25, 
+      "radius_y": 0.25, 
+      "via_type": "via:VIA"
+    }, 
+    "2": {
+      "location": [
+        "4.34", 
+        "45.39442"
+      ], 
+      "radius_x": 0.25, 
+      "radius_y": 0.25, 
+      "via_type": "via:VIA"
+    }, 
+    "3": {
+      "location": [
+        "-0.74", 
+        "51.13694"
+      ], 
+      "radius_x": 0.25, 
+      "radius_y": 0.25, 
+      "via_type": "via:VIA"
+    }
+  }
+}

File boards/itemv/parts/0805_GENERIC.json

+{
+"meta": 
+  {
+    "number": "",
+    "description": "1608 metric / 0603 Imperial generic footprint",
+    "datasheet_url": "",
+    "digikey_number": "",
+    "octopart_number": "",
+    "svg_width": 4,
+    "svg_height": 2.2
+  },
+"pins":
+  {
+  "1":
+    {	
+      "layout": 
+      {
+        "pad": "pad", 
+        "location": [-1.143, 0],
+        "rotation": 0
+      }
+    },
+  "2":
+    {	
+      "layout": 
+      {
+        "pad": "pad", 
+        "location": [1.143, 0],
+        "rotation": 0
+      }
+    }
+  },
+  "layout":
+  {
+    "silkscreen":
+    {
+      "outline":
+      {
+        "top":
+        [
+	  {
+            "type": "rect",
+	    "width": 0.3,
+	    "height": 1,
+	    "location": [0, 0],
+	    "style": "fill"
+          }
+        ]
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "?*",
+          "location": [0, 1.5]
+        }
+      }
+    },
+    "assembly":
+    {
+      "outline":
+      {
+        "top":
+        [
+          {
+	    "type":"rect",
+	    "width":2.55,
+	    "height":1.4,
+            "offset":[0,0]
+          }
+        ]
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "?*",
+          "location": [0,0]
+        }
+      }
+    }
+  },
+  "pads":
+  {
+    "pad":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "rect",
+            "outline": 0,
+            "width": 1.524,
+            "height": 1.143,
+            "offset": [0, 0]
+          }
+        ]
+      }
+    }
+  }
+}

File boards/itemv/parts/CON_CCM01_MKII.json

+{
+  "meta": 
+  {
+    "number": "",
+    "description": "",
+    "datasheet_url": "",
+    "digikey_number": "",
+    "octopart_number": "",
+    "svg_width": 50,
+    "svg_height": 12
+  },
+  "pins":
+  {
+  "C1":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-3.81, 7.6]
+      }
+    },
+  "C2":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-1.27, 7.6]
+      }
+    },
+  "C3":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [1.27, 7.6]
+      }
+    },
+  "C4":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [3.81, 7.6]
+      }
+    },
+  "C5":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-3.81, -7.6]
+      }
+    },
+  "C6":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-1.27, -7.6]
+      }
+    },
+  "C7":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location":[1.27, -7.6]
+      }
+    },
+  "C8":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [3.81, -7.6]
+      }
+    },
+  "SW1":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [6.81, 16.2]
+      }
+    },
+  "SW2":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [10.81, 16.2]
+      }
+    },
+  "M1":
+    {	
+      "layout": 
+      {
+	"pad": "hole", 
+	"location": [-22.68, -10]
+      }
+    },
+  "M2":
+    {
+      "layout": 
+      {
+	"pad": "hole", 
+	"location":[28.82, 14]
+      }
+    }
+  },
+  "layout":
+  {
+    "silkscreen":
+    {
+      "outline":
+      {
+        "top":
+	[
+	  {
+	    "type": "rect",
+            "width": 34.02,
+            "height": 5.74,
+	    "offset": [0, 0],
+            "radii": {"tl": 0.5, "tr": 0.5, "bl": 0, "br": 0.5}
+	  }
+	]        
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "J*",
+          "location": [0, 4]
+        }
+      }
+    },
+    "assembly":
+    {
+      "outline":
+      {
+        "top":
+	[
+	  {
+	    "type": "rect",
+            "width": 55.6,
+            "height": 36.6,
+	    "offset": [3.07, 0]
+	  }
+	]        
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "J*",
+          "location": [0, 0]
+        }
+      }
+    }
+  },
+  "pads":
+  {
+    "pin":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "rect",
+            "width": 1.2,
+            "height": 2.4,
+            "offset": [0, 0] 
+          }
+        ]
+      }
+    },
+    "hole":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "circle",
+	    "diameter": 1,
+            "soldermask": 
+            {
+              "scale_factor": 3.9
+            },
+            "distances":
+	    {
+	      "buffer_from_pour_to": 
+	      {
+	        "pad": 1.8
+              }
+	    }
+          }
+        ],
+        "bottom":
+        [
+          {
+            "type": "circle",
+	    "diameter": 1,
+            "soldermask": 
+            {
+              "scale_factor": 3.9
+            },
+            "distances":
+	    {
+	      "buffer_from_pour_to": 
+	      {
+	        "pad": 1.8
+              }
+	    }
+          }
+        ]
+      },
+      "drills":
+      [
+        {
+          "diameter": 3.2,
+          "offset": [0, 0],
+          "show_diameter": "yes"
+        }
+      ]
+    }
+  }
+}

File boards/itemv/parts/CON_TH_2P54MM_2X13.json

+{
+  "meta": 
+  {
+    "number": "",
+    "description": "",
+    "datasheet_url": "",
+    "digikey_number": "",
+    "octopart_number": "",
+    "svg_width": 50,
+    "svg_height": 12
+  },
+  "pins":
+  {
+  "1":
+    {	
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [-15.24, -1.27]
+      }
+    },
+  "2":
+    {
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [-15.24, 1.27],
+        "rotate": 90
+      }
+    },
+  "3":
+    {
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [-12.7, -1.27]
+      }
+    },
+  "4":
+    {
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [-12.7, 1.27]
+      }
+    },
+  "5":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [-10.16, -1.27]
+      }
+    },
+  "6":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [-10.16, 1.27]
+      }
+    },
+  "7":
+    {	
+      "layout": 
+      {
+	"pad":"th_circle_1p1_diameter", 
+	"location":[-7.62, -1.27]
+      }
+    },
+  "8":
+    {	
+      "layout": 
+      {
+	"pad":"th_circle_1p1_diameter", 
+	"location": [-7.62, 1.27]
+      }
+    },
+  "9":
+    {	
+      "layout": 
+      {
+	"pad":"th_circle_1p1_diameter", 
+	"location":[-5.08, -1.27]
+      }
+    },
+  "10":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [-5.08, 1.27]
+      }
+    },
+  "11":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [-2.54, -1.27]
+      }
+    },
+  "12":
+    {
+      "layout": 
+      {
+	"pad":"th_circle_1p1_diameter", 
+	"location":[-2.54, 1.27]
+      }
+    },
+  "13":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [0, -1.27]
+      }
+    },
+  "14":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [0, 1.27]
+      }
+    },
+  "15":
+    {	
+      "layout": 
+      {
+	"pad":"th_circle_1p1_diameter", 
+	"location":[2.54, -1.27]
+      }
+    },
+  "16":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [2.54, 1.27]
+      }
+    },
+  "17":
+    {	
+      "layout": 
+      {
+	"pad":"th_circle_1p1_diameter", 
+	"location":[5.08, -1.27]
+      }
+    },
+  "18":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [5.08, 1.27]
+      }
+    },
+  "19":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [7.62, -1.27]
+      }
+    },
+  "20":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [7.62, 1.27]
+      }
+    },
+  "21":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [10.16, -1.27]
+      }
+    },
+  "22":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [10.16, 1.27]
+      }
+    },
+  "23":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [12.7, -1.27]
+      }
+    },
+  "24":
+    {	
+      "layout": 
+      {
+	"pad": "th_circle_1p1_diameter", 
+	"location": [12.7, 1.27]
+      }
+    },
+  "25":
+    {	
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [15.24, -1.27],
+	"rotate": -90
+      }
+    },
+  "26":
+    {	
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [15.24, 1.27],
+	"rotate": 180
+      }
+    }
+  },
+  "layout":
+  {
+    "silkscreen":
+    {
+      "outline":
+      {
+        "top":
+	[
+	  {
+	    "type": "rect",
+            "width": 34.02,
+            "height": 5.74,
+	    "offset": [0, 0],
+            "radii": {"tl": 0.5, "tr": 0.5, "bl": 0, "br": 0.5}
+	  }
+	]        
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "J*",
+          "location": [0, 4]
+        }
+      }
+    },
+    "assembly":
+    {
+      "outline":
+      {
+        "top":
+	[
+	  {
+	    "type": "rect",
+            "width": 33.02,
+            "height": 4.83,
+	    "offset": [0, 0]
+	  }
+	]        
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "J*",
+          "location": [0, 0]
+        }
+      }
+    }
+  },
+  "pads":
+  {
+    "th_circle_1p1_diameter":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "circle",
+            "outline": 0,
+            "diameter": 1.5,
+            "offset": [0, 0] 
+          }
+        ],
+        "bottom":
+        [
+          {
+            "type": "circle",
+            "outline": 0,
+            "diameter": 1.5,
+            "offset": [0, 0] 
+          }
+        ]
+      },
+      "drills":
+      [
+        {
+          "diameter": 1.1,
+          "offset": [0, 0],
+          "show_diameter": "yes"
+        }
+      ]
+    },
+    "corner_pin":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "rect",
+	    "width": 1.5,
+	    "height": 1.5,
+	    "radii": {"tl": 0, "tr": 0, "bl": 0.75, "br": 0}
+          }
+        ],
+        "bottom":
+        [
+          {
+            "type": "rect",
+	    "width": 1.5,
+	    "height": 1.5,
+	    "radii": {"tl": 0, "tr": 0, "bl": 0.75, "br": 0}
+          }
+        ]
+      },
+      "drills":
+      [
+        {
+          "diameter": 1.1,
+          "offset": [0, 0],
+          "show_diameter": "yes"
+        }
+      ]
+    }
+  }
+}

File boards/itemv/parts/CON_TH_2P54MM_2X8.json

+{
+  "meta": 
+  {
+    "number": "",
+    "description": "",
+    "datasheet_url": "",
+    "digikey_number": "",
+    "octopart_number": "",
+    "svg_width": 50,
+    "svg_height": 12
+  },
+  "pins":
+  {
+  "1":
+    {	
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [-8.89, -1.27]
+      }
+    },
+  "2":
+    {
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [-8.89, 1.27],
+        "rotate": 90
+      }
+    },
+  "3":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-6.35, -1.27]
+      }
+    },
+  "4":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-6.35, 1.27]
+      }
+    },
+  "5":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-3.81, -1.27]
+      }
+    },
+  "6":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-3.81, 1.27],
+        "rotate": 0
+      }
+    },
+  "7":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-1.27, -1.27]
+      }
+    },
+  "8":
+    {
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [-1.27, 1.27]
+      }
+    },
+  "9":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [1.27, -1.27]
+      }
+    },
+  "10":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [1.27, 1.27]
+      }
+    },
+  "11":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [3.81, -1.27],
+	"rotate": 0
+      }
+    },
+  "12":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [3.81, 1.27],
+	"rotate": 0
+      }
+    },
+  "13":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [6.35, -1.27]
+      }
+    },
+  "14":
+    {	
+      "layout": 
+      {
+	"pad": "pin", 
+	"location": [6.35, 1.27]
+      }
+    },
+  "15":
+    {	
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [8.89, -1.27],
+	"rotate": -90
+      }
+    },
+  "16":
+    {	
+      "layout": 
+      {
+	"pad": "corner_pin", 
+	"location": [8.89, 1.27],
+	"rotate": 180
+      }
+    }
+  },
+  "layout":
+  {
+    "silkscreen":
+    {
+      "outline":
+      {
+        "top":
+	[
+	  {
+	    "type": "rect",
+            "width": 20.05,
+            "height": 5.84,
+	    "offset": [0, 0],
+            "radii": {"tl": 0.5, "tr": 0.5, "bl": 0, "br": 0.5}
+	  }
+	]        
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "J*",
+          "location": [0, 4]
+        }
+      }
+    },
+    "assembly":
+    {
+      "outline":
+      {
+        "top":
+	[
+	  {
+	    "type": "rect",
+            "width": 19.05,
+            "height": 4.83,
+	    "offset": [0, 0]
+	  }
+	]        
+      },
+      "refdef":
+      {
+        "top":
+        {
+          "designator": "J*",
+          "location": [0, 0]
+        }
+      }
+    }
+  },
+  "pads":
+  {
+    "pin":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "circle",
+            "outline": 0,
+            "diameter": 1.5,
+            "offset": [0, 0] 
+          }
+        ],
+        "bottom":
+        [
+          {
+            "type": "circle",
+            "outline": 0,
+            "diameter": 1.5,
+            "offset": [0, 0] 
+          }
+        ]
+      },
+      "drills":
+      [
+        {
+          "diameter": 1.1,
+          "offset": [0, 0],
+          "show_diameter": "yes"
+        }
+      ]
+    },
+    "corner_pin":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "rect",
+	    "width": 1.5,
+	    "height": 1.5,
+	    "radii": {"tl": 0, "tr": 0, "bl": 0.75, "br": 0}
+          }
+        ],
+        "bottom":
+        [
+          {
+            "type": "rect",
+	    "width": 1.5,
+	    "height": 1.5,
+	    "radii": {"tl": 0, "tr": 0, "bl": 0.75, "br": 0}
+          }
+        ]
+      },
+      "drills":
+      [
+        {
+          "diameter": 1.1,
+          "offset": [0, 0],
+          "show_diameter": "yes"
+        }
+      ]
+    },
+    "th_circle_1p1_diameter_pin1":
+    {
+      "origin": [0, 0],
+      "shapes":
+      {
+        "top":
+        [
+          {
+            "type": "path",
+	    "value": "m -15.63282,-2.3939022 c -0.138786,0 -0.254295,0.1155079 -0.254295,0.2542953 0,0.05338 0.01703,0.1046127 0.04541,0.1453117 -0.033,0.078026 -0.04541,0.1642471 -0.04541,0.2542953 0,0.090048 0.0124,0.1762689 0.04541,0.2542954 9.83e-4,0.00243 -0.0011,0.00667 0,0.00908 -0.0271,0.040107 -0.04541,0.084184 -0.04541,0.1362297 0,0.1387871 0.115509,0.2542953 0.254295,0.2542953 0.05783,0 0.102846,-0.021664 0.145312,-0.054492 0.07803,0.033002 0.164247,0.054492 0.254295,0.054492 0.08707,0 0.169272,-0.023525 0.245214,-0.054492 0.0026,-0.00106 0.0065,0.00109 0.0091,0 0.04144,0.03013 0.09015,0.054492 0.145312,0.054492 0.138786,0 0.254295,-0.1155082 0.254295,-0.2542953 0,-0.052045 -0.0274,-0.096122 -0.05449,-0.1362297 -0.0014,-0.00214 0.0015,-0.00699 0,-0.00908 0.033,-0.078026 0.04541,-0.1642472 0.04541,-0.2542954 0,-0.090048 -0.0124,-0.1762688 -0.04541,-0.2542953 0.02838,-0.040699 0.05449,-0.091932 0.05449,-0.1453117 0,-0.1387871 -0.115509,-0.2542953 -0.254295,-0.2542953 -0.05516,0 -0.103868,0.024362 -0.145312,0.054492 -0.0026,-0.00109 -0.0065,0.00106 -0.0091,0 -0.07594,-0.030967 -0.158139,-0.054492 -0.245214,-0.054492 -0.09005,0 -0.176268,0.02149 -0.254295,0.054492 -0.04246,-0.032828 -0.08748,-0.054492 -0.145312,-0.054492 z",
+            "outline": 0,
+	    "scale_factor": 1,
+            "offset": [0, 0],
+	    "rotate": 0, 
+	    "soldermask":
+	    {
+	      "type": "shape",
+	      "scale_factor": 1.2,
+              "rotate": 0
+	    }
+          }
+        ],
+        "bottom":
+        [
+          {
+            "type": "path",
+            "value": "m -15.63282,-2.3939022 c -0.138786,0 -0.254295,0.1155079 -0.254295,0.2542953 0,0.05338 0.01703,0.1046127 0.04541,0.1453117 -0.033,0.078026 -0.04541,0.1642471 -0.04541,0.2542953 0,0.090048 0.0124,0.1762689 0.04541,0.2542954 9.83e-4,0.00243 -0.0011,0.00667 0,0.00908 -0.0271,0.040107 -0.04541,0.084184 -0.04541,0.1362297 0,0.1387871 0.115509,0.2542953 0.254295,0.2542953 0.05783,0 0.102846,-0.021664 0.145312,-0.054492 0.07803,0.033002 0.164247,0.054492 0.254295,0.054492 0.08707,0 0.169272,-0.023525 0.245214,-0.054492 0.0026,-0.00106 0.0065,0.00109 0.0091,0 0.04144,0.03013 0.09015,0.054492 0.145312,0.054492 0.138786,0 0.254295,-0.1155082 0.254295,-0.2542953 0,-0.052045 -0.0274,-0.096122 -0.05449,-0.1362297 -0.0014,-0.00214 0.0015,-0.00699 0,-0.00908 0.033,-0.078026 0.04541,-0.1642472 0.04541,-0.2542954 0,-0.090048 -0.0124,-0.1762688 -0.04541,-0.2542953 0.02838,-0.040699 0.05449,-0.091932 0.05449,-0.1453117 0,-0.1387871 -0.115509,-0.2542953 -0.254295,-0.2542953 -0.05516,0 -0.103868,0.024362 -0.145312,0.054492 -0.0026,-0.00109 -0.0065,0.00106 -0.0091,0 -0.07594,-0.030967 -0.158139,-0.054492 -0.245214,-0.054492 -0.09005,0 -0.176268,0.02149 -0.254295,0.054492 -0.04246,-0.032828 -0.08748,-0.054492 -0.145312,-0.054492 z",
+            "offset": [0, 0],
+	    "scale_factor": 1.1
+          }
+        ]
+      },
+      "drills":
+      [
+        {
+          "diameter": 1.1,
+          "offset": [0, 0],
+          "show_diameter": "yes"
+        }
+      ]
+    }
+  }
+}

File boards/itemv/parts/CON_TH_2P54MM_2X8_LEGEND.json

+{
+  "meta": 
+  {
+    "number": "",
+    "description": "",
+    "datasheet_url": "",
+    "digikey_number": "",
+    "octopart_number": "",
+    "svg_width": 50,
+    "svg_height": 12
+  },
+  "pins":
+  {
+  },
+  "layout":
+  {
+    "silkscreen":
+    {
+      "outline":
+      {
+        "top":
+	[
+	  {
+	    "location": [-9.39, 3.5],
+	    "font": "UbuntuMono-R-webfont",
+            "type": "text",
+            "value": "GND",
+            "style": "fill",
+            "scale": 0.0009,
+	    "rotate": -90
+          },
+	  {
+	    "location": [-6.75, 3.5],
+	    "font": "UbuntuMono-R-webfont",
+            "type": "text",
+            "value": "SW",
+            "style": "fill",
+            "scale": 0.0009,
+	    "rotate": -90
+          },
+	  {
+	    "location": [-4.41, 3.5],
+	    "font": "UbuntuMono-R-webfont",
+            "type": "text",
+            "value": "VPP",
+            "style": "fill",
+            "scale": 0.0009,
+	    "rotate": -90
+          },
+	  {
+	    "location": [-1.67, 3.5],
+	    "font": "UbuntuMono-R-webfont",
+            "type": "text",
+            "value": "I/O",