TouchDRO Initial Setup

Wednesday, February 19, 2014

TouchDRO is designed to work with a wide range of scales and machines, but it will not work right out of the box. After the application is installed, it needs to configured to match your particular setup. The process isn’t complicated and takes just a few minutes, though.

By default the application is configured for a three-axis vertical milling machine that uses imperial units. If that matches your setup, the only thing you’ll need to do is to configure your scales and the DRO will be good to go. Otherwise, there are a few additional settings that needs to be changed.

Application settings are set using the “DRO Settings” page that can be reached via the “Settings” option on the context menu. Depending on the device you are using, the context menu is accessed either via a dedicated menu button, or via the “three vertical dots” (AKA “Action Overflow”) in the top right corner of the screen.

Designated menu button can be seen in the lower-right corner of the phone
Pressing the "three dots" in the upper-right corner brings up the menu

Settings page is split into several setting groups, such as “General Settings”, “Connection Settings”, and several axis-specific groups. In this post I won’t go into explaining what each setting does. Instead I will cover the settings that needs to be set for the DRO to become usable. For the complete explanation of each setting please refer to the TouchDRO Settings Overview.

General Settings

If you intend to use the DRO with a lathe, rather than a milling machine, the “Machine Type” setting needs to be changed to “Lathe”. This setting determines what functions are available, how the axis details screen looks and how the points and tools appear in the list.

Connection Settings

This section determines how the application will communicate with the scale interface controller. By default TouchDRO is set to use BlueTooth, but if your tablet doesn’t have a built-in BlueTooth controller, the app supports USB connectivity with some devices.

Please note, USB works with a limited number of controllers. Namely, the flavors of Arduino board that use a separate ATMega for USB communications, such as Uno and Mega, or the ones that use FTDI 232R serial-to-usb chip, such as Duemilanove and Namo. The FTDI chip is commonly available mounted on an easy-to-use breakout board, which can be used in place of the BlueTooth transceiver with a MSP430 Launchpad.

No configuration is needed for the BlueTooth mode, but in USB mode the BAUD rate in the app needs to match the BAUD rate used by the interface controller. If the transfer rates don’t match, the app will not be able to receive any data.

X, Y, Z, and W axis Settings

The axis settings are very similar for the four linear axes, but some axes have additional flags that need to be set. Namely, with the exception of the X axis, each linear axis can be shown or hidden using the “Enable Axis” setting. The behavior of the W axis can be further changed using the “Axis Target” setting. Based on the selected value the readout can be either shown or summed up with one of the other three axes. In the latter case, please make sure that the target axis is enabled as well.

Once the desired axes are enabled, the application needs to know what is the resolution of the scales used for each axis (in “counts per inch”, or CPI). The values can be set for each axis individually using the Axis CPI settings.

