New Version of Android DRO Coming

Monday, February 25, 2013

This version of the application has been released quite some time ago. A new version of the Android DRO application is in the works, due to be released on or before August 10, 2013.

It's been more than two months since the initial release of my Android Digital Readout application Touch DRO. The first version was very basic, offering only a few functions commonly found on a digital caliper. After bit over two months of work I'm getting close to releasing a new version. The new version has a number of bug fixes and improvements, as well as some long overdue features, such as point memory, position preset and the so-called 1/2 function.

 

Point Memory

Point memory is probably the most significant of the new features. The DRO now has the ability to store and recall virtually unlimited number of points (well, limited by the amount of storage on the device). Borrowing from the commercial DRO's, the application uses the “work to zero” approach. The idea is pretty simple: you add a point to the list. At some later time you can recall the point, i.e. set the point as the “zero” and machine towards it. The readout will be shown relative to that points position. This is in fact identical to what happens when you zero-out the DRO using the “zero set” function.

On a larger tablet screen DRO Application shows the point list side-by-side with the readout.

To memorize a point, simply click the “add point” button, and it will appear in the points list with the next sequential number in the name (i.e. “Point 12” and so on). To recall a point, find and click it in the points list; if a point is no longer needed, swipe it to the right to remove it from the list. The point list will not be lost when the application is shut down, as they are persisted in a database on your device. In this version of the app there is only one list called “Default workspace”. In future (hopefully next version) there will be a way to have multiple workspaces.

Preset Dimension and 1/2 Function

In addition to manual dimension entry field,
the dialog offers "1/2" and "Invert" functions.

Ability to preset dimension and the so-called 1/2 Function have been on the top of the list of the most requested features. Being able to manually type a dimension makes locating features much easier, while the 1/2 function makes locating bore centers a breeze. To save some screen real estate I decided to forego adding another button; instead the readout text itself is now interactive. Clicking the readout brings up a simple dialog that will let you type a dimension. Long-pressing brings up the “advanced” dialog: in addition to the dimension entry field, there are two buttons: the “1/2” and “Invert” functions. The former will, well, divide the value in the text field in half, while the later will simply invert it.

Other Changes

While points list is the most prominent change in this version, there have been some changes to the rest of the user interface. Some came about because I needed to free-up some space for the points list, while others have been suggested by the users.

First and foremost the “inch/mm” button and the “zero set” buttons are now global. It appears that three (one per axis) “inch/mm” and “zero set” buttons were somewhat of a nuisance, so now there is a single button than toggles metric/imperial units for the whole workspace. Similarly, there is now a single “zero set”. Clicking the button zeroes out the DRO sets the current position as the “incremental” zero and switches all three axes to incremental mode (future readout will be shown in relation to the current position). Additionally, the button has a long-press function that will set the current point as the workspace's absolute origin. This function should be used when the workpiece needs to be relocated, etc. For example, you would start your work by setting one of the corners of the part as the origin, add some points etc. Later, if the part is moved, you'd simply locate the same corner, set it as the origin and the points will be translated to the new position. Since this function can “do damage”, a confirmation dialog appears before the origin is moved. It's still possible to zero-out single axis by long-pressing its absolute/incremental mode button.

On phone-sized devices the application uses the compact view.
The points list can be accessed from the drop down list in the "action bar".

Finally, the application uses different layout based on the screen size and OS version. Phones (and tablets using Android 3.0) use a simplified “readout” view and a separate points list view. Newer tablets show readout and points side-by-side and some buttons are at the bottom of the screen. Furthermore, on newer tablets there is a global mode button that toggles the incremental mode for all three axes.

This is about it when it comes to the user interface, as most of the major changes in this version are in the “bowels” of the application. Most don't have much effect on the application's functionality [yet], but provide groundwork for more functionality in the next version. Never the less I hope the changes will make the application a bit more usable and useful.

Last, but not least, I would like to thank everyone for your feedback. Obviously it's nice to get “positive reinforcement”, but even more important are your suggestions and constructive criticism, as they help me make the application better. If you can think of a feature or an improvement, please don't hesitate to comment on the blog or send me an email. I will be sincerely appreciated...

Although I won't publish it to the market for another week or two, I think it's stable enough for “public alpha”. The APK file is available here: files.yuriystoys.com/dro/TouchDROHD_0.2.0.apk . Please feel free to try it out and send your feedback.

