Three Ways to Improve iGaging DRO Scales Reliability

Tuesday, July 30, 2013
Shielded USB cables can eliminate most of the noise issues
and costs only a few Dollars

In the last post I covered the root causes of the two most common reliability issues with iGaging digital scales. Although those scales catch a good amount of flack of being unstable when mounted on a machine, the problems are rarely caused by the capacitive transducers. In my experience the problems with random resets and unstable readings can be traced to the wiring and are relatively easy to remedy. The mods described below can be done for under $10 total in less than an hour but can make a huge difference.

Eliminate Ground Loops

You might recall that a ground loop is an [undesired] condition where different components of the DRO receive their ground from different sources. In other words there are too many ground references that might lead to a difference in potential between different parts of the system. A lot of the do-it-yourself DRO’s live in home shops or garages with long extension cords that create long and noisy ground loops. Additionally, the scale cables create smaller ground loops when their grounds are connected to the machine’s frame. These issues can be addressed with two relatively easy mods.

First of all, if you’re using a transformerless power supply, switch to an old heavy and cheap wall wart. This will eliminate the giant loop running to the switch panel because the transformer isolates the two sides of the power supply. Second, isolate the scales from the machine’s frame. The “definitive” solution would be to replace the supplied metal brackets with ones made of hard plastic. If that looks like too much work, you can isolate the scale’s frame from the bracket by wrapping the last 0.5” or so with tape. To prevent metal swarf from bringing the gap apply a short piece of duct tape over the bracket.

Shorten the Cables

Remember, that powerful spindle motor is an electromagnet, creating strong dynamic magnetic field around it’s frame. As I mentioned in the previous post, cables act as small transformers and can pick up electromagnetic interferences. This effect is proportional to the length of the wire and can thus be reduced by shortening the cables. IGaging scales come with 6’ cables but chances are that on an average home milling machine you will need only about 2-3’. If you want to keep the Mini-USB plug intact, you can cut out the desired length from the middle of the cable and join the two shorter pieces together. Alternatively (this would be my suggestion) you might want to replace the Mini-USB connector with something that will provide a more mechanically-solid connection, such as 4-pin Din or Mini-Din connector etc. Both of those connectors (male and female) are available at Radio Shack and other stores that sell electronic components.

Use Better Shielded USB Cables

Better yet, you can replace the cheap stock unshielded USB cables with a heavier gauge shielded ones. This change helps in two ways. First, the shielding dissipates the interferences before the can get to the data lines. Second, larger gauge wire has lower resistance, so there will be less of voltage difference between the two grounds.

These braid-shielded cables cost under $4 shipped (from eBay)

To replace the USB cable you will need to take the cover off the iGaging reading head held in place by four small screws. Once the cover is off you will see another Mini-USB connector plugged into the board (and likely hot-glued in) that you need to [carefully] unplug. The new connector will likely be too thick and won’t fit; using a sharp hobby or utility knife shave off most of the plastic on the side closest to the board until it plugs in with a bit of friction.

To take the cover off, undo the four screws as shown

A regular USB Mini-B connector won't fit into the socket since it need to sit flush with the board. On the older scales iGaging used thinner connectors, but for the newer one the folks at iGaging appear to simply have ground off some plastic. To make your connector fit you can follow suit and either grind or cut a few millimeters off

iGaging supplied USB Mini-B connector is much thinner than the new one

iGaging scales use Mini-B to Mini-B cables that are very difficult to find, so the replacement cable will likely need to be USB A Male to Mini-B Male. If you wish to have the ability to use the scales with the iGaging remote readout, you can get a adapter. Alternative you can use this opportunity to upgrade to a more robust connector or even solder the wires directly into the board.

The new connector can be thinned by a few mm using a hobby knife

Please keep in mind that the shielding braid is connected to the frame of the connector. In order to dissipate the interferences it needs to be tied to the ground on one end only (presumably at the end connected to the controller). Leaving it floating might turn it into a transmitting antenna and tying both ends to the ground will create a ground loop.

If you want to keep the stock cables, you can get some metal braided sleeving, slip it over the cables (making sure to ground one end). This will probably be a bit more expensive, though.

Avoid Cable Loops and Sharp Bends

