Designing PCBs in Kicad and PcbNew: Making Gerbers (files needed by the manufacturer)

NOTE: This tutorial was written in 1847, and kicad has changed a lot since then!

Making Gerbers (files needed by the manufacturer):

making gerber with plot from the file menu

For a 2 layer board, you would commonly want files that represent the metal on the top and bottom (component and copper, respectively), top and bottom solder mask (the green stuff), the top silk screen, the board outline (edges), and a drill file (click “Create Drill File” in addition to “Plot”).

<-Back                                                                                       Next->

Making New Components and Modules (Footprints) in KiCad

NOTE: This tutorial was written in 1847, and kicad has changed a lot since then!

Intro:

This won’t go into every detail, but it will cover the unintuitive aspects of creating new components, including how the libraries work.

About the Libraries:

Unlike Eagle, where there is one type of library that contains both the schematic symbol and the footprint variations, in KiCad, .lib files contain schematic symbols and .mod files contain footprints, or “modules.” Cvpcb is used to map footprints to symbols.

Both of these libraries can contain from one to many parts.

LibEdit: Making New Schematic Components:

To create a new component, first launch LibEdit.

The most common approach is to modify a component from another library, and then save it in your own custom library.

 

First, open a source library. Here we choose the microchip library:

 


Then, load a component that you are going to modify, the 18F2550 PIC.

Let’s change the chip’s name by modifying its properties.

Select the “Fields” tab and click “Value/Chip Name”.

We’re going to call the new chip “magic_smoker”.

You now have a couple different choices for where to save this newly named part:

  • Save it in the current library: First save it in “ram,” and then to the hard disk. Saving in “ram” lets you update the symbol in the current schematic so you can see if the graphics fit within other components, for instance. If you don’t like the changes, just re-load the part from the source library as before since it hasn’t been changed on disk. Save to “disk” to permanently store the changes within the microchip library.
  • Save it to a New library: Clicking the new library button will open a dialog that lets you name a new library and save this part to it. Be aware that this new library and its part will not be loaded unless you update eeschema’s preferences to load that new library!!
  • Export the symbol: Export is the same as creating a new library, except that the default save location will be in your project directory, not the general KiCad library directory. Exporting simply creates a new library that happens to only have the one new part.

Creating a New Library in which to Save the New Chip:

Let’s take the 2nd option, and store the chip in a new custom library that will hold all of our custom schematic symbols.

We save the library as “curious_inventor_symbols.lib” inside the default KiCad library directory.

Two notes:
–The “current library” in LibEdit is still set to microchip.lib, not our new library. So if you were going to make more changes, be sure to switch to your new library before saving anything!
–We now need to update the preferences in Eeschema to load the new library, otherwise it won’t be able to load the chip. We do this next.

Close LibEdit, return to Eeschema and open the preferences.

Add the new library, and then be sure to save the configuration in the main .pro (project) file.

The manual does a good job of explaining how to make new parts. Our only advice is to avoid using the hidden power pins on new parts, and just keep everything visible and connected with wires. It can be especially confusing when you have multiple power levels.

Many of the same ideas apply to making new modules, but the library situation is slightly more confusing.

All about modules (footprints) and their libraries:

What files do I need to send someone else so they can load my schematic and board?

With schematics, they need to have the .lib files that contain the symbols, and those library files need to be loaded in the Eeschema preferences. On the other hand, with boards (.brd files), modules (footprints) can be stored inside the .brd file. You can send someone a .brd file and nothing else, and they would be able to look at and edit the board. However, when you want to load components from a netlist, the module libraries (.mod files) need to be present and loaded in the Pcbnew preferences just as with schematics. Also, it is necessary to load the .mod files in the preferences of Pcbnew in order for those modules to show up in Cvpcb.

If someone sends you a .brd file with modules you’d like to use in another board, you can open the module editor, load a module from the current board, and save or export it into another module library. You can also export all the modules in a .brd file at once via: Pcbnew–>File–>Archive Footprints–>Create footprint archive, which will create a new .mod file with all the board’s modules.

The Module (Footprint) Editor:

 

 

When you make a new component, it asks you for the reference. The reference is the name of the footprint.

 

<-Back  

Decimal Sizes for Numbered and Lettered Drills

Drill Number / Decimal Cross Reference

drill number decimal (inch) decimal (mm)
97 .0059 .150
96 .0063 .160
95 .0067 .170
94 .0071 .180
93 .0075 .190
92 .0079 .200
91 .0083 .211
90 .0087 .221
89 .0091 .231
88 .0095 .241
87 .0100 .254
86 .0105 .267
85 .0110 .280
84 .0115 .292
83 .0120 .305
82 .0125 .318
81 .0130 .330
80 .0135 .343
79 .0145 .368
78 .0160 .406
77 .0180 .457
76 .0200 .508
75 .0210 .533
74 .0225 .572
73 .0240 .610
72 .0250 .635
71 .0260 .660
70 .0280 .711
69 .0292 .742
68 .0310 .787
67 .0320 .813
66 .0330 .838
65 .0350 .889
64 .0360 .914
63 .0370 .940
62 .0380 .965
61 .0390 .991
60 .0400 1.016
59 .0410 1.041
58 .0420 1.067
57 .0430 1.092
56 .0465 1.181
55 .0520 1.321
54 .0550 1.397
53 .0595 1.511
52 .0635 1.613
51 .0670 1.702
50 .0700 1.778
49 .0730 1.854
48 .0760 1.930
47 .0785 1.994
46 .0810 2.057
45 .0820 2.083
44 .0860 2.184
43 .0890 2.261
42 .0935 2.375
41 .0960 2.438
40 .0980 2.489
39 .0995 2.527
38 .1015 2.578
37 .1040 2.642
36 .1065 2.705
35 .1100 2.794
34 .1110 2.819
33 .1130 2.870
32 .1160 2.946
31 .1200 3.048
30 .1285 3.264
29 .1360 3.454
28 .1405 3.569
27 .1440 3.658
26 .1470 3.734
25 .1495 3.797
24 .1520 3.861
23 .1540 3.912
22 .1570 3.988
21 .1590 4.039
20 .1610 4.089
19 .1660 4.216
18 .1695 4.305
17 .1730 4.394
16 .1770 4.496
15 .1800 4.572
14 .1820 4.623
13 .1850 4.700
12 .1890 4.800
11 .1910 4.851
10 .1935 4.915
9 .1960 4.978
8 .1990 5.054
7 .2010 5.105
6 .2040 5.182
5 .2055 5.220
4 .2090 5.309
3 .2130 5.410
2 .2210 5.613
1 .2280 5.791

