// File: usb_connector_molex_48204_WITH_PLUG.txt // // Date: 12-Oct-2023 Start this brance from the // standard usb_connector_molex_48204.txt // // // // SPECIAL VERSION WITH A PLUG IN SILKSCREEN ONLY // ----------------------------------------------- // // Vertical USB Connector Type A Receptacle for DK // ------------------------ // // This is the geometry for a Vertical USB type "A" receptacle // that uses through hole pins. This is a fairly specific foot // print and it specifically fits the Molex 48204-0001 part. // // This geometry contains it own Pin-Pad Stacks. This layout // has the row of pins running vertically and the plug enters // this receptacle from below. // // The center of this geometry is at the signal pin that is // closest to the pcb edge (closest to where the plug enters // this receptacle). // // Note that on the USB connector itself that 2 inner signal // pins are 2.00 mm apart while the outer to inner pin // spacing is 2.50 mm where as the pins on this connector // that go into the pcb are all spaced by 2.00 mm. // // There are the 4 standard USB signal pins on this connector, // i.e. pins 1:4 and 4 mounting pins that make the shell // connection and are grounded, pins 5:8. // // An initial placement location for this component is 7.73 mm // from the edge of the board. // //----------------------------------------------------------------- // // Terminal Pin/Pad Stack for the Signal Pins on the USB connector // ------ // 0.90 mm drill // 1.50 mm pad land // 1.55 mm soldermask opening // 1.85 mm plane relief // // --> thickness of the donut wall around the pin: 0.30 mm // // --> clearance from edge of drill hole to plane: 0.475 mm // // --> clearance from pad land to plane: 0.175 mm // // --> trace running between adjacent pads // for the 2.0 mm spaced inner pads: 0.16 mm trace 0.17 mm air gap // // --> minimum thickness of the Gnd Plane web: 0.15 mm // $$lock_windows(@on); $$create_pin("USB_Signal_Pin"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$USB_Signal_Pin'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 0.90, 0.0 ]); $$circle( "PAD", 0.0, 0.0, 1.50, 0.0 ); $$circle( "SIGNAL", 0.0, 0.0, 1.50, 0.0 ); $$circle( "SOLDER_MASK", 0.0, 0.0, 1.55, 0.0 ); $$circle( "POWER", 0.0, 0.0, 1.85, 0.0 ); //----------------------------------------------------------------- //----------------------------------------------------------------- // // Terminal Pin/Pad Stack for the Mounting Pins on the USB connector // -------- // // These are the mechanical mounting pins on this connector, // and the electrical connection to the shell of this connector. // These are pins 5,6,7,8 and are grounded. // // 1.30 mm drill // 2.50 mm pad land // 2.55 mm soldermask opening // 3.30 mm plane relief // // --> thickness of the donut wall around the pin: 0.60 mm // // --> clearance from edge of drill hole to plane: 1.00 mm // // --> clearance from pad land to plane: 0.40 mm // $$lock_windows(@on); $$create_pin("USB_Mounting_Pin"); $$page(0.0, 0.0, 0.0, @mm, 0.0, 0.0, [0.0,0.0,'PI$USB_Mounting_Pin'] ); $$point_mode(@vertex); $$attribute( "TERMINAL_THRUHOLE_DEFINITION", ""); $$attribute( "TERMINAL_DRILL_SIZE", "", , @scale , , [ 1.30, 0.0 ]); $$circle( "PAD", 0.0, 0.0, 2.50, 0.0 ); $$circle( "SIGNAL", 0.0, 0.0, 2.50, 0.0 ); $$circle( "SOLDER_MASK", 0.0, 0.0, 2.55, 0.0 ); $$circle( "POWER", 0.0, 0.0, 3.30, 0.0 ); //----------------------------------------------------------------- $$lock_windows(@on); $$create_component("USB_Conn"); $$page(8.5, 5.5, 0.03, @mm, 0.0, 0.0, [0.0,0.0,'CO$USB_Conn'] ); $$point_mode(@vertex); $$attribute( "COMPONENT_HEIGHT", "", , @scale , , [ 6.30, 0.0 ]); $$attribute( "COMPONENT_OUTLINE_OVERHANG", "yes"); // Setup the Component Placement Outline for this connector. $$initial([ 4.50, 8.00 ], , @nosnap ); $$terminal([ -4.50, 8.00 ]); $$terminal([ -4.50, -2.50 ]); $$terminal([ 4.50, -2.50 ]); $$attribute( "COMPONENT_PLACEMENT_OUTLINE", "", @mark, @scale ); // Setup the SilkScreen for this connector. $$template_line_style( @Solid ); $$path( "SILKSCREEN", 0.20, , [ -1.50, 7.30, 1.50, 7.30 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.60, 0.65, -3.60, 4.90 ] ); $$path( "SILKSCREEN", 0.20, , [ 3.60, 0.65, 3.60, 4.90 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.60, -12.50, -3.60, -2.10 ] ); $$path( "SILKSCREEN", 0.20, , [ 3.60, -12.50, 3.60, -2.10 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.60, -12.50, 3.60, -12.50 ] ); $$path( "SILKSCREEN", 0.20, , [ -1.50, -11.00, -0.50, -5.00 ] ); $$path( "SILKSCREEN", 0.20, , [ -0.50, -5.00, 0.50, -5.00 ] ); $$path( "SILKSCREEN", 0.20, , [ 0.50, -5.00, 1.50, -11.00 ] ); // Reference Designator $$text( "SILKSCREEN", "^$ref", 0.0, 8.9, 2.5, @BC, 0, 0.7, 0.20, "std", "None", 0.0, 0.0 ); // For this SPECIAL VERSION ONLY Add a Plug in Silkscreen Only // Metal Extension $$path( "SILKSCREEN", 0.20, , [ -2.20, -12.50, 2.20, -12.50 ] ); $$path( "SILKSCREEN", 0.20, , [ -2.20, -15.70, 2.20, -15.70 ] ); $$path( "SILKSCREEN", 0.20, , [ -2.20, -12.50, -2.20, -15.70 ] ); $$path( "SILKSCREEN", 0.20, , [ 2.20, -12.50, 2.20, -15.70 ] ); // Big Thick Part of Support $$path( "SILKSCREEN", 0.20, , [ -3.60, -15.70, 3.60, -15.70 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.60, -47.50, 3.60, -47.50 ] ); $$path( "SILKSCREEN", 0.20, , [ 3.60, -15.70, 3.60, -47.50 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.60, -15.70, -3.60, -47.50 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.60, -37.30, 3.60, -37.30 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.60, -40.60, 3.60, -40.60 ] ); // Now the Flexable Part of the Support $$path( "SILKSCREEN", 0.20, , [ -3.30, -47.50, 3.30, -47.50 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.30, -60.50, 3.30, -60.50 ] ); $$path( "SILKSCREEN", 0.20, , [ 3.30, -47.50, 3.30, -60.50 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.30, -47.50, -3.30, -60.50 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.30, -50.00, 3.30, -50.00 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.30, -52.00, -2.30, -52.00 ] ); $$path( "SILKSCREEN", 0.20, , [ 2.30, -52.00, 3.30, -52.00 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.30, -54.00, 3.30, -54.00 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.30, -56.00, -2.30, -56.00 ] ); $$path( "SILKSCREEN", 0.20, , [ 2.30, -56.00, 3.30, -56.00 ] ); $$path( "SILKSCREEN", 0.20, , [ -3.30, -58.00, 3.30, -58.00 ] ); // Now a hint at the Cable part itself $$path( "SILKSCREEN", 0.20, , [ -1.60, -60.50, 1.60, -60.50 ] ); $$path( "SILKSCREEN", 0.20, , [ 1.60, -60.50, 1.60, -62.00 ] ); $$path( "SILKSCREEN", 0.20, , [ -1.60, -60.50, -1.60, -62.00 ] ); $$path( "SILKSCREEN", 0.20, , [ 1.60, -63.00, 1.60, -64.00 ] ); $$path( "SILKSCREEN", 0.20, , [ -1.60, -63.00, -1.60, -64.00 ] ); // END of the Plug and Cable in Silkscreen // Define the 4 Signal pins: $$attribute( "COMPONENT_PIN_DEFINITION", "1", , @scale , , [ 0.00, 6.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "1, USB_Signal_Pin" ); $$attribute( "COMPONENT_PIN_DEFINITION", "2", , @scale , , [ 0.00, 4.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "2, USB_Signal_Pin" ); $$attribute( "COMPONENT_PIN_DEFINITION", "3", , @scale , , [ 0.00, 2.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "3, USB_Signal_Pin" ); $$attribute( "COMPONENT_PIN_DEFINITION", "4", , @scale , , [ 0.00, 0.00 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "4, USB_Signal_Pin" ); // Define the 4 Mounting pins: $$attribute( "COMPONENT_PIN_DEFINITION", "5", , @scale , , [ -2.73, 6.27 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "5, USB_Mounting_Pin" ); $$attribute( "COMPONENT_PIN_DEFINITION", "6", , @scale , , [ 2.73, 6.27 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "6, USB_Mounting_Pin" ); $$attribute( "COMPONENT_PIN_DEFINITION", "7", , @scale , , [ -2.73, -0.73 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "7, USB_Mounting_Pin" ); $$attribute( "COMPONENT_PIN_DEFINITION", "8", , @scale , , [ 2.73, -0.73 ]); $$attribute( "COMPONENT_PADSTACK_OVERRIDE", "8, USB_Mounting_Pin" );