DRO Project Roadmap for Early 2014

Sunday, January 5, 2014

Well, first of all, Happy New Year! I hope 2014 will be a great year for everyone. There is a lot of stuff in the pipeline for the Android DRO project for the 2014, including a new version of the TouchDRO application, new MSP430 Launchpad controller firmware and better documentation among other things. Now that I’m back from the holiday vacation, I’m ready to start tackling my “to-do” list.

New Version of The Application

It’s been a while since the last version of the Touch DRO Android application. During that time I’ve been working on a number of new features and enhancements. There are still some things up in the air, but the following features will be likely included:

Tachometer Display

Support for a tachometer has been consistently in the top three most common feature requests. By itself a tachometer is only marginally useful but it will serve as a stepping stone for a number of new functions. The next version of the TouchDRO there will be an option to enable tachometer output, which will appear below the other axes on screen.

By popular demand, TouchDRO will support RPM display

Multiple Machine Support

A number of users (including myself) are using one tablet with multiple machines. This doesn’t pose any problems when the machines use the same scales mounted in the same directions, etc. Once you have different scales on different machines, though, the experience becomes rather suboptimal. In my case the lathe is equipped with a set of iGaging scales, while the mill’s DRO is now converted to glass scales. Every time I wanted to switch between the machines I needed to go to the settings and change the “counts per inch” to make the DRO work accurately. In the upcoming version I added a concept of “preference banks”, enabling a user to switch between up to 10 sets of preferences. I.e. you’d be able to have one set of values for a lathe, another for a mill, and switch between them by selecting the appropriate “bank” from a dropdown.

The application supports up to 10 preference banks

Configurable User Interface

So far the DRO application has been tailored for a mill. While it would work for a lathe, many of the user interface elements don’t work very well. For example, hole pattern/hole circle functions make no sense on a lathe; tool offset function is counter-intuitive; Z axis is seldom used and simply takes up space. On top of that, with the tachometer support many lathe-specific functions can be created. Rather than having a separate version of the application I decided to overhaul the way the UI is implemented and make it more flexible. There is a number of new settings that will let you control the appearance of the application. In addition to showing/hiding the Z, W and RPM outputs you will be able to specify the machine type, which will determine what function buttons are visible and how the points list and the workspace preview appear. Finally, there are now three different fonts you can select for the display: “classic” 7-segment LCD font, generic monospace font and the default system font.

The user interface is much more configurable

Enhancements and Tentative Features

The above features are [almost] done and I’ve been testing them in the garage for some time now. In addition, I’ve been working on a number of features that might need to wait till the next version. This includes things like tool library, feed rate display and a number of lathe-specific functions. In addition to the new features there is a number of performance improvements, enhancements to the way the user interface scales to different screen sizes, a few bug fixes, etc. Finally, the readout refresh rate is about four times faster, so with fast scales there should be no perceivable lag; for slower scales the lag will be less pronounced.

New Controller Firmware

My intent behind the “Universal” version of the MSP430 firmware was to support a mix of capacitive scales and quadrature encoders. I wasn’t able to finish it yet due to some technical issues with reliable auto-detection of quadrature protocol. As a short-term solution I released two distinct version of the firmware, one that only works with quadrature encoders and another for capacitive scales. Ideally, I’d like to have a single, truly universal version, so I’m going to continue working towards that goal. Additionally, I will try to add tachometer input as soon as possible, at least to the MPS430 Launchpad versions of the controller. If the time permits, I might add it to the Arduino sketch as well. On top of that want to add support for touch probe/edge detector.

User Guide

According to the stats I get from the Play Store’s “Developer Console” there have been over 4700 downloads of the application and over 1000 people are actively using it. With that many users the number of emails I get per day is getting to be pretty large. I’m still trying my best to answer them in a timely manner but it’s getting to a point where I soon won’t be able to do that. Based on the patterns I’m seeing, many of the questions arise from the fact that there is no proper user guide and most of the information is scattered all over the blog. For the new version of the app I started recording some “how-to” videos and will intend to start working on a proper user guide.

Prefabricated Controller Board

Since a lot of the “target audience” for the Android DRO have little or no electronic assembly experience, I get a lot of emails from people asking if I could build a unit for them. My hope was that as the project grows more popular, someone would start offering a custom PCB or a kit. So far that hasn’t materialized, unfortunately. As the number of users keeps growing, I think it makes sense to design a custom PCB, so building a controller would be a bit easier. I haven’t thought it through completely, though. I doubt it will be economical for the users to order boards one-at-a-time. On the other hand I don’t want to go into the business of selling the boards (because I don’t want to run a perfectly good hobby). No matter what I will design the board and order a few test units and go from there.


The upcoming version of the application, new controller firmware and the documentation update will likely keep me busy for at least the first quarter. I know from experience that after the release I will get a ton of ideas for new features and enhancements from the community, so I doubt that I will run out of work. Overall, I’m hoping for an exciting year for the DRO project, so stay tuned.