Drill Letter / Decimal Cross Reference

drill letter decimal (inch) decimal (mm)
A .2340 5.944
B .2380 6.045
C .242 6.147
D .2460 6.248
E .2500 6.350
F .2570 6.528
G .2610 6.629
H .2660 6.756
I .2720 6.909
J .2770 7.036
K .2810 7.137
L .2900 7.366
M .2950 7.493
N .3020 7.671
O .3160 8.026
P .3230 8.204
Q .3320 8.433
R .3390 8.611
S .3480 8.839
T .3580 9.093
U .3680 9.347
V .3770 9.576
W .3860 9.804
X .3970 10.084
Y .4040 10.262
Z .4130 10.490

Interfacing a PS2 (PlayStation 2) Controller

Intro: There are all sorts of guides that explain how to interface a PS2 controller already out there. The goal here is to consolidate the information and make it as fast as possible to get up and running. Please let us know about mistakes!

Update: Check out the arduino ps2 library that Bill Porter helped polish.

Contents:



Hardware Interface / Wiring Connections:

playstation ps2 wiring connections interface protocol

Wire Colors and Functionality: There are 9 wires, 6 wires are needed at a minimum to talk to the controller: (clock, data, command, power & ground, attention). To operate vibration motors, motor_power is also needed.

  1. Brown – Data: Controller -> PlayStation. This is an open collector output and requires a pull-up resistor (1 to 10k, maybe more). (A pull-up resistor is needed because the controller can only connect this line to ground; it can’t actually put voltage on the line).
  2. Orange – Command: PlayStation -> Controller.
  3. Grey – Vibration Motors Power: 6-9V? With no controller connected, this meausures about 7.9V, with a controller, 7.6V, most websites say this is 9V (except playstation.txt -> 7.6V), although it will still drive the motors down around 4V, although somewhat slower. When the motors are first engaged, almost 500mA is drawn on this line, and at steady state full power, ~300mA is drawn.
  4. Black – Ground
  5. Red – Power: Many sites label this as 5V, and while this may be true for Play Station 1 controllers, we found several wireless brands that would only work at 3.3V. Every controller tested worked at 3.3V, and the actual voltage measured on a live Playstation talking to a controller was 3.4V. McCubbin says that any official Sony controller should work from 3-5V. Most sites say there is a 750mA fuse for both controllers and memory cards, although this may only apply to PS1’s since 4 dual shock controllers could exceed that easily.
  6. Yellow – Attention: This line must be pulled low before each group of bytes is sent / received, and then set high again afterwards. In our testing, it wasn’t sufficient to tie this permanently low–it had to be driven down and up around each set. Digitan considers this a “Chip Select” or “Slave Select” line that is used to address different controllers on the same bus.
  7. Blue – Clock: 500kH/z, normally high on. The communication appears to be SPI bus. We’ve gotten it to work from less than 100kHz up through 500kHz (500k bits / second, not counting delays between bytes and packets). When the guitar hero controller is connected, the clock rate is 250kHz, which is also the rate the playstation 1 uses.
  8. White – Unknown
  9. Green – Acknowledge: This normally high line drops low about 12us after each byte for half a clock cycle, but not after the last bit in a set. This is a open collector output and requires a pull-up resistor (1 to 10k, maybe more). playstation.txt says that the playstation will consider the controller missing if the ack signal (> 2us) doesn’t come within 100us.

Low-Level – How Bytes and Packets are Transferred:

The play station sends a byte at the same time as it receives one (full duplex) via serial communication. The following pictures show actual signals between a playstation and guitar hero controller configured in analog mode (wammy bar sends back 7-bit value (0x7f – 0x00)).

play station controller communication signals on scope

The clock is held high until a byte is to be sent. It then drops low (active low) to start 8 cylces during which data is simultaneously sent and received. When the clock edge drops low, the values on the line start to change. When the clock goes from low to high, value are actually read. Bytes are transferred LSB (least significant bit) first, so the bits on the left (earlier in time) are less significant.

playstation acknowldge, command, data, and clock playstation attention, command, data, and clock

Scope shots showing the acknowledge and attention lines.

High-level: Packet structure, Command and Data Meanings:

Much of this section is sourced from Dowty’s consolidation and home-brew port sniffer and emulator.

Packets have a three byte header followed by an additional 2, 6 or 18 bytes of additional command and controller data (like button states, vibration motor commands, button pressures, etc.).



An example exchange that from a dual shock controller when first plugged in:

Controller defaults to digital mode and only transmits the on / off status of the buttons in the 4th and 5th byte. No joystick data, pressure or vibration control capabilities.

 

(no buttons pressed)

byte # 1 2 3 4 5
Command 0x01 0x42 0x00 0x00 0x00
Data 0xFF 0x41 0x5A 0xFF 0xFF

Explanation:

— Header: (always the first three bytes)

 

byte # source /
type
example
value
explanation
1st byte Command 0x01 New packets always start with 0x01 … 0x81 for memory card?
Data 0xFF always 0xFF
2nd byte Command 0x42 Main command: can either poll controller or configure it.
See below for command listing
Data 0x41 Device Mode: the high nibble (4) indicates the mode (0x4 is digital, 0x7 is analog, 0xF config / escape?),
(lynxmotion calls 0xF ‘DS Native Mode’… not sure)
the lower nibble (1) is how many 16 bit words follow the header,
although the playstation doesn’t always wait for all these bytes
3rd byte Command 0x00 Always 0x00
Data 0x5A Always 0x5A, this value appears in several non-functional places

— Command / Mode Dependent Data (2 to 18 more bytes depending on mode):

4th byte Command 0x00 Can be configured to control either of the motors
Data 0xFF Each digital (on/off) button state is mapped to one of the bits in the 4th and 5th byte
5th byte Command 0x00 Can be configured to control either of the motors
Data 0xFF 1, or all 1’s (0xFF) means everything is unpressed.




Digital Button State Mapping (which bits of bytes 4 & 5 goes to which button):

