TouchDRO 2.5 Release Notes

Saturday, August 13, 2016

I'm really excited to finally say that after many months of "Beta" testing, version 2.5 of TouchDRO has been released to "Production". Even though it didn't earn a full digit reales number of 3.0, this version encompasses a lot of major changes under the hood. Many of the changes were made in response to your feedback and requests, while others lay groundwork for future functionality, so let's take a look at the most noteworthy changes in the new version.

Layout View

TouchDRO Layout View takes advantage of Android screen
Layout View display workspace's points and current position

By far the biggest change in this version is the overhaul of the Layout View (AKA Workspace Preview). The view can be reached from the "Workspace Commands" menu (three dots next to the workspace name) and is designed to display the points in the workspace, current datum/zero point, and the position of the spindle. In this version you will be able to zoom and pan, as well select a point by tapping or by approaching it with the spindle. Additionally, the right side of the screen shows the smaller version of the readout screen with access to the settings from each axis (by tapping the readout) and three of the most common functions: units, mode and zero set. These features provide for a convenient way to work with complex layouts without needing to select a point manually, etc.

In the next version the Layout View will include the ability to display lines and arcs, so complex pockets or contours can be cut by manually moving X and Y axes.

Angular Axis Support

The "W" axis has undergone several changes. As you might recall, it has four display options: combined with one of the other three axes or display as the fourth linear axis. In this version of the app the readout is converted to common units and combined with the primary axis very early in the pipeline, providing for less rounding errors and a consistent way to set offsets. The last option changed from linear to angular mode. In this mode you can set the number of counts per revolution and the readout will be in degrees, wrapping around at 360 degrees, etc. In future version in angular mode the axis will have a dedicated function for gear cutting, etc.

I realize that getting rid of the stand-alone linear display is controversial, but the initial design was difficult to support and prone to subtle bugs. For those of you who have a mill with scales on the knee and the quill, combining the readout into a single number should work much better than displaying them separately.

Arbitrary Hole Circle

Arbitrary Hole Circle dialog

From time to time I find myself need to drill holes on a circle that are not equally spaced. In those cases I end up creating several circle segments with different offset angles, etc. Even when I don't mess that process up, it's still pretty tedious. The "Arbitrary Hole Circle" function solves the problem by letting you add holes one-at-a time by specifying the angular offset.

Per-Axis Unit Selection

DRO Screen showing axis details dialog
Inches or millimeters can be set per-axis in TouchDRO v2.5

It's often useful to have different units selected for different axes. In the new version of the app units can be set individually per axis from the axis settings dialog (accessible by tapping the axis readout).

Per-workspace Origin

Another subtle change is the way absolute origins are set. Under the hood the application has several datums (origins) per axis. Two most relevant datums are absolute and incremental origin. Incremental origin is set when you press "Zero Set" button or individually zero out an axis by long-pressing the "abs/incr" button. Absolute origin is originally (no pun intended) set to the machine 0 point and can be changed by long-pressing the "Zero Set" button. This datup is now stored with the workspace, so it's not lost when the application is restarted. Moreover, different workspace can have different origins. Since the points in the workspace are stored in relation to that origin, having it stored with the workspace will make storing and re-loading multiple layouts more convenient.

Workspace Export

Current workspace is exported to CSV

Apparently many people use TouchDRO as a data recording device or for digitizing 2D layouts, and being able to export the points as a .CSV file was frequently requested. The "Export Workspace" function is available from the "Workspace Commands" menu. The resulting file will be exported to the "TouchDRO" folder on the SD card using the default units (as set in the preferences).

In future versions I will add the ability to import points from .CSV file, and even a complete layout from JSON or G-Code.

Native Metric Mode

Version 2.0 kept track of the position as counts per Inch which worked well in inch mode but had small rounding errors in metric mode. In the new version the core of the application has been completely rewritten to use microns. Since microns translate easily to millimeters, as well as inches, metric mode is now a first-class citizen. Moreover, switching or re-calibrating scales will not throw off stored points, etc.

Performance Improvement and Bug Fixes

New versions of Android OS (5.x and 6.x) have much better BlueTooth API (programming interface). In order to take advantage of these change I've completely rewritten the communication layer, which will make BlueTooth connectivity much more stable and eliminate the minor compatibility issues that arose on the newer tablets. They should also cure the disconnect loop that could happen on some Asus and Lenovo tablets.

Application now "remembers" the last state (offsets, selected point, modes, units, etc.) and restore it even after being restarted.

There is a number of fixes of subtle point-related bugs that were caused by displaying fourth axis in stand-alone linear mode, especially when changing the settings for that axis.


  1. This comment has been removed by the author.

  2. Just got the my scales mounted on the mill and I've had a chance to play with it. Excellent so far. Took a little bit to figure out a few things but so far, I've been able to figure things out just by playing around with it. I'm very impressed with it so far. The one thing that I'd love to have is the ability to import a series of points into a workspace. (I see from above that this is planned -- I'm very much looking forward to seeing this feature.)