Finally, special shout out to Arno Dabekaussen for his great contribution to the project that included a fix for a few bugs, a number of great ideas for the new version, and a version of MSP430 controller (that I will publish as soon as the time permits).


  1. Good morning Yuriy and happy new year.
    Thank you for your effort on this project. I m very happy to see the donation button.

    1. Yeah, I knew he would get greedy and start asking for money. Give it a few months and he will start selling the application. Why else would anyone go to all this trouble with running a blog? You people would be better off just buying a DRO from a reputable source.

    2. That's original!!!! Hidden behind anonymity, flaming, insulting.
      Why are you here? you already bought yourself a DRO from a reputable source.
      No one asking you money. How smart must be to understand that?
      If you read the blog you will see that many times people have asked to contribute to this project with donations.
      Yuri repeatedly refused.
      If you read this post he doesn't want to start selling boards hopping someone else will does.
      I m just a hobby machinist and i can't help with the program. I can only point some issues or beta test. And if my donation (do you understand the difference DONATION-PAYMENT?) will help to keep this thing going i would gladly offer.
      Oh... and i can only perceive good things when i see them.
      Kind Regards

    3. Anonymous,
      First of all, I am not going to start selling the application. The project is open source and I can't roll that back (the code is "out there" and so is the compiled version). DRO is my hobby project and I intend to keep it that way. I added donation button because the expenses of running this blog are stretching my hobby budget a bit too thin. The common way site owners pay for the hosting etc. is through ads etc. You might've noticed that there are no ads on my blog. By asking for donations I'm giving you a choice: you might choose to donate a few bucks or ignore the button altogether; if I had ads they would be much more in your face, I think.
      Second of all, if you can afford a DRO "from a reputable source", by all means go for it. Again, you have choices there. TouchDRO is just another option that you are free to ignore.
      Finally, I go to "all this trouble" because it's a lot of fun. Believe it or not, I actually enjoy working on the project(s) and sharing them with the community. I learned everything I know about hobby machining because someone else felt compelled to share their experience and now it's my turn to return the favor.

    4. Expenses? Oh, really? I wonder what they are, because you host your blog on Blogger, which is free. I looks more like you want your naive followers to pay for your hobby.

    5. Well, you're right, Blogger is free but the file hosting ("Downloads" section) costs money, as does source control; Google charges me for posting the TouchDRO app to their Play Store.
      On top of that, a lot of stuff I do for the blog is pretty much useless to me. I need only two DRO controller: one for the mill and one for the lathe. I have both wired up and working for my needs.
      In process of writing the build instructions and troubleshooting the issues people email me about, I had to build another six controllers. Between the three Arduinos, two shields, two LaunchPads, several prototyping boards, several packs of resistors, half a dozen different bluetooth and usb modules etc., the costs quickly add up. To test the "mixed scale" controller (which I will never use, by the way) set me back close to $300 in scales alone (I needed to buy four "Chinese" scales and four calipers in addition to several units people sent to me).
      Similarly, I already have a working tachometer on my lathe (got it from a scrap piece of equipment at work several years ago). No one building this DRO will be able to afford that tachometer, so I will need to start from scratch and design something that people can build easily and cheaply. For that I will need to buy boards, sensors, resistors, etc.
      My tablet runs on Android 4.1. The newest tablets that people are buying come with Android 4.4. Guess what, I will need to fork out $200+ to get a test tablet so I can troubleshoot any issues that they see.
      I'm sorry that it bothers you, but I don't think I'm being unreasonable anyone by asking to pitch in a few bucks. Whatever money I get will go right back into the project in a form of new test hardware, etc.


    6. Don't bother with that guy Yuriy, he must had not slept well last night and her wife must divorced him because he was nagging too much!
      Keep working at this perfect project and don't pay attention to the heaters. Who knows, maybe he comes from a dro company and he just feels jealous that simple civilians like us, have at our hands a perfect dro system with touch screen and all that comforts! Hehehe 8-)
      By the way, happy new year and thanks for this great and easy-to-do project.


    7. Yuiry I for one truly appreciate all you have done. I have a version based on the TI board up and running. I need to mount another i Gaging scale scale mounted for the Y but I have hooked the scales up and everything works. I love it and wish you could punt the complainer out out. One thing I will have to add is the battery backup. If you came up with board design that worked I would consider helping fronting with a large order and distribution. Garry

    8. OK, I tried to be openminded. I downloaded your app and tried using it. What a disappointment. Now I know why it's "free". Too bad Play Store only lets me go down to one star. I woulda left you zero stars.

    9. Just curious, did you actually connect it to something or did you "try using it" without any scales? :)

    10. Yuriy, After reading this series of exchanges I must really applaud your patience and respect to someone who has not earned either. I am also grateful to your dedication, perseverance and contributions to this great project and am happy to contribute to the effort.

  2. Hi Yuriy.
    As I don't live at US and by searching for igaging scales I found that I can't afford them because of it's cost with the shipping and customs, I found this page that explains how you can use a simple encoder from old printers, for dro systems. This guy has hide under the cross slide, the long encoder's tape of a printer and he made it work.
    If you have time, please have a look at those pictures, as it seems a nice alternative with high accuracy results too..

    1. Arvacon,
      This is REALLY cool. I had an old printer in the garage that had an encoder strip. I'm surprised at the resolution: I got 960 pulses per inch (per channel), so the resolution can be close to 4000 counts per inch. I don't know how dimensionally stable mylar is, but for the cost it should be great.
      BTW, this should just plug into the "quadrature" version of the firmware (via the voltage shifter board); the comparators will take care of converting the sine wave into a nice square form.

    2. Wow, that's great news then! So only think I need is just to connect them to that board and it will work?
      If I remember well, that guy writes that you can also put 2 encoders to every strip, to make it more accurate, but I don't know if this could work with your board too.
      I have several old printers, so when I will make it to collect all the parts for the dro, I will try this.
      If you want to find old printers, go to a pc repair store, they giving them for recycling most of times, so you will get as many as you need. At least that's what I did at my place, as I was needing an encoder for my lathe.

  3. Yuriy
    Will the MSP-EXP430F5529LP witch has intagrated USB 2.0 work with your app I do not have bluetouth on my taglet

  4. Hi Yuriy
    I have the Igaging digital scales and I would like to power them with a transformer instead of the 2 batteries. Can you suggest something.
    Thx in advance

  5. Hi Yuriy, curious where the tach will connect? What conditioning circuit components are required?
    Thank you