34 comments :

  1. Saw your posts over on ProjectsInMetal dot com - awesome job!

    ReplyDelete
  2. Yuriy,
    Fantastic work! I am completely new to Eclipse and Java. I managed to get everything set up in the environment, and import the code. I get two errors from Eclipse:

    PreferenceFragment cannot be resolved to a type.
    R cannot be resolved to a variable.

    Do you have suggestions for resolving these? Not sure why it would not be seeing them.
    Thank you.
    Jim

    ReplyDelete
  3. Hi I have a proscan 10" tablit it does not have bluetooth but it does have 2 usb ports is there a way to use your DRO app through USB

    ReplyDelete
    Replies
    1. Right now the app only works with BlueTooth connections but I'm adding USB support to the next version.

      Thank you
      Yuriy

      Delete
  4. Yuri,

    Great work ! A suggestion as far as additional functionality : How about tool off-sets ? That way you select a pre-defined tool and yuor off-set (half the diameter) is automatically compensated for (useful if your swapping edge finders and cutters often)

    Thanks,

    Shaun

    ReplyDelete
    Replies
    1. Shaun,
      Thank you for the suggestion. I will be adding some functions for the next version, and this looks like a good candidate.

      Regards
      Yuriy

      Delete
  5. This is a very interesting project. I am currently using the scales froom Grizle. I use the Fraction feature. How hard would that be to add to the readout.

    Thanks
    Frank

    ReplyDelete
    Replies
    1. Frank,
      Probably not too bad. I will look into it, as it might be useful for other people as well.

      Thank you
      Yuriy

      Delete
    2. Thank you. My setup is used for Drilling Bowling Balls and all of the measurements we use are fractions.

      Delete
  6. Great project! I'm looking forward to the usb version (no BT available here...).
    Second wish: a radius/diameter selection for the cross slide. That would be real cool (and I think pretty easy to program??)

    ReplyDelete
    Replies
    1. Thank you,
      I'm still working on the USB version (some things got in the way), so that should be available pretty soon, hopefully.
      I think I will branch off into a "Lathe" version of the application. A lot of things that are useful on a mill are worthless on a lathe, such as hole patterns, tool offsets etc. On the other hand I want to have radius/diameter, compound angle compensation (for threading, for example), tachometer and surface speeds calculations.

      Thank you
      Yuriy

      Delete
  7. I was trying to install this on my Nook color with Cyanogen Mod 7

    would i need to upgrade to 9 or 10 to get this to work?

    ReplyDelete
    Replies
    1. Craig,
      The current version requires at least CM9. I'm running one of early builds and for the DRO it's fast and stable enough, but lags pretty bad for anything more than reading e-books...

      Thank you
      Yuriy

      Delete
  8. This comment has been removed by the author.

    ReplyDelete
  9. I don't like posting this because it feels like complaining. I just wanted to report that with a 4" or smaller screen you simply lose the "inch/mm", "zero set", and "add point" buttons. I assume it's because it doesn't have enough screen real estate to display everything, so it just drops them.

    If it's easy, it would be kind of nice to have that fixed, just because most people have old phone lying around which could be used, and Android DRO even on a small screen is a lot better than using the iGaging displays.

    ReplyDelete
    Replies
    1. For the record, I was able to download the source code and modify it with Eclipse and got it to work on the 4" screen. In case it helps someone else, you need to import the project into Eclipse, fix the broken link in the build path, add "Android 4.2.2" and "Android Private Libraries" to your build path, and then drill down to res>values>dimens.xml and change "font_lcd" from 100dp to 70dp.

      Delete
    2. Zoltan,
      Thank you very much for feedback. I will add a smaller layout into the next release so it works on a 4" screen (the smallest device I own is 4.3", so I didn't get a chance to properly test on a physical 4" device).
      Oh, and your "complaining" is greatly appreciated :)

      Thank you
      Yuriy

      Delete
  10. How do the iGaging scales plug into the arduino? What part number are you using for the female ports to connect the mini USB male connectors on the igaging scales? Is there a post showing the physical connections of the uno and the bluetooth adapter and the scales that I missed? Thank you for this project. Just bought a 9.7 insignia tablet with bluetooth and sdcard slot for this project and a 36 and 12 igaging scale for a new to me atlas craftsman commercial 12 lathe.

    ReplyDelete
    Replies
    1. Mikie,
      I've used several methods, ranging from simply cutting off the connector and soldering the wires to the board to using 4-pin Mini-DIN (commonly used for S-Video) or molex connectors. As long as you get the right lines to the right pins and can ensure a good connection, you should be fine.
      I am building a unit right now (to troubleshoot a an issue discovered by a redear) and I'll post detailed pictures later this week.

      BTW, once I get some free time (hopefully soon) I will be posting a "lathe" version of the app, so if you have any feedback/suggestions, I'd really appreciate them.

      Delete
  11. Feature Request:
    It would be nice to reduce the resolution from 0.0001" to 0.001". The iGaging scales are only capable of 0.001" resolution anyway, so the last digit just adds useless information to the display.

    ReplyDelete
  12. All I can say is this is awesome! Thank you for the work you put into this! I am going to use this in the near future! As soon as money allows the purchase of the hardware.

    ReplyDelete
    Replies
    1. Thank you.
      I suggest that you hold off for a few weeks :). I'm working on a new controller that will work with cheap calipers (and eventually glass scales, when I get my hands on a set that I can test with).

      Delete
  13. Great job! Will this work with the other type of iGaging DROs (AccuRemote) available at Grizzly? I believe they have better accuracy:

    http://www.grizzly.com/products/12-Stainless-Steel-Remote-Digital-Readout/T24361

    Thanks.

    ReplyDelete
    Replies
    1. Honestly, I don't know. It depends on the protocol, and given that both versions are made by the same company there is pretty good chance it will.

      Thank you
      Yuriy

      Delete
    2. Is there any way to check the protocol of the scales we will be using to make sure it is compatible with your DRO plans before buying the components?

      Thanks.

      Delete
    3. The Arduino version supports only the iGaging "Remote Magnetic DRO" scales. As far as I know no other manufacturer uses the same protocol. With iGaging it's a fairly safe bet that the protocol is the same but I don't have a way to confirm it. I tried calling iGaging and the guy I talked to wasn't willing to "divulge" the protocol.
      If you can wait for a week - I'm almost done with new MSP430 Launchpad controller that will read most of the common scales. If things test out well it will be ready by early next week.

      Thank you
      Yuriy

      Delete
  14. A USB version would be nice!
    Keep up the Good Work!

    ReplyDelete
  15. Yuri
    Cheap grizzly scales don't cut it for accurate work. Any hope for a version that works with proper glass DRO scales?
    Like the idea otherwise

    Regards
    Randy

    ReplyDelete
    Replies
    1. Randy,
      I've been wanting to experiment with glass scales but they are pretty expensive (and I don't have the budget right now :( ). I can get by with iGaging scales for the work I do, so I don't have a pressing need either.
      On the other hand, if a set landed at my front door, I wouldn't mind giving it a try ;)

      Thank you
      Yuriy

      Delete
    2. If you want your product to grow, it has to work with professional grade scales (magnetic or glass) or it will be a toy. People are not going to spend $500 on a DRO that relies on scales intended for woodworking. Instead of complaining about the price why not reinvest some of the proceeds into new R&D?

      Delete
    3. Well, this is not a "product"; it's a hobby project, intended to address my needs for a DRO. I shared it because there appears to be a lot of demand in the community for an inexpensive digital readout. I don't make any money on it and don't foresee making money any time soon.
      Please keep in mind that every aspect of the project (code/hardware design/protocol spec etc.) is posted either here or on Bitbucket and all of the code is released under GPL. If someone wants to develop a controller that will interface with glass or magnetic scales I will gladly host the code or link to the authors site/repository.
      Alternatively if someone wants to lend or donate a set of scales I will gladly spend the time designing the controller and posting it here. Other than that I can't really help you much as I can't justify spending $500 or more for a set of glass scales that I don't need at this point. There is a good chance I will use glass scales at some point in the future...

      Thank you
      Yuriy

      Delete
  16. Very nice app - even in alpha state! Thank you!
    I'll be trying to build the interface for my mill shortly.
    I find even on a 7" display (4:3) there is plenty of space to make the scales a little smaller and add a 4th dispaly line.
    Would you be interested in adding that option - for a tacho readout with the option to add a diameter and display either rpm or surface speed (in ft/min or m/sec)? I'd like that!
    Cheers,
    Joe

    ReplyDelete
    Replies
    1. Joe,
      A tachometer is on the list, but before I can get there I need to finish a few things. I don't really know when it's coming but it definitely IS coming.

      Thank you
      Yuriy

      Delete
  17. Yuri

    I'm just a simple trucker in Calif. with no real knowledge of how any of this works but so far since I bought a Viewsonic 10" gTablet on Sat off CL for $100 and upgraded thru Team DRH to Jellybean 4.1.1 and then
    put your APK file on it and it loaded I'm so jazzed looking forward to updates and a lathe app would be awesome too . Thanks your the man!!!

    Bobby

    ReplyDelete