button Select L3 (jush push) R3 Start Up Right Down Left L2 R2 L1 R1 Triangle O X Square
byte.bit 4.0 4.1 4.2 4.3 4.4 4.5 4.6 4.7 5.0 5.1 5.2 5.3 5.4 5.5 5.6 5.7

For example:

example play station clock and data signals when Up and R2 are pressed

Guitar Hero Button Mapping

button Green Red Yellow Blue Orange Up Down Select Start Wammy
byte.bit 5.1 5.5 5.4 5.6 5.7 4.4 4.6 4.0 4.3 byte 9: 0x7f (released) to 0x00 (pressed)
  • Bytes 4, 6, 7, 8 and 9 are normally 0x7F if nothing is pressed.

Command Listing / Examples:

The most comprehensive listings that we’ve found are Dowty’s and lynxmotion’s. This listing is based on information from both that has been tested.

— 0x41: Find out what buttons are included in poll responses.

The controller can be configured (through command 0x4F) to respond with more or less information about each button with each poll. Only works when the controller is already in configuration mode (0xF3)… use Command 0x43 to enter / exit configuration mode.

byte # 1 2 3 4 5 6 7 8 9
Command 0x01 0x41 0x00 0x5A 0x5A 0x5A 0x5A 0x5A 0x5A
Data 0xFF 0x41 0x5A 0xFF 0xFF 0x03 0x00 0x00 0x5A
section header bits corresponding to buttons in response packet
  • 18 total bytes can be turned on or off, including the 2 digital state bytes and 16 analog bytes (pressures and joysticks).
  • 9.cmd and 9.dat are always 0x5a.
  • Data is all 0x00 if controller is in digital mode (0x41)
  • Command data is always 0x5A, although 0x00 yields the same result.

— 0x42: Main polling command

Depending on the controller’s configuration, this command can get all the digital and analog button states, as well as control the vibration motors.

byte # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Command (hex) 01 42 00 WW YY 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Data (hex) FF 79 5A FF FF 7F 7F 7F 7F 00 00 00 00 00 00 00 00 00 00 00 00
section header digital analog joy button pressures (0xFF = fully pressed)
analog map RX RY LX LY R L U D Tri O X Sqr L1 R1 L2 R2
  • If mode (2.data) is 41, the packet only contains 5 bytes, if mode == 0x73, 9 bytes are returned.
  • WW and YY are used to control the motors (which does what depends on the config).

— 0x43: Enter / Exit Config Mode, also poll all button states, joysticks and pressures

This can poll the controller like 0x42, but if the first command byte is 1, it has the effect of entering config mode (0xF3), in which the packet response can be configured. If the current mode is 0x41, this command only needs to be 5 bytes long. Once in config / escape mode, 0x43 does not return button states anymore, but 0x42 still does (except for pressures). Also, all packets have will 6 bytes of command / data after the header.

byte # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Command (hex) 01 43 00 0x01 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Data (hex) FF 79 5A FF FF 7F 7F 7F 7F 00 00 00 00 00 00 00 00 00 00 00 00
section header digital analog joy button pressures (0xFF = fully pressed)
analog map RX RY LX LY R L U D Tri O X Sqr L1 R1 L2 R2
  • 4.command = 0x01 enters config mode (or ‘escape’ mode at Dowty calls it)., 0x00 exits. If 0x00 and already out of config mode, it behaves just like 0x42, but without vibration motor control.

— 0x44: Switch modes between digital and analog

Only works after the controller is in config mode (0xF3).

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 44 00 0x01 0x03 00 00 00 00
Data (hex) FF F3 5A 00 00 00 00 00 00
section header config parameters
  • Set analog mode: 4.command = 0x01, set digital mode: 4.command = 0x00
  • If 5.command is 0x03, the controller is locked, otherwise the user can change from analog to digital mode using the analog button on the controller. Note that if the controller is already setup to deliver pressure values, toggling the state with the controller button will revert the controller back into not sending pressures.
  • Some controllers have a watch-dog timer that reverts back into digital mode if a command is not received within a second or so.

— 0x45: Get more status info

Only works after the controller is in config mode (0xF3).

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 45 00 5A 5A 5A 5A 5A 5A
Data (hex) FF F3 5A 03 02 01 02 01 00
section header config parameters
  • 4.data = 0x03 for dual shock controller, 0x01 for guitar hero
  • 6.data = 0x01 when LED is on, 0x00 when it’s off

— 0x46: Read an unknown constant value from controller

This command is always issued twice in a row, and appears to be retrieving a 10 byte constant of over those two calls. It is always called in a sequence of 0x46 0x46 0x47 0x4C 0x4C. Only works after the controller is in config mode (0xF3).

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 46 00 00 5A 5A A 5A 5A
Data (hex) FF F3 5A 00 00 00 02 00 0A
section header config parameters

second pass

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 46 00 01 5A 5A A 5A 5A
Data (hex) FF F3 5A 00 00 00 00 00 14
section header config parameters
  • 4.command appears to get the first half of the constant when it’s 0x00, and the 2nd half when it’s 0x01.
  • As shown above, the constant returned for a dual shock controller is: 00 00 02 00 0A    00 00 00 00 14
  • A Katana wireless controller and the guitar hero controller each returned this: 00 01 02 00 0A    00 01 01 01 14

— 0x47: Read an unknown constant value from controller

It is always called in a command sequence of 0x46 0x46 0x47 0x4C 0x4C. Only works after the controller is in config mode (0xF3).

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 47 00 00 5A 5A A 5A 5A
Data (hex) FF F3 5A 00 00 02 00 00 00
section header config parameters
  • Dowty thinks the first byte is probably an offset like in 0x46 and 0x4C, which would leave 5 bytes of interest.
  • As shown above, the constant returned for a dual shock controller is: 00 02 00 00 00
  • guitar hero controller and Katana wireless: 00 02 00 01 00

— 0x4C: Read an unknown constant value from controller

This command is always issued twice in a row, and appears to be retrieving a 10 byte constant of over those two calls. It is always called in a command sequence of 0x46 0x46 0x47 0x4C 0x4C. Only works after the controller is in config mode (0xF3).

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 4C 00 00 5A 5A A 5A 5A
Data (hex) FF F3 5A 00 00 00 04 00 00
section header config parameters

