TouchDRO Design Philosophy

TouchDRO is designed from the ground up to emulate a traditional Digital Readout console but do it in a more intuitive and streamlined way. Since Android hardware has factors of magnitude more processing power and non-volatile storage, TouchDRO can offer functionality far beyond the capabilities of a hardware-based DRO. As a result, some of the concepts and workflows used by TouchDRO differ from an old-school digital readout console.

While the basic digital readout functionality will look familiar and has a very flat learning curve, in order to maximize the utility of a TouchDRO setup, it's important to understand some of the underlying design decisions and idioms of the system. Below is a quick overview of the key concepts that will be covered in more detail throughout the TouchDRO user manual.

Separation of Concerns

A TouchDRO setup consists of two logical components:

Scale Interface Adapter

The system uses a discrete scale interface adapter that is responsible for collecting position data from the scales in real-time, converting it to normalized units, and sending them to the application. As long as the power is applied to the adapter, it will continue processing input from the scales and will keep track of the current position. Adapter hardware has power consumption on the order of 20 mA (which amounts to around 1 kilowatt of electricity in a year) so it can be left plugged in 24/7, thus offering the benefits of using absolute position encoders without the incurred cost.

TouchDRO Application

TouchDRO application receives the position data from the adapter, converts it to internal storage units, and displays it to the end-user. Since the application doesn't need to constantly respond to position input, it can allocate all of its resources to the user interface without fear of losing pulses. Furthermore, TouchDRO has access to large amounts of fast non-volatile storage and, therefore, is able to record its state changes to an internal database in real-time. As a result, the state is persisted across application’s restarts or power loss regardless of the elapsed time.


TouchDRO is designed to be a primarily wireless digital readout system that uses BlueTooth for transferring data between the scale adapter and the TouchDRO application. Bluetooth is a robust wireless technology designed specifically for the reliable transfer of data over short distances. In order to send and receive data, the devices need to be paired. Please refer to your tablet's manual if you're not familiar with this process. Once the adapter is paired to the tablet, TouchDRO will be able to connect to it by selecting the adapter from the device list.

TouchDRO supports USB connectivity with some UART-to-USB bridge models; USB connection doesn't involve pairing.

Logical Organization

Under the hood, TouchDRO uses a high-performance relational database engine to quickly write and retrieve information. This provides a flexible storage mechanism for working with the saved tools, stored sub-datums, etc. Consequently, TouchDRO handles and organizes persistent data differently from a traditional digital readout.


At the root of the TouchDRO logical organization is a concept of a Configuration. It can be thought of as a self-contained instance of TouchDRO that includes all of its settings, state, saved tools, sub-datums, etc. When you switch between configurations, TouchDRO will set aside the current state and load the setting, workspaces, sub-datums, and other data from the selected configuration as if you are using a different tablet. The application can have up to 10 different configuration banks, which allows it to be used with more than one machine and have different machines completely separated from each other.


Workspaces provide a logical grouping for sets of stored sub-datums. Since the sub-datum coordinates are stored in relation to the absolute origin, which is also stored within the active workspaces, TouchDRO provides the ability to work on and quickly switch between different machining setups.

Since workspaces are associated with a particular configuration bank, different machines can have access to different sets of stored sub-datums.

Saved Tools

Saved tools provide a way to quickly set tool radius compensation and height offset [on a milling machine] or x and z offsets [on a lathe] when indexable tool holders are used. Saved tools are linked to the active configuration bank, so different machines can have different saved tool lists.

Coordinate Systems and Datums

Most digital readout models have at least two coordinate systems - absolute and incremental. Likewise, TouchDRO supports those two systems but uses two additional coordinate systems for temporary sub-datum recall and tool offsets. This allows you to activate tool offset or recall a sub-datum and then easily restore to the previous absolute or incremental datum. This is done to facilitate and encourage the "work to zero" workflow where you set the axis dimension, so it displays the distance to a particular feature and then moves that axis until the display reads 0.

Safety Net

TouchDRO's user interface is designed to quickly perform routine actions and provide a level of "handholding" around changes that are hard to undo. Actions that are unsafe (from the user interface standpoint) require a second step confirmation. For instance, the application will ask you if you really want to clear all stored sub-datums from a workspace or delete the workspace. More drastic actions such as the deletion of a machine configuration will ask you to type a confirmation word. This approach ensures that you can use TouchDRO quickly and efficiently without worrying about damaging the data or creating unnecessary work for yourself.