# Probotix Touch Plate help (CNC)



## 4DThinker (Feb 16, 2014)

For those of you that own a Probotix CNC and use LinuxCNC, if you have their touch off plate could you tell me what color the Probe indicator turns when the plate touches the bit? I'm trying to debug why mine doesn't work but don't know how it should work if hooked up properly. 

At the moment my probe icon is blue, and doesn't change when I touch my bit to the plate. When I tell LinuxCNC to set Z with the touch plate my router just moves up until it hits the limit switch then shows me an error. To me that seems as though I've already got a short somewhere between the parallel port and the touch plate.

Any help greatly appreciated. 

4D


----------



## beltramidave (Jan 6, 2016)

4D,
The icon should be gray until contact is made and then it turns blue.
What happens when you touch the alligator. Clip to the puck surface? That should simulate a touch off.

Did you read this? 
http://www.probotix.com/wiki/index.php/Z_Touch

Dave


----------



## 4DThinker (Feb 16, 2014)

Your link lead to a page with no text, but I did read all the info I could find about the Z touch off on their wiki. 

I just unplugged the cable I made and restarted LinuxCNC and the probe icon is still blue. 

I had a look again, and apparently I had my ground and touchpad wires backwards. After switching them and re-connecting the parallel port it seems to work. I didn't think it would matter as all it would need was a connected circuit to set off the Probe indicator, but the CNC frame is ground and so when I connected the alligator clip to the bit that alone closed the circuit. Now all I need is the touch plate connected to pin 13 and the Z touch-off routine works. 

If anyone has continuity from the frame through the router down to the bit then no alligator clip or magnet attachment is needed. A single wire from plate down to the parallel port would do. 

I've also seen that you can probe to touch off the other two (X and Y) directions somehow. I'll have to do a little more research though to figure out how. 

4D


----------



## MEBCWD (Jan 14, 2012)

This link should work Z Touch-off Puck - PROBOTIX :: wiki


----------



## probotix (Apr 26, 2015)

We were hoping that all routers would have continuity to the frame, but they do not.


----------



## 4DThinker (Feb 16, 2014)

Might be nice/useful to assemble a list of which routers do have continuity from bit to body. The one I use is a Dewalt DW618. We use the same model on the Meteor and Nebula we have in our college shop. 

4D


----------



## old55 (Aug 11, 2013)

Welcome to the forum @probotix.


----------



## 4DThinker (Feb 16, 2014)