second pass

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 4C 00 01 5A 5A A 5A 5A
Data (hex) FF F3 5A 00 00 00 06 00 00
section header config parameters
  • 4.command appears to get the first half of the constant when it’s 0x00, and the 2nd half when it’s 0x01.
  • As shown above, the constant returned for a dual shock controller is: 00 00 04 00 00    00 00 06 00 00
  • A Katana wireless controller and the guitar hero controller each returned this: 00 00 04 00 00    00 00 07 00 00

— 0x4D: Map bytes in the 0x42 command to actuate the vibration motors

Only works after the controller is in config mode (0xF3).

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 4D 00 00 01 FF FF FF FF
Data (hex) FF F3 5A 00 01 FF FF FF FF
section header config parameters
  • 0x00 maps the corresponding byte in 0x42 to control the small motor. A 0xFF in the 0x42 command will turn it on, all other values turn it off.
  • 0x01 maps the corresponding byte in 0x42 to control the large motor. The power delivered to the large motor is then set from 0x00 to 0xFF in 0x42. 0x40 was the smallest value that would actually make the motor spin for us.
  • 0xFF disables, and is the default value when the controller is first connected. The data bytes just report the current mapping.
  • Things don’t always work if more than one command byte is mapped to a motor.

— 0x4F: Add or remove analog response bytes from the main polling command (0x42)

This could set up the controller to only reply with the L1 and R1 pressures for instance. Only works after the controller is in config mode (0xF3).

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 4F 00 FF FF 03 00 00 00
Data (hex) FF F3 5A 00 00 00 00 00 5A
section header config parameters
  • Each of the 18 bits in FF FF 03 correspond to a response byte, starting with the digital states, then 4 analog joysticks, then 12 pressure bytes.
  • By default, the pressure values are not sent back, so this is the command that is necessary to enable them.

Byte Sequence to Configure Controller for Analog Mode + Button Pressure + Vibration Control

The following sequence will setup a controller to send back all available analog values, and also map the left and right motors to command bytes 4 and 5.

— 0x42 Poll once just for fun

byte # 1 2 3 4 5
Command (hex) 01 42 00 FF FF
Data (hex) FF 41 5A FF FF
section header digital

— 0x43 Go into configuration mode

byte # 1 2 3 4 5
Command (hex) 01 43 00 0x01 00
Data (hex) FF 41 5A FF FF
section header digital

— 0x44 Turn on analog mode

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 44 00 0x01 0x03 00 00 00 00
Data (hex) FF F3 5A 00 00 00 00 00 00
section header config parameters

— 0x4D Setup motor command mapping

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 4D 00 00 01 FF FF FF FF
Data (hex) FF F3 5A 00 01 FF FF FF FF
section header config parameters

— 0x4F Config controller to return all pressure values

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 4F 00 FF FF 03 00 00 00
Data (hex) FF F3 5A 00 00 00 00 00 5A
section header config parameters

— 0x43 Exit config mode

byte # 1 2 3 4 5 6 7 8 9
Command (hex) 01 43 00 0x00 5A 5A 5A 5A 5A
Data (hex) FF F3 5A 00 00 00 00 00 00
section header config parameters

— 0x42 Example Poll (loop this)

byte # 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
Command (hex) 01 42 00 WW YY 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00
Data (hex) FF 79 5A FF FF 7F 7F 7F 7F 00 00 00 00 00 00 00 00 00 00 00 00
section header digital analog joy button pressures (0xFF = fully pressed)
analog map RX RY LX LY R L U D Tri O X Sqr L1 R1 L2 R2

Hand-shaking (first communication) recordings between Play Station 2 and Various Controllers

This excel sheet lists both the commands and response data between a play station and various controllers when the controller is first plugged in. Includes guitar hero, dual shock, wire less katana and chinese knock-off (looks the same as the dual shock).

Both a guitar hero game and dirt-bike game (to get vibration motor control data) were used.

We used 2 PIC18f4550 to do the port sniffing, see below to download the code.




PIC18f4550 Code to Read a PlayStation 2 Dual Shock or Guitar Hero Controller

The first program will configure a controller in analog mode so that all the joysticks and button pressures can be read. It also sets up the Left pressure to controller the left vibration motor and the Right button pressure to toggle the smaller right vibration motor.

Each command and response packet is sent out a serial port at 57600 kbs.

ps2_commander_reader.zip

The second program can operate in two modes:

  • Continous SPI to Serial: Every SPI byte is sent out the serial port at 57600. Since the play station communicates at 512kbs, the code uses a circular buffer to capture SPI bytes until the playstation pauses between packets, at which time it sends out the data via serial.
  • Bulk Capture and Dump: Caputer about 650 bytes of data into buffers, then dump the entire batch out through serial. We used this code to capture the initial communication between a Play Station and controller when they first connect. There are probably about 100 cleaner ways to do this, but the PICs we had on hand only had one SPI port, so two PICs were used at the same time to capture both the command and data lines. One PIC would send back it’s recordings immediately, and the other would wait for a few seconds, during which time a switch was flipped to connect the PC’s serial to the 2nd PIC.

ps2_listener.zip

Connection Schematic:

note: avoid connecting the PIC’s SPI clock to a play station’s clock when the PIC is configured as a SPI master.

 

schematic ps2 to PIC18f4550

Drill Speeds

How to choose the right drill speed

Quick Summary: Some approximate starting advice is to set the spindle speed between 700-1000 rpms for steel, above 2000 for aluminum, and slow down from there if you get discolored chips or heavy drill bit wear. In most cases the drill press will not be able to supply enough power or speed to follow the below recommendations. A 3/8″ drill bit drilling mild steel at the recommended speed and feed could require around 1 hp. Going slower usually doesn’t hurt, and will prolong tool life.

Drill press spindle speeds depend on lots of things: the type of material being drilled and its hardness, the hole size, the type / hardness of the drill bit and its sharpness, whether or not a cutting / cooling fluid is used, and the rigidity of the drill and clamp, among others. Also, most speed recommendations are geared towards manufacturing environments where machining time is very expensive. As drilling speed increases productivity goes up, but tooling also wears out faster. The recommendations seek a balance between these two concerns, but this balance is not determined with the pocketbook of someone running a hobbyist or prototype shop in mind.

So, for the hobbyists shop, where longer tool life is probably more important than machining time, and where pushing the speed limit may ruin a valuable prototype, reasonable advice might be to start off at about 75% of the recommended drilling speeds. The “First Guesses” below are already a little slower.