Counts-per-inch for some common scales are as follows:

  • iGaging Digimag and AccuRemote - 2560
  • Standard (Sylvac) Chinese Scales - 20480
  • Harbor Freight Calipers - 2000
  • 5 micron Glass/Magnetic Scales - 5080
  • 1 micron Glass/Magnetic Scales - 25400
  • These values should get you started, but for the best accuracy I recommend that you calibrate your scales once they are mounted. This will account for any cosine error you might’ve introduced into the setup, etc.

    Finally, if the readout from the scales is “backwards”, i.e. the number decrease when they are supposed to grow, etc. the readout can be inverted by checking the “Invert Readout” option.

    Please note, that the CPI and direction for the axes that are summed together don’t need to be the same. For instance, you can use glass scales on the kneed and a standard “caliper” on the quilld. The app will figure out the proper conversion ratio internally to get the scales in sync.

    Tachometer Settings

    The tachometer is very similar to the other axes, except it uses Counts Per Revolution instead of the Counts Per Inch. The value is set to 1 by default and can be changed using the “Tachometer PPR” setting. Similarly, if the value appears to be negative when it should be positive and vice verse, check the “Invert Output” option.


    This post covered only the bare minimum setup needed to get the TouchDRO application to display the correct position. There is a plethora of other settings that will enable you to customize the application to your particular needs. For the complete explanation of each of the application settings please refer to the … page. Finally, to make sure that the scales’ CPI is set as accurately as possible, I suggest that you calibrate them on the machine using either the process I described in the “Calibrating DRO Scales” posting or something similar.


    1. Hello Yuriy. Thanks for the time and knowledge you give to everybody. I successfully built and installed the arduino bluetooth dro with igaging scales. One note about initial setup is that while you correctly say here that the value of cpi is 2560 in the default settings of the touch dro you put 2650 which doeas not correspond to any of the scales you tested here. I don't know if it is a mistyping or on ourpose you out this value to force calibration of every system. Anyway... thanks again. Cheers. Adriano

      1. Adriano,
        That is a bug (typo) that I fixed for the upcoming version.
        On the other hand, I would not use default setting either. For best results you *have* to calibrate the scales once they are on the machine.

    2. This looks great. Do you know of anyone who has an electronic indicator that bluetooths to a smart phone? We machine large parts that are hard to get to the indicator when setting up.

    3. Hi Yuriy. I've just just Successfully tested my Launchpad version of the system. I've designed a double sided PCB to accommodate the microcontroller chip, bluetooth modem, power supply and mini usb sockets and mini din for 4 scales. On my mill I've mounted 2 scales on the Z axis. Each channel have dual sockets so one can choose to make more robust shielded connecting cables or the standard usb style cable. All the components, except the BT module are through hole, including the usb sockets. The BT module I've used is the RN42-I/RM from Microchip without the carrier board was the only trick soldering task but I only soldered the used pads with a little patience. If you want, I can supply you with the artwork for the PCB and the BOM from Farnell as gratitude for this great project.

    4. Hi Yuriy. Time to put everything in an enclosure and final setup of the system. I had some issues with the introduction of different values to the axes and had to change the language setting of my tablet due to differences in the decimal separator 10,00mm and 10.00mm. I'm also unable to get it to start up in metric units and the appearance of the Axis Details Dialog is also different. If you touch it briefly, the popup menu is different to the one that appears if you touch it longer. The 1/2 and +/- buttons appear but not the "0" button.

      This does not have to appear as a post but since I don't have your mail I thought it was the only way to reach you. Thanks again for this great project.

      1. Helder,
        The popup menu is supposed to be different: there are two scenarios: short touch and long touch.
        My email is ycroosh at gmail dot com. Please let me know what language you are using and I will try to figure out how to make the input parse right.
        Thank you

    5. Hi Yuriy
      I am have been using your DRO tool for a while and I am very satisfied about it -> very good tool.
      Now, I use Touch DRO as a beta tester.
      I think it should be very interesting to have an import/export facility for Set points (excel, csv, text or what ever the file format is) . That could helpful for two reasons:
      a/ Save a complex machining process in a decdicated file (configuration management) and be able to reload it later in order to reproduce it in future.
      b/ for very complex machining processes an external tool (for example Excel) would optimize a lot the set points edition.



      1. Oliver,
        This is the main feature in the next release (the one after the release that is in beta right now).

    6. Yuri, thank you for all your expertise. I have questions regarding the bluetooth tachometer on the mini mill. I am in the process of acquiring all the materials needed for the bluetooth dro project and I want to include a bluetooth tachometer on the mill. I can't seem to find out which parts I will need to accomplish this. Can you help? Thanks again very much

    7. Wow, this really rocks! Thanks for all the work you've done--it is a fantastic, genius project! Terrific instructions. My wife gave the parts to me as a Christmas present. As of this evening, all three axes are showing up on the TouchDRO android app! Next step, mounting the scales on the mill. Thanks so much for creating this useful and fun-to-construct application!


    8. Yuriy,
      I have finished the build but having issues where the the reading jumps randomly and is very erratic. The display on calliper is fine but the reading on DRO isn't correct or ever showing the correct reading. I have tried changing the CPI but doesn't seem to help. Scales are the chinese calliper type.


    9. Yuri,

      Thanks for the great work. It isn't really clear to me what the default baud rate of the serial port is.

      I have found a nice 7" tablet for $45 (At RadioShack of all places) that works great with a PL2303 dongle and an OTG connector, which, given the rf environment, is a big bonus.