This modification is by far the easiest of the bunch but can make a big difference, especially in an Arduino setup. You might recall that real-world wires have some impedances. Without going too deep into the electronics theory you can think of impedance as resistance to pulsing current. Coincidentally the clock and position data is transmitted through the cables using a series of short pulses. In this case, inductive reactance accounts for most of the impedance, and sharp bends and loops in the cables increase inductance. Moreover, a cable loop around a piece of metal acts as a transformer and can create cross-talk and other sorts of issues. Straightening out the cables can make sizable difference in the pulse rise time and/or magnitude.


In my experience the few easy modifications outlined above take care of any noise-induced stability issues. I've used a set of iGaging scales with cables shown in the picture and the setup has been very stable. If you still experience issues with these mods in place, please drop me a line and I'd be more than happy to help.


  1. I had good luck using these specific cables from

    They required shaving the connector body as Yuriy shows, but they are much thicker and more shielded than the stock ones. I also had to enlarge the notch in the iGaging plastic body to allow this cable to fit through.

    I use 3 scales with those cables plugged into full size USB connectors on a custom pcb that stacks onto an arduino , all mounted in a die cast box with no noise issues. At least not yet, I have not yet mounted it to my actual machine.

    1. These cables don't have the mini-B connector both ends. I found cables with MIni-B both ends at DCables, Richardson TX. They are not advertised as screened but in fact they are. Connector needs to be shaved but otherwise excellent.

    2. Thank you for the heads up on DCables. I just ordered my new cables from them after not being able to find them anywhere else.

    3. I have the Igaging ABSALUTE, I have orderd several dif. cables and adapters just to cover all the bases, all in MINI B. I got one of the adapters today and it didn't fit the LED. So I'm guessing The ABSALUTE version takes the MICRO B.

    4. There are three versions (so far). Two have Mini-B connectors, and the newest one comes with Micro-B.

    5. Yuriy, THANKS for all the INPUT.
      As far as the newer MICRO B cables, are you aware if there in fact shielded?

    6. It could go either way. The scales come with whatever cables "fell of the truck" that day.

    7. Yuriy
      You mentioned heavier cables, what gauge would that be.??

  2. Yuri - great info for the AccuRemote SS scales. Didn't know about them; will soon be adding a set to my LMS 3960 minimill. I've been long waiting for scales that didn't have a display right on the scale!

    Just wondering - if you are going have to hack up the scale enclosure to put in a better USB cable - why not just solder direct and eliminate one more connector? Obviously there is a loss of easy replacement... but once installed, how often would one need to be changing cables?

    1. Alan,
      Mostly because undoing four bolts is much easier than desoldering a fine-pitch surface mount connector and soldering a cable in its place :)
      If you can do it, it's definitely a good mod but for most of people building the DRO's any soldering is too much soldering, let alone fine-pitch SMT "rework".

      Thank you

  3. Yuri, thank you for your work on these scales.

    I'm experiencing some inaccuracy, too with mine. Your analysis suggested to me that the accuracy could be improved by making a more rigid bottom shell out of aluminum.

    Your thoughts?


    1. JW
      I think it would help a lot but I'd want to add some sort of bearing material between the metals. I.e. you don't want aluminum rubbing on aluminum. Possibly a thin strip of PTFE or Delrin on one side and a brass gib on the other.
      Thank you

  4. THANK YOU! I thought I would never figure this out. I kept having problems of resets and erratic readings. I did find on ebay shielded mini usb cables:

    1. Got the shielded cables and installed them. I had installed all 3 readouts in a box and supplied them with a 3v power supply. I turned the mill on and the X-axis readout was still fluctuating when I turned the motor on. The other 2 were fine. Only after much trial and error, and by shear accident, did I discover what the problem was. The pickup was not firmly seated against the bar. I solved this by stuffing the space with a few layers of felt so it would press the circuit board against the bar. I'm sure foam rubber would work but I just had the felt on hand.

  5. Been keeping an eye on all of your projects. I can't wait to start my own soon. My machine both run off VFD's which I understand can create a lot if interference with other sensitive electrical components. Does anyone know if the use of a VFD to power the machine will have any effect on the DRO side of things?

  6. I had exactly the same problem with 0.2" jumps on two DROs. Sent them back for replacement. No hassle from Anytime Tools.
    Just to be sure I decided to change the cables to screened variety.
    USB cables with Mini-B plugs both ends are hard to find. Only supplier I found: DCables, Richardson, TX. Their cables are not described as screened but in fact they are. Nice quality too. Plug needs to be shaved.

    1. After receiving the two replacement DROs from AnyTime Tools I still had the 0.2" jumps on one of them. Customer service at the supplier was no help, so I experimented to see if I could fix the problem with screened cables, eliminating ground loops etc.
      I was very surprised to discover that the orientation of the scale in the slider is critical. When the slider was mounted on a 277 mm length of track, just lying on the bench, it displayed random numbers like a Las Vegas slot machine. Taking the track out, reversing and re-inserting it cured the random displays instantly. Curiously, different lengths of track caused differing degrees of random number generation (even two pieces of the same track after cutting). I have no idea why that should be the case, but the difference from one track to another was dramatic.
      I finally have all three axes of my TAIG mill equipped with AccuRemote DROs and, now that I have the random readout jumps resolved, am very satisfied with the results.

    2. i just took mine apart because i have the infamous .2 inch jump. the circuit boards are mounted crooked and are not parallel to the scale. i adjusted to parallel and reassembled. i will post results.

    3. OK, that appeared to fix the .2 inch jump... Next issue. it appears that the scales interfere with each other. if one or the other is plugged in to the MSP430, they are rock solid. when you plug more than one in, the flicker starts. it would appear that the data from one unit interferes with the other scale. need to spread out the wiring inside the enclosure to isolate the channels better. Stay tuned.

    4. separating the wires appears to fix the cross talk.

      found that the app doesn't always remember "relative zero" when disconnected for a while. also, MSP sometimes loses track where the scales are. the scales hold their reading on power cycle but the MSP starts fresh and may introduce random data which makes no sense. unplugging the scale briefly and returning it sometimes brings it back.

  7. Hi Yuriy, thanks for all your effort and hard work on this. I've followed your progress for some time on the DRO, and have finally got round to making one for myself. It works great - until I turn my mill's motor on. Hence being on this page.

    I have already swapped out the stock iGauging USB leads for shielded versions, and have terminated the ends on the controller with some locking, 4 way metal plugs and sockets.

    Having re-read this page again, you mention tying the braid of the cable to ground. I haven't done this, so obviously need to - can I assume that all I would need do for each cable is terminate the braid to the shell of the plug, and then solder a lead onto the socket shell and link it to a known ground (more than likely the DC power jack I have used)?

    Or have I got the wrong end of the stick?

    Thanks again


    1. Ok, I'm getting confused as to what I need to do here.

      I've taken the back off one of my modded scales, and removed the metal shroud of its round 4 pin connector I had put on it's upgraded USB lead.

      I've measured continuity from the braid at the round 4 pin plug end all the way back to the mini USB plug case, and on the mini usb socket case on the scale when the plug is inserted... and as the socket case is connected to the GND pin, I get continuity all the way back down to the circular connector at the other end on the black GND line.

      That being the case, isn't the cable then tied to GND already? seeing as the black cables on each of the axis return to the launchpad GND, and the launch pad is connected to the DC jack 0v / GND?

      What do I need to do - because clearly it's not right at the moment as the mill motor will knock one or two of the axis out of wack when i turn it on. Not every single time, but a good 30-40% of the time.

      Do I need to disconnect the braid from the mini usb end, connect it at the circular connector end and then ground all of the sockets to the DC jack?

      Please help... I'm really having a mental block on this. :(



    2. Have you electrically isolated all the scales from the mill?

      I'd need to double check, but on mine the USB's body was not connected to the ground pin, so I connected all the bodies together and then ran them to ground on the Arduino.

      You should also check that the power supply you're using is isolating you from the AC.

    3. The scales aren't even on the mill yet. :)

      However, I do seem to have solved the issue. As a test, I connected the shield braid to the shell on one of the connectors I'm using by clamping it under the cable clamp of it's metal outer case. I then ran a ground wire from the back of the socket to the DC jack.

      Connected the DRO, moved the scale to get a reading, and then flipped the power switch on the mill. Several times, to make sure it wasn't a fluke. Reading stayed solid.

      So I did the same with the other leads, and then connected all the socket shells together with a thin aluminum plate that sits behind all the socket's mounting nuts, ran a cable from it to the DC Jack GND and tried all three of them. Rock solid readings, no matter how often I turn the motor on or off.

      So - I guess it doesn't matter (regardless of what I've read about shielding) that it's connected at both ends.

      Thanks for your help


  8. Hi Yuriy!

    First a huge THANK YOU for all your hard work, programming the app and publishing all the attendant information here. I have interfaced my iGagings with my self-made control circuit using the default USB cables (better cables are already in, just need to find the time to implement them...).

    One question: should the shield on the controller side be connected to GND or not? I have left the connection separted so far since I found conflicting information about this on the web. Do you have experience there?

    Thanks for sharing any thoughts on this!

    1. In theory, you should connect it to one side. If you're up for some reading, read this paper:

      Thank you

    2. Hi Yuriy,

      What about using ferrite beads too mitigate noise in the cables?
      Let me know your thoughts.

      Thanks for the brilliant project.

  9. Newer igaging dro are using shielded usb cable. I initially brought 3 for my mini mill. These all had unshielded usb cables. The cables are slim at around 0.11 inches in diameter. Months later I brought 2 more for my mini lathe. These cables were noticable thicker at around 0.13 inches. I've verified by slicing open the cables.

  10. I have an interesting reliability problem, which I am sure is not related to the scales themselves. Here is my situation;
    > I haven't isolated the Igaging scales from the mill (yet)
    > The mill is a BF20 with the power switch on the back of the control panel
    > Currently everything is still on a breadboard
    > I am powering the Arduino through an Adafruit Boost 500C board with a Lipo battery as backup. This effectively works as a UPS to stop memory loss in case I switch off the wrong thing.
    I have used both the v3 sketch and the Tach v5 sketch made by Ryszard Malinowski, both have exactly the same symptoms.
    > I have a common capacitor fitted across the 5V and Ground lines running to the scales

    About 1 in 15 times, when switching the power to the mill on or off, or inserting removing the plug at the wall, the X and W scale values scramble to some random figure and become locked, by which I mean nothing changes when moving the axis. The only way to recover them is to turn off the power to the scales which of course loses position as well.
    Th interesting part is that it is only the X and W axes that scramble and lock out. The Y and Z values are 100% rock steady. No idea why this should be happening.

    If I disconnect the mains power supply and run the Arduino on the battery backup through the Adafruit boost supply, the problem never occurs, therefore it has got to be due to an incoming voltage spike.
    The problems seems to within the Arduino code, not the scales themselves.

    I guess I will need to find a way to improve incoming power which is currently a 5V USB phone charger. Tried two different models with the same results.

    This is just to help anyone out having the same problem, but any suggestions would be gratefully received.

    Paul Atkin - Japan

  11. Hi Yuriy
    First: thousand thanks for the great work you are doing.
    But of course I also have some problems and questions regarding Adapter Board + MiniB USB Breakout Boards.
    After a little trail and error I got the data/signal inconsistent rectified (the breakout board didn’t connect to the controller board 1 to 1).
    What worries me now is why the board have so many problems in decoding the signals from the scales especially because the standard ODR is rock steady. Can you think of building a signal shaper or a “Smith trigger” or alike. The original one-scale display must contain some circuit which make the decoding very steady.
    Thanks for your commitment ;-)
    Peer – Denmark
    P.S. I really need a map over your site…

  12. I haven't seen anyone comment on the positives of ferrite on the usb cables?

    1. There are many different reasons for scale "misbehavior". If the scale resets when you turn on your machine, ferrite beads won't do a thing (the cause is a spike on the line that reverses the polarity of scales supply. I.e. frame gets more positive that 3.3V Vcc line).
      If you are seeing random intermittent position misreads and the scale goes back to the right value, the cause is noise on the data or clock line. If the noise is at the right frequency and the the ferrite is the right size you might see a difference, but it's kind of like throwing stuff at the wall and seeing what sticks: ferrite bead on the cable creates a weak single-turn inductor. The inductance depends on the size/type of the bead...
      Hope this helps