You’ll typically see large ranges of recommended speeds for various materials, and some discrepancy between different sources. This is partly due to the large influence the material hardness has on how fast it can be drilled (harder –> slower). Even if the material and its hardness were precisely known, the large number of other factors would require some experimentation. If the chips are smoking, turning brown, or the outer edge of the drill bit is chipping, go slower or add some cutting oil / coolant. (a decent guide to cutting fluid)

In general, a slower-than-recommended spindle speed won’t hurt anything except in the case of extremely small drill bits, say smaller than 1/16″. With small bits, it’s hard to feel resistance from the metal, and therefore, very easy to push down faster than they can remove metal. Using recommended RPMs (spindle rotation speed) mitigates this risk. A tip for drilling extremely small holes is to drill down to the depth stop, and then move it down a 16th of an inch, and repeat. This ensures that too much metal isn’t chewed off too quickly.

 

Feed Rate: This is how fast the drill bit is pushed down. For reference, the recommended rates go from .001″ per revolution for bits under 1/8th” to .007″ per revolution for 1/2 bits. This, of course, isn’t very useful if you’re lowering the drill bit by hand. In general, push hard enough to create a continuous chip (note some materials just won’t form one–like cast iron), but not so hard that the chips are turning brown or the bit itself is chipping. Slight discoloration of the chips is OK. Don’t push as hard right when the bit is about to break through, this will reduce the likelihood of it grabbing and tearing the metal.

Surface Feet per Minute (SFM): Speed recommendations are usually given in SFM, which is the speed a cutter can be pushed in a straight line. On drill bits, the fastest cutting rate is at the circumference, and its rate of travel is equal to the RPM (Revolutions Per Minute) of the bit times the circumference (pi*Diameter). So, the translation between SFM and the RPM speed of a drill bit is:

Rotation Speed (RPMs) = (3.82) * SFM / Dia.          SFM = (.26) * RPM * dia.



Material Speed
Range (SFM)
First
Guess (SFM)
RPM recommendations based on First Guess Speeds
for various drill bit diameters
1/8 (.125″); 1/4 (.25″) 5/16 (.3125″) 3/8 (.375″) 7/16 (.4375″) 1/2 (.5″)
low carbon steel, up
to 275 Brinnel hardness
60-100 100 3056 1528 1222 1019 873 764
high carbon / alloy
steel, up to 275
Brinnel hardness
55-85 50 1528 764 611 509 437 382
tool steel 45-60 50 1528 764 611 509 437 382
cast Iron 50-125 70 2139 1070 856 713 611 535
aluminum and alloys 200-300 250 7639 3820 3056 2546 2183 1910
brass / bronze
high strength bronze may
require 70 or less
150-300 200 6112 3056 2445 2037 1746 1528
wood 300-400 300 9167 4584 3667 3056 2619 2292

Some considerations for using the above table:

    • First, note that the speed recommendations for small bits in aluminum are ridiculously high compared to the max speed of around 3000 RPMs on bench-top drill presses. These numbers are more just for reference, it’s fine to go slower, just don’t push too hard on the small bits.
    • “First Guesses” are based on more typical materials and hardnesses.
    • If the material has been hardened, the recommended speed will be substantially lower. If the hardness is above 300 Brinnel, starting at 20-30 SFM isn’t a bad idea.
    • Note that these values are recommended for HSS (High Speed Steel) drill bits, not carbon steel ones. HSS gets its name because it is able to maintain a reasonably hard cutting edge even while it is red hot. If you’re using carbon steel drill bits (unlikely), cut the recommendations in half. If you’re using carbide tool bits, up the speeds by 2 to 3 times.
    • Adding cooling / cutting fluid may allow speed increases, too, and should be used in any case on steels. Cutting fluid will almost always increase the quality of the cut.
    • If the hole is more than 3 diameters deep, consider drill as much as twice as slow since it will be much harder for heat to escape.
    • Other site’s speed recommendation tables (note the differing opinions!): here | most comprehensive | Wilton drill press instruction guide (very good)




Comments:

Jan 03 2009onerustycar said:

Yeah, I would say that would be the best “chart” as it were. Once anyone has broken or smoked a half dozen drill bits you start to get the feel for it. At two dozen you’re a pro!

Jan 03 2009scott (admin) said:

🙂

Mar 30 2010Geoff (unregistered) said:

I thought the information was great…. I tied a few of the settings, including tool steel and mild, and they all worked great…. many thanks !!

about 13 hours agoAlex (unregistered) said:

Hi, i have a wickes 250w pillar drill i need to know how to increase the speed of the drill so i can use it for cutting mortices unfortunately i have mislaid the instruction book if any one knows then that would be great thank you in advance for your reply.

https://www.drill-press.org/drillspressstands.html

Finally, make sure the machine is spinning the right direction. Mills are often left in reverse…

How to Solder Correctly – and Why

Video Overview:

The goal of this guide is to explain how to solder electronic components, and also provide some guidance on choosing tools and materials

Contents:

  1. Select a Soldering Iron
  2. What kind of solder (rosin cored, etc. lead-free)? What is flux and when is it necessary?
  3. Prepare the work – How and why to clean components, wire stripping and tinning guide
  4. Tin the tip – Tips for prolonging tip life, making soldering easier
  5. Heat and Solder the Joint – including closeup pics of the proper way to hold the iron against the work. Also, numerous good and bad joint pics.
  6. Cleanup – Do you really need to clean off flux residues?
  7. Protection – What is a conformal coating? Some applications encase electronics in solid epoxy…
  8. Desoldering – Illustrations showing how to use solder wick, a solder sucker, and an iron with a vacuum bulb. Plus a special surface mount removal tool and other tips for removing smt chips.
  9. References – There are hundreds of other great how-to guides and resources out there, here is a review and listing of some of those.

 

Other references and guides:

 

Related Products:

Comments:

Dec 10 2007admin said:

Feedback and corrections are greatly appreciated.

Dec 15 2007anonymous said:

I can only get the first half of the video to play

Dec 15 2007admin said:

sometimes the video can take a while to load—try reloading the page. A slightly lower resolution version of the how to solder video can be seen at YouTube.

Jan 09 2008anonymous said:

great vid, very helpful!

Jan 18 2008anonymous said:

Thank you for this video !!! Helped me out a lot !!! Really appreciate it !!

Jan 19 2008anonymous said:

I have always had trouble getting good solder joints and to get solder to adhere on wire. Thank You for a very informative easy to understand Video and Narration.

Jan 27 2008anonymous said:

cool!

Jan 28 2008anonymous said:

sigh Remember people that lead is still by far the worse problem here. It takes about 8-15 micrograms (micro, not a mistake and I’ve thoroughly checked that) ingested per day to cause “lead poisoning” in a 6-year old. That means at least “special education” for Timmy, and it’s comparably bad for adults on a /kg basis. Just be smart and use lead-free. It’s a no-brainer for those who know the facts involved.

Jan 28 2008anonymous said:

egads, I just watched the video. The way he is cleaning the solder tip, etc… When it’s sitting on a joint or used with prudence it’s one thing…. even intact solder will release lead oxide (a readily distributable powder) for a variety of reasons, and if you’re going to step on it, allow to oxidize under heat …. sand! Parts usually are pre-tinned with lead alloys. BAD IDEA…. look, using lead solder is a bad idea, okay. Don’t.

it’s illegal to use lead solder in plumbing, but the amount you’d get on your hands from doing these things here could be thousands of times what would leach out of solder joints into water you drink. True, I don’t know how much gets ingested from what’s on your hands, table feet floor, but we clearly have a problem here. It would be most interesting to try an experiment with an appropriate amount of bitrex on the surface of all the solder, and see if you notice how you end up ingesting it eventually – that would demonstrate how you cannot keep the lead in one place if you use it like this.
The hobbyist should be the last to use lead solder, and yet many in industry have already stopped. I’m not talking about “the environment”, I’m talking about not harming yourself and your household. Just think for a second the sort of concentrations we’re talking about in a landfill vs. your house. If having lead around matters in a landfill, it should matter in your house. Why am I writing this, apparently with some ulterior motive? Because I’ve seen how bad lead is, and I don’t want to have to put up with somebody else’s mess. Lead is so hard to clean up and easy to not put down, it’s time to grow up and start being a bit more responsible about it.
I hardly object to it’s use in SLA batteries for instance, but this is not it’s place.

Jan 28 2008scott (admin) said:

While it’s certainly a good idea to wash your hands after soldering with lead-based solder, I’m not convinced that there’s significant risk to using lead-based solder. Sure, ingesting small amounts can be harmful, but how likely is it that small amounts wil actually be ingested?

Lead-free solder has its risks, too….

This claims there is evidence that the fumes from lead-free solder are more harmful (just how much more harmful? not sure…)

The lead-free alternatives have environmental costs as well.

It would be interesting to find out just how much lead from hand-soldering becomes ingested on average. I suspect it’s not a harmful amount. Assembly line workers have been assembling equipment with lead-based solder for a couple decades now, and I haven’t been able to find any studies showing a harmful amount of ingestion, although there are many that discuss the asthma risks from the flux fumes. (see this OKi ad)

Some more food for thought: this
article claims that there have actually been no documented studies showing ground water contamination from lead in land-fills (the main impetus for RoHS and WEEE regulations). Apparently lead from electronics comprises less than 1% of lead used, the rest coming mainly from batteries and CRT monitors (although the disposal of these is much more controlled). Note, lead can in fact be leached from PCBs, so I’m definitely not arguing against the prudence of those regulations.

I’d be very grateful for links to studies showing documented cases of lead-poisoning from hand-soldering.

Feb 13 2008anonymous said:

excellent video – clear and to the point – great work.

Mar 05 2008anonymous said:

Thanks a million. That video is a huge help. Very well done.

Mar 05 2008anonymous said:

@scott: I’d highly suggest you watch Manufactured Landscape which has nothing to do with this except for one part where he goes to villages in China known for recycling electronics and noticed that you can smell the heavy metals from miles away and that the government now has to deliver water by truck as the natural sources are all contaminated.

Mar 05 2008scott (admin) said:

point taken 🙂 If you have a link to youtube that’d be great…

I wonder what all is being thrown into that particular village… a lot of lead is used in car batteries here in the States, but their recycling is very much controlled, so little battery lead ends up in land fills.

Sounds like that village missed out on China’s version of RoHS.

Mar 12 2008anonymous said:

why pronounce it “sawder”? Took me ages to work out what he was on about.

May 04 2008anonymous said:

same reason it’s spelled “could” and sounds like “kude”

May 19 2008anonymous said:

Outstanding video! I will be building a kit soon, and I found the information in the film will be of great help. Thanks so very much.

Dick Williams KB3OMJ

May 22 2008anonymous said:

A good tutorial. I’ve been soldering for over 20 years (professionally and hobbyist), but it’s always good to brush up on techniques.

May 22 2008scott (admin) said:

thanks… we’d love to hear any critiques you have or better ways of doing things that you’ve picked up over the years.

May 22 2008anonymous said:

In further answer to the March 12, 2008 question “why pronounce it “sawder”? Took me ages to work out what he was on about,” please note that the questioner is not a native American english speaker, but rather a United Kingdom native speaker, wherever he/she actually resides. The North American pronunciation of “solder” is indeed “sawder.” But I would also point out that the phrase “he was on about” is equally obscure on this continent. It is not used here, except by those trying to emulate usage in Great Britain and its commonwealth. I would suggest that the original poster not be so critical, particularly while revealing his own linguistic shortcomings and lack of exposure to the usages of English around the world. The other commentator was a bit more cryptic, if more humorous than I, when he said “same reason it’s spelled “could” and sounds like “kude”. And finally, no less a personage than Sir Winston Churchill said something to the effect that “the UK & USA were two countries divided by the same language.” It was a good joke when he said it, and all the more so because it was so true, both then and now.

Now on to more important things. After all that, I will add that I thought the video was very well done, and will recommend it to a number of people with whom I work who will profit a great deal by it. I have been occasionally soldering electronic components for over 55 years now, and while I can recognize both bad and good solder joints, I have not been able to convey that knowledge to those 1/3 my age in nearly so clear a form as this video. Good work, and many thanks.

May 22 2008scott (admin) said:

thanks!

May 23 2008anonymous said:

And now for something completely different.

The online etymological dictionary says:

https://www.etymonline.com/index.php?term=solder

As for the snippish comment about “could”:

https://www.etymonline.com/index.php?term=could

Jun 14 2008anon (unregistered) said:

Great Video! I’m just starting to get into some of this for repairing/modding old video game systems, to make them into musical devices and this gives me hope that with time I can start to understand the process enough not to mess it up.

Jun 14 2008anon (unregistered) said:

I just broke the piece of metal on my glasses that connects the two lenses together and I was wondering if that was something that would be able to be soldered? I also have a 1 year old that loves grabbing at them so I would assume lead based solder wire would not be a good idea, any advice?

Sep 03 2008Kusanagi (unregistered) said:

Hey, does anyone know what solder and devices would be needed for a newbie to desolder and resolder the audio wires for a nintendo ds lite??

I need it for no other purpose than that

Sep 03 2008scott (admin) said:

please post questions in our soldering forum

thanks!

Oct 11 2008Trevor (unregistered) said:

wow everything you said not to do I’ve done so this video is GREATLY apprieciated thank you!!!

Jan 06 2009Jb (unregistered) said:

This must be the best Tut Vid i have seen online !!

Jan 06 2009Mikk (unregistered) said:

Tip requires sanding as the solder alloys with the copper of the tip forming brass. Brass has different solderability (wettability + thermal conductivity) than original high copper tip. Section a tip and metallographically prepare and etch it and it is readily apparant we are dealing with two metallurgically distinct regions. Sanding (grinding) is the solution .. excessive tinning might be the problem (along with excessive heat) under no-load conditions.

Spock out!

Jan 08 2009Gary, KE7FIZ, PE, CID+ (unregistered) said:

Very good vid. I especially like how you show bad examples, as well as good – that’s missing from other training videos I’ve seen.

And thanks too for tempering the OMG-Lead-We’re-Gonna-Die hysteria. Good links and rational info provided on the subject. I searched once trying to find the vapor pressure of lead at soldering temperatures. No luck except for one paper that had measured it at higher temps and extrapolated the result to soldering temps, describing it as: ‘a really hard vacuum’. The only other thing I’ve found are reports of no elevated blood levels of lead in electronics workers after years of ‘exposure’.

I’ve also read of the poor children in the contaminated ‘recycling villages’ in China (and elsewhere). If they weren’t being exposed to the tiny bit of lead in electronics, they will certainly be exposed to the much greater amount of lead in CRT’s and batteries. It’s all done illegally anyway, and if it’s not lead it’ll be something else that’s toxic, illegal, and profitable, that someone will use to expolit people at that level in that type of society. Removing lead in electronics is “not” a solution to that problem.

Feb 26 2009Mike (unregistered) said:

Thanks for the video. I’ve done a little electronics soldering here and there over the last 20 years or so, and I’ve honestly never really had a clue what I was doing. This video was much more helpful than reading about it in a book.

Apr 13 2009Jordan (unregistered) said:

Thanks a lot, this was a great help, I had done larger scale stuff, like pipes, but that’s a total different ball game.

Sep 12 2009gail (unregistered) said:

Very good, just one suggestion: speak a little slower. Thank you!

Sep 12 2009Van Bever Koen (unregistered) said:

great tutorial for someone who knows nothing from soldering

Sep 23 2009bacteria (unregistered) said:

Excellent guide! Very useful.

Dec 27 2009daniel [mex] (unregistered) said:

i hoped to see this video moths ago, i reallly did a mess in my pcb projects, so now that i know how soldering, i will try hard to make a better work, thanks a lot ^^

Jan 04 2010Tom Luque (unregistered) said:

I have done NASA certified soldering, and you have shown excellent views of good and bad joints. We used soft erasers to clean board pads and componant leads. Gold pads were more difficult to achieve a good shiny flow.

Apr 04 2010Marcus (unregistered) said:

Great video, it’s all more clear now 🙂 Thank you.

Apr 05 2010Tom (unregistered) said:

This is the best how to solder video I’ve seen yet, and I’ve been looking at many. You explained the technique as well as the chemistry behind the process, and had good repetitive video samples. I had never heard of the heat bridge and soldering from the opposite side of the wire. Thanks a billion!

Tap Drill Sizes

Some explanation:

What kind of tap do I need? As explained in the screw guide, coarse threads are much more common, stronger, less likely to jam during installation (cross thread), and faster to install. So, if you’re deciding between coarse and fine threads for a custom hole, use a coarse thread unless you’re going into sheet metal. If you’re trying to make a hole for an unidentified screw, chances are it’s a coarse thread. Metric coarse threads are in between English coarse and fine threads. Metric fine threads are finer than English fine threads and are rarely used.

50% vs 75% tap drill sizes: 100% engagement of a male and female thread means that both threads are fully formed and fully engaged. 50% means that only half of the thread height is engaged, and is what you’d have if you ground off the top half of a fully formed thread. According to the machinery’s handbook, tests have shown that more than 60% thread engagement provides no significant increase in strength. For thread engagements more than 1.5 diameters deep, 50% is usually sufficient. Most taps drill are sized to drill a slightly larger hole than what a 100% thread could be cut into, typically 75% or 50%. More commonly, holes that will create a 75% thread when tapped are used as a margin of safety, and this is what we sell. The downside with drilling a hole that a 100% thread could be tapped into is that it is much more difficult to tap (deeper cuts into the metal), and therefore much more likely to break a tap. We recommend 75% tapping drills unless deep holes in steel are being made.

Clearance holes: A clearance hole is large enough for the screw to slide through without being turned. Many tapping charts will have two types of clearance drills: tight and loose. We list the tight clearance drills and recommend choosing whatever bit is handy and larger than the major diameter for larger clearances–just make sure the screw head or washer is larger. Note that if several holes are being made, the tight clearances don’t leave much room for misaligned holes.

Coarse Threads – English


tap size
(major dia. – threads / inch)
screw
major dia.
tap drill size
for 75% .dia
tap drill size
for 50% .dia
clearance drill
#0-80 0.060 3/64 (.0469) 55 (.0520) 50 (.0700)
#1-64 0.073 53 (.0595) 1/16 (.0625) 46 (.0810)
#2-56 0.086 50 (.0700) 49 (.0730) 41 (.0960)
#3-48 0.099 47 (.0785) 44 (.0860) 35 (.1100)
#4-40 0.112 43 (.0890) 41 (.0960) 30 (.1285)
#5-40 0.125 38 (.1015) 7/64 (.1094) 29 (.1360)
#6-32 0.138 36 (.1065) 32 (.1160) 25 (.1495)
#8-32 0.164 29 (.1360) 27 (.1440) 16 (.1770)
#10-24 0.190 25 (.1495) 20 (.1610) 7 (.2010)
#12-24 0.216 16 (.1770) 12 (.1890) 1 (.2280)
1/4-20 .2500 7 (.2010) 7/32 (.2188) H (.2660)
5/16-18 .3125 F (.2570) J (.2770) Q (.3320)
3/8-16 .3750 5/16 (.3125) Q (.3320) X (.3970)
7/16-14 .4375 U (.3680) 25/64 (.3906) 15/32 (.4687)
1/2-13 .5000 27/64 (.4219) 29/64 (.4531) 17/32 (.5312)
9/16-12 .5625 31/64 (.4844) 33/64 (.5156) 19/32 (.5938)
5/8-11 .6250 17/32 (.5312) 9/16 (.5625) 21/32 (.6562)
3/4-10 .7500 21/32 (.6562) 11/16 (.6875) 25/32 (.7812)
7/8-9 .8750 49/64 (.7656) 51/64 (.7969) 29/32 (.9062)
1″-8 1.000 7/8 (.8750) 59/64 (.9219) 1-1/32 (1.0313)
1 1/8-7 1.1250 63/64 (.9844) 1-1/32 (1.0313) 1-5/32 (1.1562)



Fine Threads – Metric

tap size major dia.
mm (inch)
tap drill (mm) tap drill
(inch)
clearance (mm) clearance inch (dec.)
M1.6×0.35 1.6 (.0630) 1.25 #55 1.8 #49
M2x0.4 2.0 (.0787) 1.60 #52 2.4 #41
M2.5×0.45 2.5 (.0984) 2.05 #46 2.9 #32
M3x.05 3.0 (.1181) 2.50 #39 3.4 #29
M3.5×0.6 3.5 (.1378) 2.90 #32 3.9 #23
M4x0.7 4.0 (.1575) 3.30 #30 4.5 #16
M5x0.8 5.0 (.1969) 4.20 #19 5.5 7/32
M6x1 6.0 (.2362) 5.0 #8 6.6 G
M8x1 8.0 (.3150) 7.0 J 9.0 T
M10x1.25 10.0 (.3937) 8.8 11/32 12.0 31/64
M12x1.25 12.0 (.4724) 10.8 27/64 14.0 35/64
M14x1.5 14.0 (.5512) 12.5 1/2 16.0 5/8
M16x1.5 16.0 (.6299) 14.5 37/64 18.0 45/64
M18x1.5 18.0 (.7087) 16.5 21/32 20.0 51/64
M20x1.5 20.0 (.7874) 18.5 47/64 22.0 7/8
M22x1.5 22.0 (.8661) 20.5 13/16 25.0 1
M24x2 24.0 (.9449) 22.0 7/8 27.0 1-5/64
M27x2 27.0 (1.0630) 25.0 1 30.0 1-3/16


Fine Threads – English

tap size
(major dia. – threads / inch)
screw
major dia.
tap drill size
for 75% .dia
tap drill size
for 50% .dia
clearance drill
#1-72 0.073 53 (.0595) 52 (.0635) 46 (.0810)
#2-64 0.086 50 (.0700) 48 (.0760) 41 (.0960)
#3-56 0.099 45 (.0820) 43 (.0890) 35 (.1100)
#4-48 0.112 42 (.0935) 40 (.0980) 30 (.1285)
#5-44 0.125 37 (.1040) 35 (.1100) 29 (.1360)
#6-40 0.138 33 (.1130) 31 (.1200) 25 (.1495)
#8-36 0.164 29 (.1360) 26 (.1470) 16 (.1770)
#10-32 0.190 21 (.1590) 18 (.1695) 7 (.2010)
#12-28 0.216 14 (.1820) 10 (.1935) 1 (.2280)
1/4-28 .2500 3 (.2130) 1 (.2280) H (.2660)
5/16-24 .3125 I (.2720) 9/32 (.2812) Q (.3320)
3/8-24 .3750 Q (.3320) S (.3480) X (.3970)
7/16-20 .4375 25/64 (.3906) 13/32 (.4062) 15/32 (.4687)
1/2-20 .5000 29/64 (.4531) 15/32 (.4688) 17/32 (.5312)
9/16-18 .5625 33/64 (.5156) 17/32 (.5312) 19/32 (.5938)
5/8-18 .6250 37/64 (.5781) 19/32 (.5938) 21/32 (.6562)
3/4-16 .7500 11/16 (.6875) 45/64 (.7031) 25/32 (.7812)
7/8-14 .8750 13/16 (.8125) 53/64 (.8281) 29/32 (.9062)
1″-12 1.000 15/16 (.9375) 61/64 (.9531) 1-1/32 (1.0313)
1 1/8-12 1.1250 1-3/64 (1.0469) 1-5/64 (1.0781) 1-5/32 (1.1562)



Coarse Threads – Metric


tap size major dia.
mm (inch)
tap drill (mm) tap drill
(inch)
clearance (mm) clearance inch (dec.)
M8x1.25 8.0 (.3150) 6.8 H 9.0 T
M10x1.5 10.0 (.3937) 8.5 R 12.0 31/64
M12x1.75 12.0 (.4724) 10.2 13/32 14.0 35/64
M14x2 14.0 (.5512) 12.0 15/32 16.0 5/8
M16x2 16.0 (.6299) 14.0 35/64 18.0 45/64
M18x2.5 18.0 (.7087) 15.5 39/64 20.0 51/64
M20x2.5 20.0 (.7874) 17.5 11/16 22.0 7/8
M22x2.5 22.0 (.8661) 19.5 49/64 25.0 1
M24x3 24.0 (.9449) 21.0 53/64 27.0 1-5/64
M27x3 27.0 (1.0630) 24.0 1 15/16 1-3/16
About

CuriousInventor launched in late 2006 (pre-arduino era!) as a place to enable hobbyists, students, and musicians to create their own technology. We sold open-source kits and tools, and offered numerous guides & videos on things like soldering, metal working, screws, electronics, and more. 

The store is now mostly empty, but we’ve kept the product pages and guides up since they have useful information. Many of our guides and videos still rank on the first page of google searches and have been seen millions of times. Content on this site and the CuriousInventor YouTube channel produced by Scott Driscoll.

Top Videos