For anyone who does not already have a touch plate, here are a couple photos of my homemade one. 
A chunk of aluminum bar from my scrap bin. 
Drilled a 5/32" hole in the side to receive the audio plug. 
Used their configurator to enter how thick the bar was (.367"). 
Ran a 2-lead cable from the router to the controller through the cable chain and using an old 25-pin cable end got it wired up to plug into my second parallel port.

I will be making a small rack to hang it off the side of the router clamp once I figure out the best way. It can't touch the frame while not in use or the Probe icon will stay blue.

4D


----------



## RainMan 2.0 (May 6, 2014)

probotix said:


> We were hoping that all routers would have continuity to the frame, but they do not.


That's something I never would have thought of . I hope most spindles do? 

Welcome to the forum Probotix


----------



## 4DThinker (Feb 16, 2014)

So far I've been able to add buttons onto the LinuxCNC interface for X and Y touch-off using the puck. I've made copies of the o102.ngc subroutine for X and Y (o103 and o104) but not yet figured out what else I need to edit to get them to actually work. 

My hope is to jog the bit to within 1" of the X or Y edges, put my touch plate on its side between the bit and edge, then have the bit probe in the +X or +Y direction until it touches the plate. Then set X or Y zero to their position + the plate thickness. Then have the bit move back one inch. 

Still working on it.
4D


----------



## beltramidave (Jan 6, 2016)

4D
If you haven't already, you need to go into your .ini file and under the HALUI section, add MDI_Commands for each subroutine.
Think you will figure it out when you see the others. Should look something like this:
MDI_COMMAND = o102 CALL
Just add yours at the bottom. Must restart PC after making changes. Always a good idea to make a backup copy just in case.

Dave


----------



## 4DThinker (Feb 16, 2014)

I saw and added the MDI_COMMAND lines. Not enough to make my interface buttons work. There was also an entry for o102 in one of the .HAL files for Ztouch/Zpuck which I'm guessing is needed too for the X and Y o103 and 0104 subroutines. I added what I thought might work but then LinuxCNC wouldn't start. Had a backup fortunately so back two steps to a working version. 

In my younger years I was a pretty good programmer, but turning 60 in a month seems to have robbed me of my youthful ingenuity. I'll figure this out eventually though. 

I know linuxCNC has been around a long time, and evolved greatly to the point it is now. There are a few web-based g-code CAM apps in the early stages of sophistication which pale to the capabilities of linuxCNC yet prove I may not be the only one who ponders making a CAM program from scratch. If only so I would KNOW what the secrets are to making it have all the features I want.

I've been comparing the accuracy of setting Z with a slip of paper or using the touch plate. In both cases I'm setting Z at a level where the board just barely slips under the bit but doesn't lift up at all. Using the touch plate is much quicker though if it can be trusted. The speed comes from keeping it always near the bit to be set beneath it/atop the work at the same time a bit is changed. I have more trouble setting X or Y against the side of the workpiece as the wrong rotated position of the fluted bits can make for a noticeable error. 

4D


----------



## honesttjohn (Feb 17, 2015)

Hmmmmmmm - I guess this makes my playing card technique obsolete. And I still got about 45 cards of the original deck left.


----------



## beltramidave (Jan 6, 2016)

I thought you already had your buttons working... .Hal files tie your xml together to make them work. Not sure I can help you without having your xml and Hal pin numbers and names.
Have you tested your subroutines? If you go to the MDI tab (F5) and type in: o103 call, that will run subroutine o103.
Not at my computer right now, but check out the LinuxCNC manual, they have examples for buttons and subroutines.
Dave


----------



## beltramidave (Jan 6, 2016)

honesttjohn said:


> Hmmmmmmm - I guess this makes my playing card technique obsolete. And I still got about 45 cards of the original deck left.


HJ,
You gotta get with the program. :smile:
Dave


----------



## 4DThinker (Feb 16, 2014)

Yes the subroutines work standing alone. I have the buttons showing up on the linuxCNC screen but they don't do anything when clicked on. 

Still working on it.


----------



## beltramidave (Jan 6, 2016)

This is what I have for my Z puck. Are you using the same input as Z or do you have additional inputs. 

I can't tell you what parport pins or names to use, but the context of adding a button needs entries in all of these 4 places (.INI, PYVCP.XML, POSTGUI.HAL, .HAL). 

In the POSTGUI.HAL file, where it says "mdi-command-03", the number has to be which number MDI-COMMAND it is. This one is the 3rd command (starting counting at 0). Make sure to get your syntax correct or you will get errors.

.INI

[HALUI]
# add halui MDI commands here (max 64)
MDI_COMMAND = o100 CALL [1]
MDI_COMMAND = G53 G0 X24.0 Y48.0 Z0
MDI_COMMAND = G53 G0 X24.0 Y4.00 Z0
MDI_COMMAND = o102 CALL [2]
MDI_COMMAND = G10 L20 P0 X0 Y0
MDI_COMMAND = G10 L20 P0 Z0
MDI_COMMAND = G53 G0 X0 Y0 Z0
MDI_COMMAND = G0 X0 Y0
MDI_COMMAND = G64 P0.001
MDI_COMMAND = G64 P0.010
MDI_COMMAND = G64 P0.040
MDI_COMMAND = G17 G20 G40 G49 G54 G90 G64 P0.01 T0 M6

PYVCP.XML

<!-- ZPUCK -->
<button>
<halpin>"o102"</halpin>
<text>"Set Z Origin w/ Puck"</text>
<font>('fixed',10)</font>
</button>

POSTGUI.HAL

#HALUI_ZPUCK
net z_probe pyvcp.o102 halui.mdi-command-03

.HAL

# PROBE
# set up the probe input for the tool sensor and the z-puck
# the tool sensor is normally closed, the z-puck is normally open
# we will put them on two seperate pins and 'or' the two signals together
setp debounce.2.delay 100
net deb2.0 debounce.2.0.in <= parport.1.pin-15-in
net deb2.1 debounce.2.1.in <= parport.1.pin-13-in-not
net tool_length_in or2.6.in0 <= debounce.2.0.out
net z_probe_in or2.6.in1 <= debounce.2.1.out
net probe-in motion.probe-input <= or2.6.out

Hope this helps!
Dave


----------



## 4DThinker (Feb 16, 2014)

I've got essentially the same in my files, Dave. 

I've added 
MDI_COMMAND = o103 CALL [2] and
MDI_COMMAND = o104 CALL [2], but I'm not sure what the [2] does or if it needs to be different for each subroutine.

I've added:
<button>
<halpin>"o103"</halpin>
<text>"Set X Origin w/ Puck"</text>
<font>('fixed',10)</font>
</button>

and: 
<button>
<halpin>"o104"</halpin>
<text>"Set Y Origin w/ Puck"</text>
<font>('fixed',10)</font>
</button>

all under <!-- ZPUCK -->, but they may need to be under their own heading. They do show up as buttons on my LinuxCNC screen though.

LinuxCNC has crashed when I've added anything to the POSTGUI.hal file.


----------



## beltramidave (Jan 6, 2016)

I m not sure what the numbers are for either, but do think they need to be different.
Can you post the error message or email to me? Usually about the last line gives you the answers.

Are you using the same pin as Z?


----------



## beltramidave (Jan 6, 2016)

I think the call numbers need to be different.

Can you post the error or email it to me. Clue is usually towards the end.

Are you using the same pin as Z?

Dave


----------



## 4DThinker (Feb 16, 2014)

Yes, I've got just one touch plate hooked up per Probotix' instructions Pin 13 I believe on parallel port 2. I lay the plate flat for Z, and stand it on edge for X and Y.


----------



## beltramidave (Jan 6, 2016)

4D,

If you can send me the error message you get, I will try to help you figure it out, otherwise I am about out of ideas with the information given.

Dave


----------



## 4DThinker (Feb 16, 2014)

I'll copy down the error the next time it shows up. At the moment I've been debugging my subroutines to work more reliably. I also discovered that my subroutines do run using buttons on the screen, but not the buttons that I added. When I added them to one of the files it apparently shifted what happens using the previously existing buttons. 

Such is the muck created when trying to reverse engineer an existing configuration. I don't feel so bad knowing if I screw it up completely I can run their configurator again to restore it. 

Next on my agenda is to see if I can get the original buttons working again. 

4D


----------



## 4DThinker (Feb 16, 2014)

After going back and forth between the LinuxCNC interface and the POSTgui.HAL file I've finally gotten all my Set X/Y/Z origin using the puck buttons working. I still have a couple of the original buttons to get working again, but at least I've begun to figure out how it all works. The PostGUI.HAL file makes numerical reference to the MDI-Commands in the linuxCNC.ini file. Not perfect sense, but by making a change then seeing what the effect was to the linuxCNC interface I slowly deduced what number related to what button to what MDI-command line. 

Now I'm thinking about what shape of touch plate would be easiest to use setting 0 for X/Y/and Z axis. Considering a piece of 3/8"x3/8" or 1/2"x1/2" keystock with the cable connected to the square end. Then no matter which way it was rotated it would work in any direction. If the bar wasn't too long I could stand it up doing X and Y if there wasn't much room against a part edge to zero against. 

4D


----------



## 4DThinker (Feb 16, 2014)

Just for kicks, this is my new interface with buttons for Set X Origin w/Puck and Set Y Origin w/Puck.

I'd like to simplify the right hand column of buttons but will need to know more about how buttons are created. 

4D


----------



## beltramidave (Jan 6, 2016)

Did you get them working?
Dave


----------



## 4DThinker (Feb 16, 2014)

beltramidave said:


> Did you get them working?
> Dave


So far I've got all but one working. I did discover a bug I'll need to work out for the Z axis subroutine but that shouldn't be too hard. It was the default one created by the configurator and left alone as far as I remember. The subroutines for X and Y touch-off I wrote from scratch. I think I'll go back and make the Z subroutine work more like the X and Y do. All start with the bit jogged to within an inch or so of the material. The routines I wrote set the current position as zero, probe slowly toward the plate, then stop when they touch it. The current position plus the plate thickness is then set as zero. Then the bit moves back one inch. 

The current Z routine takes more time than it needs by moving up to touch the top limit switch before probing down to touch the plate. Once it hits the plate it moves all the way back to the top of travel and stops there. Far more travel than it needs to do. 

4D


----------



## 4DThinker (Feb 16, 2014)

I got the Z axis puck subroutine debugged and improved. Very satisfying. I'd have been happy if that was all I accomplished during this adventure. 
Still can't seem to get "Go to Home" button working again though. Not sure it is needed so I might just comment it out so it doesn't show on the screen. 

4D


----------



## 4DThinker (Feb 16, 2014)

For those used to using LinuxCNC, what do you consider to be HOME?

1. Where the router/spindle moves to after homing?
2. Where you set X, Y, and Z to zero on your material?
3. The room your CNC is installed in?
4. The State you live in?
5. A state of mind?
6. Something else entirely?

Thanks! 
Just bored and curious.
4D


----------



## beltramidave (Jan 6, 2016)

4DThinker said:


> I got the Z axis puck subroutine debugged and improved. Very satisfying. I'd have been happy if that was all I accomplished during this adventure.
> Still can't seem to get "Go to Home" button working again though. Not sure it is needed so I might just comment it out so it doesn't show on the screen.
> 
> 4D


Attached are files needed for "Go TO Home".

Dave


----------



## 4DThinker (Feb 16, 2014)

beltramidave said:


> Attached are files needed for "Go TO Home".
> 
> Dave


Thanks Dave. The magic clue that I suspected but wasn't sure about was that when counting the position of the MDI_Command line in the .ini file the first item is 0. 

Another puzzle now has moved to the top of my list. When I use buttons on the right (Set X/Y origin, Set Z origin, and all three of the Set X/Y/Z origin w/puck they don't update/shift the drawing on the screen. When I use Set Axis Origin on the left for any of the three axis the screen gets refreshed showing now how the drawing file relates to the bit position. In my mind the two sides should both update the screen if they change the origin for any axis. 

Is there a secret to having a routine refresh the 3D drawing?


----------



## beltramidave (Jan 6, 2016)

4DThinker said:


> Another puzzle now has moved to the top of my list. When I use buttons on the right (Set X/Y origin, Set Z origin, and all three of the Set X/Y/Z origin w/puck they don't update/shift the drawing on the screen. When I use Set Axis Origin on the left for any of the three axis the screen gets refreshed showing now how the drawing file relates to the bit position. In my mind the two sides should both update the screen if they change the origin for any axis.
> 
> Is there a secret to having a routine refresh the 3D drawing?


I hadn't noticed that. Might have to research that when I get a chance.


----------



## 4DThinker (Feb 16, 2014)

Curious, beltramidave, if you've figured out how the toolpath drawing is updated? Hate to leave this project alone until all the little imperfections are gone. 

4D


----------



## beltramidave (Jan 6, 2016)

4DThinker said:


> Curious, beltramidave, if you've figured out how the toolpath drawing is updated? Hate to leave this project alone until all the little imperfections are gone.
> 
> 4D


Sorry 4D, haven't had a chance to look into it. Actually, I forgot....


----------



## 4DThinker (Feb 16, 2014)

beltramidave said:


> Sorry 4D, haven't had a chance to look into it. Actually, I forgot....


Not to worry. I very much appreciate the help you have already given me. 

On a side note... I was working on this project not just for my own CNC, but also to update the 2 probotix CNCs we have in the college shop. As it is a brand new shop space we will be moved into in this month, the Dean has declared both the general shop and our classroom space to be "all college access", and put someone else in charge of the small CNCs that I used to oversee. He hired two students (with no CNC experience) for the shop manager (unfamiliar with LinuxCNC) to manage, and expects they will be able to do for the students what I have been doing for the students the last several years. I've reset the two Probotix CNCs to their stock condition and removed my personal jigs and clamps from that area. I suspect the Dean will be hearing from some students. :frown:

4D


----------



## beltramidave (Jan 6, 2016)

4D,

Sorry to hear about your issues at work. I bet it won't take long to get you back involved in things.. Your Dean obviously doesn't know much about your operation, either.

I think I understand what you are saying is the issue, but I am not having any problems. Try refreshing your toolpath (2 green arrows in toolbar) AFTER you 'Set XY Origin'. My drawing did not update until I did that. To be honest, I never really paid any attention.

Let me know if this works for you.

Dave


----------



## beltramidave (Jan 6, 2016)

A couple of screenshots.


----------



## MEBCWD (Jan 14, 2012)

4D are they keeping you there to lead the paramedics to where the accidents occur? 

Doesn't sound like the Dean thought this out or has no clue how dangerous a shop can be when no one knows what they are doing. We're talking about turning a bunch of teenagers loose in an area where fingers can be lost before they know it and we don't even need to talk about a bit being forced to the point of loosing the carbide cutting edge or breaking and flying across the room. I hope the students he hired at least have some woodworking experience using shop tools.


----------



## 4DThinker (Feb 16, 2014)

All students have to sit through what ends up being about an hour of shop "training" before they are granted access. They get a handout with the rules and safety tips, and then take a test over what is in it. Only then do they proceed to learn by trial and (often) error. We don't let them use our big non-SawStop table saws. 

I'm teaching 2 different furniture design classes which will have me in the new shop space most of MonWedFri. There is classroom space with workbenches and lockers at the north end of this new shop. I keep my eyes and ears on my students, but can't not see the odd "other" students that come and go with varying degrees of hazard in their eyes. 

It's a very new very big college shop space, in the lowest level of a brand new design studio building. Very fresh. Very shiny. Very much the Dean's vision. Time will tell how clean his glasses were. 

4D


----------



## 4DThinker (Feb 16, 2014)

I'll add that although the students get some training on how to use the general shop tools, they don't get trained how to use the CNCs. Why not, you wonder?

Because I've taught elective sections of a CNC class for Architecture students several times. In two weeks of lessons and practice they just begin to get comfortable enough to turn on, home, clamp down, zero out and cut their tool paths on the small CNCs. They generally fail in some way the first few times, but it helps them understand better the nature of what a CNC router can and can't do. We persist, but even by the end of the semester they are still making small mistakes purely from inexperience. I'm showing them new strategies and solutions all the way to the last day of classes. My personal CNC experience spans several years now and was added to decades of woodworking and furniture design experience already in place. I know what direction the grain should run to cut joinery in it. I know what species of wood will fracture across the grain and which ones compress easily. No student does as they have never asked themselves these questions. 

Just running the CNC is only a fraction of what needs to be known. This can't be taught. It can only be learned over time with practice. None of this can be taught in an hour.

4D


----------



## beltramidave (Jan 6, 2016)

4D,

Did refreshing your toolpath after setting your XY origin, work for you?

Dave


----------



## 4DThinker (Feb 16, 2014)

Dave,

Yes it did. Thanks again for all your help.

4D


----------



## beltramidave (Jan 6, 2016)

Glad I could help.


----------



## 4DThinker (Feb 16, 2014)

I've been playing with my new touchplate settings today. 

Before I had the auto touch-off figured out I'd made an LED touchplate. Basically a battery box with an LED on it that would light up. Aligator clip on the bit. Aluminum plate under the bit. Jog down slowly (.005" steps) until the light goes one. Take one .005" step back, then change the jog rate to .001 steps and move back toward the plate. When the light came on this last time I'd enter that bit position as a negative value of the plate thickness. I'd have Z=0 within .001 of the surface.

4D Furniture Thoughts: Touch Off Light for my Probotix CNC

This inspired me to see if I could get the touch plate probe routine to the same accuracy. At the moment I have it probing down once at a fixed speed until contact, then retracting. That one probe is fairly fast, and I can see it sometimes not mechanically touching the plate before retracting, leaving me with a Z=0 setting that was not quite perfect. I think I'll add a second step where it retracts just a small distance after the first touch, then re-probes at 1/5 the previous speed until it contacts again. 

4D


----------



## beltramidave (Jan 6, 2016)

I have mine set up to do a second touch at a much slower speed and it works great. I am using the Probotix touch off sensor. I had used a plate earlier and it worked fine too.
Dave


----------



## 4DThinker (Feb 16, 2014)

Inspire by how my CNC shark does Z touch-off I guess. Always happy with where Z=0 ended up using it. 
I need to be carefull though. I can tell this playing around has activated my long dormant programming gene. Last time that happened I was in my 20s, and I'd lose track of time and eating and sleep while I typed away trying to make ever smaller, more efficient, and more "perfect" subroutines. 
:nerd:


----------



## probotix (Apr 26, 2015)

Not sure why, but this forum only sends me notifications of new posts only occasionally. The last notice I received was when this thread was only one page deep.

I actually hate how LinuxCNC refreshes the file on a touch-off. I mean it literally reloads it from disc and redraws the preview. We have some very large files that have all spoil boards in one file, selected by variables ate the top of the file, and it takes a good 30 seconds to reload them. I haven't dug too deep, but deep enough to know its in the python code and call backs to the emc server that runs in the background, which could mean that some of the modules may need to be recompiled if we start making changes in there.

The pyvcp module that allows us to easily create new buttons in the right panel does not have access to all of the controls the python interface does, unfortunately. So even if we wanted to trigger the same file reload to get the screen to refresh, it can't be easily done from pyvcp.


----------



## 4DThinker (Feb 16, 2014)

Not sure about the notices either. Might be random, or perhaps once a month or week. I got several this morning though. I'm just in the habit of checking in once a day or so though. 

I got my Z touch-off with puck routine doing a double-touch now. Still playing to find the perfect second pass speed. Slow doesn't hurt except for taking more time than it may need. My long touch plate may be too big. It can span a slow spot and tends to sit higher on boards that aren't machined flat. I increased the thickness value by .001 until when zeroed the board can't be lifted at all. No paper can slip under the bit, but the board can be slid a little without scratching its surface. 

4D


----------



## Pro4824 (Oct 17, 2015)

Congrats 4D, I've seen YouTubers who make a "Caddy" on the Z-axis to hold the puck so it's always handy. I just mounted mine to the side of the cabinet because for now I seem to usually be around the front left corner of the bed when zeroing. 
It's just nice to not be constantly looking for it.







Joe.


----------



## 4DThinker (Feb 16, 2014)

I made a simple wood mount for my touch plate that I've stuck on the side of the router clamp with double sided tape. As the cable feeding the plate also follows the router mount left and right (I ran it through the cable chain back to the controller) that eliminates any stress on the plate/cable. 

On the Shark HD we have in our college shop the cable simply runs from the back of the controller out to the plate. We keep it off the bed when running a job, then fish it out to use when setting Z on the next job. Over time our cable has had to be replaced twice for simply breaking off at where the plug goes into the plate. I doubled up on some shrink tube to stiffen up where my cable terminates into the plate. Should be no fatigue from wiggle there. 

4D


----------



## subtleaccents (Nov 5, 2011)

4DThinker said:


> I made a simple wood mount for my touch plate that I've stuck on the side of the router clamp with double sided tape. As the cable feeding the plate also follows the router mount left and right (I ran it through the cable chain back to the controller) that eliminates any stress on the plate/cable.
> 
> On the Shark HD we have in our college shop the cable simply runs from the back of the controller out to the plate. We keep it off the bed when running a job, then fish it out to use when setting Z on the next job. Over time our cable has had to be replaced twice for simply breaking off at where the plug goes into the plate. I doubled up on some shrink tube to stiffen up where my cable terminates into the plate. Should be no fatigue from wiggle there.
> 
> 4D


I have had the same problem over the years. Every so often the cable breaks at the eyelet that connects to the touch plate even though I have doubled up on the shrink tube. I just consider it one of the normal PITA events. But I have to say that I may use the touch off plate as much as 8 to 10 times a day so it is not that inconvenient. Even though I purchase and use the same material thickness of MDF and Corian there is always a thickness difference in the sheets especially the MDF.


----------



## 4DThinker (Feb 16, 2014)

subtleaccents said:


> I have had the same problem over the years. Every so often the cable breaks at the eyelet that connects to the touch plate even though I have doubled up on the shrink tube. I just consider it one of the normal PITA events. But I have to say that I may use the touch off plate as much as 8 to 10 times a day so it is not that inconvenient. Even though I purchase and use the same material thickness of MDF and Corian there is always a thickness difference in the sheets especially the MDF.


My guess is that Nextwave has no intention (or idea) how to improve the longevity of that cable given they offer a replacement for $16. 

I spent a few years of my life messing around with audio systems, and found that the banana plug can be bought from many different sources and is available in varying designs and strength. They normally are used for audio equipment and as that can be bought at various price levels, so can the price and quality and durability of the plugs. 

They make for a convenient way to attach a cable to a simple aluminum block, but were never intended to be used on something that gets constantly moved around like our touch plates are. 

This provokes me to be on the lookout for a stronger but just as simple strategy. Stick the wire in a hole and solder it in? Now it is up to the wire used (not the banana plug) to withstand the strain. There may yet be an even better idea out there to be found. 

4D


----------

