Connecting To TouchDRO Scale Adapter
TouchDRO application supports BlueTooth and USB connectivity for the scale adapters. Presently, the premade scale adapters use BlueTooth Classic connectivity, while a DIY adapter can be built with either a BlueTooth transceiver or a compatible USB adapter.
User Interface Overview
The "Connect" button icon is located in the upper right corner of the screen. Depending on the selected connection type, it will show either the BlueTooth symbol or the USB symbol.
Connection type can be chosen on the main TouchDRO setting screen by toggling the "Use USB Connection" setting. The default state is "off", which means that the application will use BlueTooth.
The icon can be in one of three states depending on the current connection status as shown below:
BlueTooth | USB | State | Description |
---|---|---|---|
Disconnected | The application is not connected to the scale adapter | ||
Connecting | The application is trying to establish connection to the scale adapter | ||
Connected | A connection has been established and the application is receiving position data |
NOTE: In addition to the icon button state, grayed out readout digits indicate that the application is not receiving position data; green or amber color indicates that the application is receiving position data for the given axis.
- Tapping the button while it's in "Disconnected" state will bring up the Device Selection dialog, where you can choose to which device the application should connect.
- Tapping the button while it's in "Connecting" or "Connected" state will close the connection.
BlueTooth Connection
BlueTooth is the default connection method for the TouchDRO application. Although there is no further configuration needed within the application, the adapter must be paired with your Android device before use. The process might vary slightly depending on the Android OS version and device manufacturer, but in general, it consists of the following steps:
- From the top of the screen, swipe down once
- Long-press the BlueTooth connection button. This will bring up the BlueTooth settings page
- If needed, turn BlueTooth on (it is usually on by default)
- If needed, press the "Scan" button (in most cases the page will open and start scanning automatically)
- Wait for the TouchDRO adapter to appear in the list of Available Devices
- New ESP32-based boards will appear as "TouchDRO"
- Older boards and DIY kits will appear as "HC-05"
- Tap on the relevant entry in the list.
- The device will switch to "Pairing" mode and a dialog asking for a pass code will appear
- Enter "1234" (without quotes) and press "Enter" (the button text might differ on different devices/OS version)
If the parking fails, make sure that you are selecting the correct device, and the adapter is powered up using a correct power supply.
If the pairing is successful, the new device will appear in the top part of the screen on the list of paired devices. Press the "Back" button to go to the main screen and open the TouchDRO application.
- In the top-right corner of the screen you will see a white BlueTooth icon; tap it once.
- This will bring up the "Select a Device" dialog that should now show the TouchDRO adapter you paired in the previous step.
- Tap on the device name to connect to it.
The icon will switch to the "Connecting" animation as the application tries to establish a connection with the BlueTooth transceiver. If the connection is successful, the icon will switch to a solid blue "Connected" mode and the application will play a chime.
Note: if your tablet is running a newer version of Android OS, the application will ask for permission to access the BlueTooth controller. In such case, unless you grant the permissions, the application will not be able to connect to the adapter or receive position data.
To disconnect from the adapter, tap the connection button. The application will close the connection. It will beep four times and the icon will switch back to "Disconnected" mode (white BlueTooth icon)
If the connection fails, please refer to the "When Things go Wrong" section further down this page.
USB Connection
Supported USB Adapters
TouchDRO application can connect to a scale adapter using a USB-to-Serial bridge. There are a number of different options that include dedicated hardware devices, as well as some common microcontrollers running special firmware that emulates the "USB composite communication class" (AKA "USB CDC Class"). Unfortunately, most Android devices lack standard CDC drivers, so the implementation is left to the application developers. Consequently, the list of devices supported by TouchDRO is relatively limited and includes:
- FTDI FT232R, FT232H, FT2232H, FT4232H, FT230X, FT231X, FT234XD
- Prolific PL2303
- Silabs CP210x devices
- Arduino devices that use the ATmega32U4 MCU for USB-to-Serial Bridge (with CDC/ACM Protocol)
TouchDRO Configuration
In order to connect to a USB adapter, TouchDRO needs to be configured for USB connection mode. The setting is accessible on the main Application Settings page that is accessible from the left "drawer" menu.
There are two settings that need to be changed:
- "Use USB Connection" should be turned on
- USB Baud Rate needs to be set to match the BAUD rate defined in the microcontroller firmware.
Once you go back to the main screen, you will notice that the connection icon now shows a white USB symbol. You can now connect your USB adapter to the tablet using a compatible USB cable.
- Tap the "Connect" icon button (white USB symbol in the upper-right corner of the screen)
- "Select a Device" dialog will display the list of connected compatible USB devices, as shown below.
- Tap on the desired device to connect to it.
- If your tablet is running a newer version of the OS, you might see a dialog asking for permission to access the USB device. Please grant the permission, or TouchDRO will not be able to establish a connection.
The connection icon will switch to the "Connecting" animation while the application is trying to establish a connection with the adapter. Once the connection is successful, the icon will switch to the "Connected" mode showing a green USB symbol and the app will play a chime.
To disconnect from the adapter, tap the connection button. The application will close the connection. It will beep four times and the icon will switch back to "Disconnected" mode (white USB icon)
When Things go Wrong
No BlueTooth Devices in The List
The "Select a Device" dialog list is empty or the TouchDRO adapter does not appear on the list
This happens when the adapter is not paired with your Android device. Please refer to the steps outlined at the start of this page.
No USB Devices
TouchDRO supports only a limited number of devices. If the application can't find any compatible USB devices, it will show an error dialog similar to the one shown below.
If your device is plugged in and is working correctly but TouchDRO can't find it, it usually means that the device is not compatible. It could be using a different USB device driver or the vendor/device IDs are not allowlisted.
Connection Failed
The application shows "Connecting" icon animation for several seconds but then drops the connection and shows the dialog below.
This occurs when TouchDRO is unable to establish even a low level connection to the adapter. There are a few possible reasons:
- TouchDRO adapter is turned off. Please ensure that it's plugged in and the power indicator light shows that the adapter is running. Please refer to the documentation for your adapter for the correct behavior of the power and/or heartbeat LED.
- BlueTooth transceiver is not powered up or is faulty. This applies only to adapters that use a separate HC-05 module; ESP32-based adapters use an integrated BlueTooth transceiver.
- TouchDRO adapter is too far from the tablet (BlueTooth has an effective range of about 30 feet/10 meters) or is behind a metal object that is blocking line-of-sight to the tablet.
Connection Timed Out
The application shows the "Connecting" icon for several seconds but then drops the connection and shows a dialog similar to the one below.
This usually means that the application was able to establish a low level connection with the BlueTooth transceiver or USB bridge, but did not receive any position data. The main two causes are:
- The main microcontroller is not running. Please ensure that the heartbeat LED is blinking as expected for the given firmware version.
- Incorrect wiring between the microcontroller and the communication chip. Please note that the Rx line should connect to the Tx line and vice versa, not Tx-to-Tx, Rx-to-Rx.
Note that this should not happen to the ESP32-based boards, since they use an integrated BlueTooth chip that can not run independently of the main code.
Data Stream Stopped
The readouts switch to gray and after a few seconds the application closes the connection, beeps four times and shows a dialog similar to the one below.
There are two common causes for this error:
- TouchDRO adapter loses power or is reset, leading to dropped connection. Ensure that the adapter is plugged in securely and the power supply is rated for the correct voltage and current.
- The microcontroller stopped communicating with the discrete USB bridge or BlueTooth transceiver. This can be either due to a loss of physical connection or a problem with the main processor. (this can not occur with the new ESP32-based adapters since they use an integrated transceiver)
Connection Lost
The application abruptly switches from "Connected" to "Disconnected" state and shows the dialog shown below.
This can happen when the connection to the scale adapter is abruptly lost. Most commonly this happens when the USB device is unplugged or powered down without first disconnecting the TouchDRO application.