Skip to content

Instantly share code, notes, and snippets.

@darksidelemm
Created July 31, 2025 09:27
Show Gist options
  • Save darksidelemm/429fff03990b517d9beeece68e20f7b7 to your computer and use it in GitHub Desktop.
Save darksidelemm/429fff03990b517d9beeece68e20f7b7 to your computer and use it in GitHub Desktop.
// An attempt at making a 'press-fit' BNC-compatible connector
// Using the inner part of a BNC plug from RFSupplier.
//
// First print attempt used Bambu 0.12mm high quality setting and a 0.4mm nozzle.
//
// Mark VK5QI
// Smoother rendering of cylinders
$fn = 50;
// BNC Plug Inner dimensions
coax_crimp_dia = 4.3;
coax_length = 10;
rear_barrel_dia = 6;
rear_barrel_length = 6.3;
step1_length = 1.9;
step1_dia = 8.8;
step1_tolerance = 0.4;
step2_dia = 8.12;
step2_length = 3.25;
// This feature didn't get printed when using the "0.12mm high quality" setting and 0.4mm nozzle
// Looks like i need a 0.2mm nozzle for this to work.
step3_dia = step2_dia - 0.5;
step3_length = 0.4;
// Make the final barrel section big enough to fit around a BNC socket
step4_dia = 9.8;
step4_length = 10;
// BNC socket pins
pin_dia = 2.5;
// Some tolerancing on the diameters
dia_tolerancing = 0.5;
// Block to contain all this.
block_width = 20;
block_length = coax_length + rear_barrel_length + step1_length + step2_length + step3_length + 8;
block_height = 6;
difference(){
// Block
translate([-0.5*block_width,-1*(block_length -rear_barrel_length - coax_length),0])
cube([block_width,block_length,block_height]);
// Subtract everything below from the block
// BNC Inner Plug
rotate([90,0,0])
union(){
translate([0,0,-1*(step1_tolerance/2.0)])
cylinder(h=step1_length+step1_tolerance, r=(step1_dia+dia_tolerancing)/2.0);
translate([0,0,step1_length])
cylinder(h=step2_length, r=(step2_dia+dia_tolerancing)/2.0);
translate([0,0,step1_length+step2_length])
cylinder(h=step3_length, r=(step3_dia+dia_tolerancing)/2.0);
translate([0,0,step1_length+step2_length+step3_length])
cylinder(h=step4_length, r=(step4_dia+dia_tolerancing)/2.0);
// Section to go over the BNC jack
translate([0,0,step4_length/2 + step1_length + step2_length + step3_length])
rotate([90,0,0])
cube([step4_dia+3,step4_length, pin_dia], center=true);
// Rear section of the plug
translate([0,0,-1*rear_barrel_length])
cylinder(h=rear_barrel_length, r=(rear_barrel_dia+dia_tolerancing)/2.0);
translate([0,0,-1*rear_barrel_length + -1*coax_length])
cylinder(h=coax_length, r=coax_crimp_dia/2.0);
}
// M3-ish holes.
translate([block_width*0.3,rear_barrel_dia/2,0])
cylinder(h=block_height*3, r=3.1/2.0, center=true);
translate([-1*block_width*0.3,rear_barrel_dia/2,0])
cylinder(h=block_height*3, r=3.1/2.0, center=true);
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment