// // file: /home2/designs/boards/Disco/Work/Geometries/Design_Disco_PCB/disco_pcb_basic_structure.txt // // date: Original Rev. 15-Nov-2022 // Current Rev. 20-Oct-2023 // // // // Disco-Kraken // // PCB Geometry Basic Structure // // // All dimensions are wrt the lower left-hand corner of the pcb. // // $$lock_windows(@on); $$create_board("disco_0_pcb"); $$page(0.0, 0.0, 0.75, @mm, 0.0, 0.0, [0.0,0.0,'BO$disco_0_pcb'] ); $$point_mode(@vertex); $$attribute( "MILLING_ORIGIN", "MILLING 0 0.0 0 ", , @scale , , [0.0, 0.0]); $$attribute( "DRILL_ORIGIN", "0.0", , @scale , , [0.0, 0.0]); $$template_line_style( @Solid ); // // For the outlines given in the "Initial - Terminal" // format we will begin at 0,0 and proceed CCW. // // // Board Outline // $$initial([ 0.00, 0.00 ], , @nosnap ); $$terminal([ 137.80, 0.00 ]); $$terminal([ 137.80, 24.50 ]); $$terminal([ 166.70, 24.50 ]); $$terminal([ 166.70, 0.00 ]); $$terminal([ 235.00, 0.00 ]); $$terminal([ 235.00, 235.00 ]); $$terminal([ 0.00, 235.00 ]); $$terminal([ 0.00, 0.00 ]); $$path( "BOARD_OUTLINE", 0.20 ); // // Board Routing Outline // $$initial([ 0.00, 0.00 ], , @nosnap ); $$terminal([ 137.80, 0.00 ]); $$terminal([ 137.80, 24.50 ]); $$terminal([ 166.70, 24.50 ]); $$terminal([ 166.70, 0.00 ]); $$terminal([ 235.00, 0.00 ]); $$terminal([ 235.00, 235.00 ]); $$terminal([ 0.00, 235.00 ]); $$terminal([ 0.00, 0.00 ]); $$attribute( "BOARD_ROUTING_OUTLINE", "", @mark, @scale ); // // Board Placement Ooutline // $$initial([ 0.00, 0.00 ], , @nosnap ); $$terminal([ 137.80, 0.00 ]); $$terminal([ 137.80, 24.50 ]); $$terminal([ 166.70, 24.50 ]); $$terminal([ 166.70, 0.00 ]); $$terminal([ 235.00, 0.00 ]); $$terminal([ 235.00, 235.00 ]); $$terminal([ 0.00, 235.00 ]); $$terminal([ 0.00, 0.00 ]); $$attribute( "BOARD_PLACEMENT_OUTLINE", "", @mark, @scale ); $$attribute( "BOARD_DEFINITION_IDENTIFIER", ""); $$attribute( "BOARD_ROUTING_LAYERS", "", , , , [12, 0]); $$attribute( "POWER_NET_NAMES", "GROUND"); $$attribute( "DIAGONAL_ROUTING_ALLOWED", "yes"); $$attribute( "TJUNCTIONS_ALLOWED", "yes"); $$attribute( "BOARD_DEFAULT_PADSTACK", "TERM_60"); $$attribute( "BOARD_DEFAULT_VIA", "via_0mm65"); $$attribute( "DEFAULT_PAD_SIZE", "", , @scale , , [ 1.50, 0.0 ]); $$attribute( "BOARD_PLACEMENT_GRID", "", , @scale , , [ 0.10, 0.0 ]); $$attribute( "BOARD_PLACEMENT_CLEARANCE", "", , @scale , , [ 0.10, 0.0 ]); $$attribute( "BOARD_MATERIAL", ""); $$attribute( "BOARD_THICKNESS", "", , @scale , , [ 0.0, 0.0 ]); $$attribute( "BOARD_INTERNAL_COPPER", "", , @scale , , [ 0.0, 0.0 ]); $$attribute( "BOARD_EXTERNAL_COPPER", "", , @scale , , [ 0.0, 0.0 ]); // // For now add a 340 mm diameter circle on // GLUE_MASK_1 this is to shown the limits // of the space available to the DK board. // This circle is centered on the center of DK. // $$circle( "SILKSCREEN_1", 117.50, 117.50, 340.00, 0.20 ); // // file: disco_pcb_drill_holes.txt // // // date: Original Rev. 15-Nov-2022 // Current Rev. 20-Oct-2022 // // // // Disco-Kraken // // PCB Geometry Drill Holes // // // // // // Recall some Standard Size Screw Holes // -------------------------------------- // // - M2.5 Screw Dimensions: // // Diameter of Threaded Section: 2.45 mm // Diameter of the Screw Head: 4.5 mm // Thickness of the Screw Head: 1.5 mm // // - In the DK PCB implement this as: // // Drill Hole Diameter: 2.7 mm // Pad Diameter: 4.9 mm // Solder Mask Opening Diameter: 5.1 mm // Plane Relief Diameter: 3.7 mm // Silkscreen circle Diameter: 5.1 mm // // // // - M3 Screw Dimensions: // // Diameter of Threaded Section: 3.0 mm // Diameter of the Screw Head: 5.5 mm // M3 Washer Outside Diameter: 7.0 mm // // - In the DK PCB implement this as: // // Drill Hole Diameter: 3.2 mm // Pad Diameter: 7.4 mm // Solder Mask Opening Diameter: 7.6 mm // Plane Relief Diameter: 4.5 mm // Silkscreen circle Diameter: 7.6 mm // // // // - 4-40 Button Head Screw Dimensions: // // Diameter of Threaded Section: 2.8 mm // Diameter of the Screw Head: 5.3 mm // Thickness of the Screw Head: 1.5 mm // // - In the DK PCB implement this as: // // Drill Hole Diameter: 3.0 mm // Pad Diameter: 6.0 mm // Solder Mask Opening Diameter: 6.2 mm // Plane Relief Diameter: 4.0 mm // Silkscreen circle Diameter: 9.0 mm // // // Add 8 PCB Mounting Holes // // one mounting hole in each corner set back 6.0 mm from both edges // one mounting hole in the middle of each edge set back 6.0 mm from the edge // // These mounting holes are for M3 screws with a washer. $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 6.00, 6.00 ]); //$$circle( "PAD_1", 6.00, 6.00, 7.40, 0.0 ); //$$circle( "PAD_2", 6.00, 6.00, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 6.00, 6.00, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 6.00, 6.00, 7.60, 0.0 ); $$circle( "POWER", 6.00, 6.00, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 6.00, 6.00, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 6.00, 6.00, 7.60, 0.20 ); $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 117.50, 6.00 ]); //$$circle( "PAD_1", 117.50, 6.00, 7.40, 0.0 ); //$$circle( "PAD_2", 117.50, 6.00, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 117.50, 6.00, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 117.50, 6.00, 7.60, 0.0 ); $$circle( "POWER", 117.50, 6.00, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 117.50, 6.00, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 117.50, 6.00, 7.60, 0.20 ); $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 229.00, 6.00 ]); //$$circle( "PAD_1", 229.00, 6.00, 7.40, 0.0 ); //$$circle( "PAD_2", 229.00, 6.00, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 229.00, 6.00, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 229.00, 6.00, 7.60, 0.0 ); $$circle( "POWER", 229.00, 6.00, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 229.00, 6.00, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 229.00, 6.00, 7.60, 0.20 ); $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 6.00, 117.50 ]); //$$circle( "PAD_1", 6.00, 117.50, 7.40, 0.0 ); //$$circle( "PAD_2", 6.00, 117.50, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 6.00, 117.50, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 6.00, 117.50, 7.60, 0.0 ); $$circle( "POWER", 6.00, 117.50, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 6.00, 117.50, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 6.00, 117.50, 7.60, 0.20 ); $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 229.00, 117.50 ]); //$$circle( "PAD_1", 229.00, 117.50, 7.40, 0.0 ); //$$circle( "PAD_2", 229.00, 117.50, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 229.00, 117.50, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 229.00, 117.50, 7.60, 0.0 ); $$circle( "POWER", 229.00, 117.50, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 229.00, 117.50, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 229.00, 117.50, 7.60, 0.20 ); $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 6.00, 229.00 ]); //$$circle( "PAD_1", 6.00, 229.00, 7.40, 0.0 ); //$$circle( "PAD_2", 6.00, 229.00, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 6.00, 229.00, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 6.00, 229.00, 7.60, 0.0 ); $$circle( "POWER", 6.00, 229.00, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 6.00, 229.00, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 6.00, 229.00, 7.60, 0.20 ); $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 117.50, 229.00 ]); //$$circle( "PAD_1", 117.50, 229.00, 7.40, 0.0 ); //$$circle( "PAD_2", 117.50, 229.00, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 117.50, 229.00, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 117.50, 229.00, 7.60, 0.0 ); $$circle( "POWER", 117.50, 229.00, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 117.50, 229.00, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 117.50, 229.00, 7.60, 0.20 ); $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 229.00, 229.00 ]); //$$circle( "PAD_1", 229.00, 229.00, 7.40, 0.0 ); //$$circle( "PAD_2", 229.00, 229.00, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 229.00, 229.00, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 229.00, 229.00, 7.60, 0.0 ); $$circle( "POWER", 229.00, 229.00, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 229.00, 229.00, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 229.00, 229.00, 7.60, 0.20 ); // // Add a 9th PCB Mounting Hole // // set back 6.0 mm from the edge // to support the board by the cut out for the SFP Modules // // These mounting holes are for M3 screws with a washer. $$attribute( "DRILL_DEFINITION_UNPLATED", "3.20", , @scale , , [ 176.50, 6.00 ]); //$$circle( "PAD_1", 6.00, 6.00, 7.40, 0.0 ); //$$circle( "PAD_2", 6.00, 6.00, 7.40, 0.0 ); $$circle( "SOLDER_MASK_1", 176.50, 6.00, 7.60, 0.0 ); $$circle( "SOLDER_MASK_2", 176.50, 6.00, 7.60, 0.0 ); $$circle( "POWER", 176.50, 6.00, 4.50, 0.0 ); $$circle( "SILKSCREEN_1", 176.50, 6.00, 7.60, 0.20 ); $$circle( "SILKSCREEN_2", 176.50, 6.00, 7.60, 0.20 ); // // file: disco_pcb_silkscreen.txt // // date: Original Rev. 15-Nov-2022 // Current Rev. 12-Oct-2023 // // // // Disco-Kraken // // PCB Geometry Silkscreen // $$text( "SILKSCREEN_1", "Disco-Kraken", 127.0, 205.0, 4.00, @BC, 0, 0.90, 0.25, "std", "None", 0.0, 0.0 ); $$text( "SILKSCREEN_1", "MSU Physics", 127.0, 186.3, 3.00, @BC, 0, 0.90, 0.25, "std", "None", 0.0, 0.0 ); $$text( "SILKSCREEN_1", "October-2023", 127.0, 180.3, 3.00, @BC, 0, 0.90, 0.25, "std", "None", 0.0, 0.0 ); // // Label the Layers // $$text( "DRAWING_1", "Disco-Kraken Board", 50.0, -12.0, 3.0, @BC, 0, 0.90, 0.20, "std", "None", 0.0, 0.0 ); $$text( "DRAWING_1", "MSU Physics October 2023", 50.0, -19.0, 3.0, @BC, 0, 0.90, 0.20, "std", "None", 0.0, 0.0 ); // // End of the Layer Labels // // // Some general Silk to help understand the Disco-Kraken pcb: // //$$text( "SILKSCREEN_1", "BULK 2V5", 105.5, 63.0, 3.0, @BC, 0, 0.70, 0.2, "std", "None", 0.0, 0.0 ); //$$text( "SILKSCREEN_1", "CATALAN", 92.8, 131.4, 1.4, @BC, 90, 0.70, 0.2, "std", "None", 0.0, 0.0 ); //$$text( "SILKSCREEN_1", "B", 220.0, 18.6, 2.5, @BC, 0, 0.70, 0.2, "std", "None", 0.0, 0.0 ); // // Additional Text on SilkScreen 2 // $$text( "SILKSCREEN_2", "Disco-Kraken", 127.5, 185.0, 4.0, @BC, 0, 0.70, 0.25, "std", "None", 0.0, 0.0 ); $$text( "SILKSCREEN_2", "MICHIGAN STATE UNIVERSITY", 127.5, 179.0, 3.0, @BC, 0, 0.70, 0.25, "std", "None", 0.0, 0.0 ); $$text( "SILKSCREEN_2", "PHYSICS", 127.5, 173.5, 3.0, @BC, 0, 0.70, 0.25, "std", "None", 0.0, 0.0 ); // // White Area next to the "SN" text for the Serial Number // // Two vertical lines then a bunch of horizontal lines all 1 mm wide. // $$text( "SILKSCREEN_1", "SN", 188.0, 126.0, 5.0, @BC, 0, 0.70, 0.25, "std", "None", 0.0, 0.0 ); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 131.00, 195.00, 126.00 ]); $$path( "SILKSCREEN_1", 1.00, , [ 215.00, 131.00, 215.00, 126.00 ]); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 131.00, 215.00, 131.00 ]); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 130.10, 215.00, 130.10 ]); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 129.20, 215.00, 129.20 ]); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 128.30, 215.00, 128.30 ]); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 127.40, 215.00, 127.40 ]); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 126.50, 215.00, 126.50 ]); $$path( "SILKSCREEN_1", 1.00, , [ 195.00, 126.00, 215.00, 126.00 ]); // // file: disco_pcb_drawing_and_dimension.txt // // date: Original Rev. 11-Oct-2023 // Current Rev. 12-Oct-2023 // // // // Notes: // // The pcb geometry source file holds the manufacturing // drawing and dimensions information. // // $$template_line_style( @Solid ); // Show 0,0 at bottom left corner. $$path( "DRAWING_1", 0.20, , [ -5.0, -5.0, -23.0, -23.0 ] ); // comment line $$path( "DRAWING_1", 0.20, , [ -5.0, -5.0, -10.0, -7.5 ] ); // arrow $$path( "DRAWING_1", 0.20, , [ -5.0, -5.0, -7.5, -10.0 ] ); // arrow $$text( "DRAWING_1", "X = 0", -40.0, -18.0, 4.0, @BC, 0, 1.00, 0.20, "std", "None", 0.0, 0.0 ); $$text( "DRAWING_1", "Y = 0", -40.0, -25.0, 4.0, @BC, 0, 1.00, 0.20, "std", "None", 0.0, 0.0 ); $$text( "DRAWING_1", "Corner", -40.0, -32.0, 4.0, @BC, 0, 1.00, 0.20, "std", "None", 0.0, 0.0 ); $$path( "DRAWING_1", 0.20, , [ -23.0, -13.5, -23.0, -32.5 ] ); // Brace Line Vert $$path( "DRAWING_1", 0.20, , [ -23.0, -13.5, -25.0, -12.5 ] ); // Brace Line Top $$path( "DRAWING_1", 0.20, , [ -25.0, -33.5, -23.0, -32.5 ] ); // Brace Line Bot // Main Board Overall Horizontal Dimension. $$path( "DRAWING_1", 0.20, , [ 0.0, -6.0, 0.0, -45.0 ] ); // Left witness line $$path( "DRAWING_1", 0.20, , [ 0.0, -40.0, 130.0, -40.0 ] ); // Left dimension line $$path( "DRAWING_1", 0.20, , [ 0.0, -40.0, 7.5, -37.0 ] ); // arrow $$path( "DRAWING_1", 0.20, , [ 0.0, -40.0, 7.5, -43.0 ] ); // arrow $$path( "DRAWING_1", 0.20, , [ 235.0, -6.0, 235.0, -45.0 ] ); // Right witnes line $$path( "DRAWING_1", 0.20, , [ 190.0, -40.0, 235.0, -40.0 ] ); // Right dimension line $$path( "DRAWING_1", 0.20, , [ 227.5, -37.0, 235.0, -40.0 ] ); // arrow $$path( "DRAWING_1", 0.20, , [ 227.5, -43.0, 235.0, -40.0 ] ); // arrow $$text( "DRAWING_1", "235.00 mm", 160.0, -37.0, 4.0, @BC, 0, 1.00, 0.20, "std", "None", 0.0, 0.0 ); $$text( "DRAWING_1", "X Dimension", 160.0, -47.0, 4.0, @BC, 0, 1.00, 0.20, "std", "None", 0.0, 0.0 ); // // Overall Vertical Dimension // $$path( "DRAWING_1", 0.20, , [ 241.0, 235.00, 280.0, 235.0 ] ); // Upper witness line $$path( "DRAWING_1", 0.20, , [ 275.0, 147.50, 275.0, 235.0 ] ); // dimension line $$path( "DRAWING_1", 0.20, , [ 272.0, 227.50, 275.0, 235.0 ] ); // arrow $$path( "DRAWING_1", 0.20, , [ 278.0, 227.50, 275.0, 235.0 ] ); // arrow $$path( "DRAWING_1", 0.20, , [ 241.0, 0.0, 280.0, 0.0 ] ); // Lower witness line $$path( "DRAWING_1", 0.20, , [ 275.0, 87.5, 275.0, 0.0 ] ); // dimension line $$path( "DRAWING_1", 0.20, , [ 272.0, 7.5, 275.0, 0.0 ] ); // arrow $$path( "DRAWING_1", 0.20, , [ 278.0, 7.5, 275.0, 0.0 ] ); // arrow $$text( "DRAWING_1", "235.00 mm", 270.0, 117.5, 4.0, @BC, 90, 1.00, 0.20, "std", "None", 0.0, 0.0 ); $$text( "DRAWING_1", "Y Dimension", 280.0, 117.5, 4.0, @BC, 90, 1.00, 0.20, "std", "None", 0.0, 0.0 ); // // End of the Drawing_1 overall board dimensions. //