Since I added a DRO to my mill I can't imagine how I lived without one for so long; it makes working on the mill so much easier and more efficie. Since you're reading this post, you are probably looking into building a DRO as well, and if you feel lost, you're not alone. Although I've been trying hard to keep the project as simple as possible, so it remain accessible to people with little or no experience with electronics or computers, it might seem a bit overwhelming.I this post I will provide a quick summary of the steps needed to get a DRO up and running with links to more information where appropriate.
Before going further, I'd like to clarify some things, so we are on the same page. First of all, Android DRO consists of three functional components:
- A free Android app called TouchDRO that provides the user interface similar to a commercial DRO unit
- A scale interface controller that reads the raw input from the scales and sends it to the app
- A set of scales/position encoders attached to the machine that provide the position to the controller
In order to obtain a working DRO setup you will need to purchase an Android device and a set of scales (if you don't already have them) and build a controller. The controller requires a very minimal amount of soldering. In my experience the process, start-to-finish, takes somewhere around 3-6 hours if things go as planned.
Step 1 - Select DRO Scales
At the time of this writing the project supports the several kinds of capacitive scales and quadrature encoders, such as:
- 21-bit scales,i.e. iGaging/AccuRemote/Shahe Remote DRO
- Sylvac 24 bit scales, AKA "Standard Chinese Scales
- iGaging "SPI" protocol used by iGaging AbsoluteDRO+
- Chinese calipers that use BIN6 protocol, i.e. common Harbor Freight digital calipers and alike
- Glass DRO Scales, such as Ditron, Easson, etc.
- Magnetic scales that provide quadrature signal
If you don’t already have a set of scales, selecting one should be your first step, since the type of scales you use will affect your choice if the controller etc. The two posts liked below provide more details on the important digital readout scale parameters and a give a brief comparison of different types of scales.
Step 2 - Build or Buy a Controller for the Scales
Once you've selected the scales, the next order of business is to build or buy a DRO scale controller, A.K.A. scale interface. Depending on the type of scales you've chosen, you can purchase a pre-assembled DRO adapter board or a DIY kit from the store, or build one from scratch. There are following purchase options:
- iGaging - supports 21-bit iGaging DigiMag, AccuRemove and Shahe scales, as well the new iGaging AbsoluteDRO Plus scales
- Quadrature - supports glass/magnetic scales and other quadrature encodes (double and single ended)
- Mixed Scale Kit - supports most common types of capacitive scales
The choice between scratch-built controller, DIY kit, and pre-assembled board comes down to your budget. Scratch-building a controller is less expensive and doesn't require extraordinary electronics skills. On the other hand, pre-assembled boards are more convenient and in the long run will be more stable and reliable. Functionally both versions Quardature and Mixed Scale firmware are identical. iGaging version has some board-specific tweaks, so it can read the scales faster. Electrically, pre-made boards are superior though, since the they are designed and laid out to be much more immune to shop noise. Furthermore, the quadrature controller, have proper input signal processing circuitry that follow scale manufacturers' specifications and is designed to work with single- and double-ended input signal.
If you are short on money and know how to solder and upload firmware, there are four DIY DRO controller versions to choose from:
- Arduino "Basic" version supports 21-bit scales
- MSP430 "Basic" version supports 21-bit scales
- MSP430 Mixed Scale version supports a mix of capacitive scales
- MSP430 Quadrature works with glass and magnetic scales (and other quadrature encoders)
Please note, I don't intend to continue any develop of the Arduino version of the controller, so for iGaging scales I recommend that you stick with MSP430 version of the controller
A comparison of the four DIY DRO controller versions is posted on the Android DRO project page. for more information, build instructions and firmware downloads follow the links to each individual controller’s page
- Arduino Basic DRO Controller
- MSP430 LaunchPad Basic DRO Controller
- MSP430 LaunchPad Mixed Scale DRO Controller
- MSP430 LaunchPad Quadrature DRO Controller
Please keep in mind that you will need to upload [flash] the firmware to the controller. The process can be a bit more challenging on non-Windows computers, though, so plan accordingly.
Optionally, once the controller is build and flashed, you can use a serial terminal app (such as BlueTerm, etc.) to make sure that the phone/table is receiving data stream from the controller. If everything goes well, you should see a string similar to the screenshot below.
Step 3 - Install the Scales
This step is pretty self-explanatory, and assuming that you were able to successfully finish all of the previous steps, shouldn't pose many headaches.
If you're using iGaging DigiMag or AccuRemote scales (or any other capacitve scales, for that matter), take a look at these two posts:
Step 4 - Install TouchDRO Application
TouchDRO is an Android application and will, quite obviously, require an Android device to run on. If you already have an Android tablet or a phone, please check the system requirements posted on the Android DRO Project page to make sure it will work with TouchDRO. If you don’t have one yet, the Project page has a list of suggested tablets as well.
The application is available as a free download from Google Play Store or from the DRO Project Downloads page. I strongly suggest that you use the former method, since the Play Store will automatically check system requirements and keep you up to date with updates. To install the application simply open the Play Store app on your device and search for "TouchDRO" (without quotes)
Step 5 - Perform the Initial Setup
If you're using BlueTooth to communicate with the controller, this is a good time to pair it to the phone/tablet.
At this point you should have a working scale interface controller and a phone or tablet with TouchDRO installed. Now it's time to perform a basic setup. At minimum, you should select the correct connection type, USB or BlueTooth, choose which axes you will be using and set the initial axis counts-per-inch values as described in the linked post. More detailed explanation of the settins is available on the TouchDRO Settings Overview page.
With the setup complete, connect to the controller and verify that the application is receiving data. If things are working correctly the application will connect to the controller and the title bar will display "TouchDRO - Connected" in green. If things went wrong somewhere, the app will either fail to connect altogether, or the title will be "TouchDRO - No Data" shown in orange font. The former indicates a failure to connect to the BlueTooth transceiver and the latter means that the connection was established but the app is not receiving valid data. After 30 second of no data the application will disconnect automatically to reduce battery consumption. More information on how to deal with those issues can be found in the "Troubleshooting Common DRO Connection Problems" post.
Step 6 - Calibrate the Scales
Finally we're in the home stretch. The DRO is set up, mounted and almost ready to go. In order to achieve best accuracy from your DRO setup you need to one last thing - calibrate your scales. The counts-per-inch values vary widely between different scale batches, and might not even be available for others. Moreover, you might've introduced some cosine error if the scales aren't absolutely parallel to the axis of travel, etc. The in-place calibration takes care of those issues. The process is described in detail in the "DRO Scale Calibration" post and should take only a few minutes.
Step 7 - Play With the DRO
Seriously, before using the DRO on an important workpiece, spend some time playing with it. There is a lot of features hiding behind the simple user interface, so poke around the screen a bit; you won't break the app by clicking the wrong thing. To find out how to use various TouchDRO functions please visit TouchDRO YouTube channel.
Putting a DIY DRO together pretty straightforward, but requires several steps. This post is just a brief summary, but it should give you an idea of the overall process. If you end up hitting a snag, please feel free to ask questions; I will try to help as much as I can.