contained in this document before using this product.
The information in this document is subject to change without notice. No part of this document may be reproduced or
transmitted in any form or by any means, electronic or mechanical, for any purpose, without the express written permission
of 3M Touch Systems. 3M may have patents or pending patent applications, trademarks, copyrights, or other intellectual
property rights covering subject matter in this document. The furnishing of this document does not give you license to these
patents, trademarks, copyrights, or other intellectual property except as expressly provided in any written license agreement
from 3M Touch Systems.
The information provided in this document is intended only as a guide. For the latest detailed engineering specifications,
please contact your 3M Touch Systems Application Engineer. 3M Touch Systems is committed to continually improving
product designs, as a result, product specifications may be subject to change without notification.
NOTICE: Given the variety of factors that can affect the use and performance of a 3M Touch Systems Product (the
“Product”), including that solid state equipment has operation characteristics different from electromechanical equipment,
some of which factors are uniquely within User’s knowledge and control, it is essential that User evaluate the 3M Touch
Systems Product and software to determine whether it is suitable for User’s particular purpose and suitable for User’s method
of application. 3M Touch Systems’ statements, engineering/technical information, and recommendations are provided for
User’s convenience, but their accuracy or completeness is not warranted. 3M Touch Systems products and software are not
specifically designed for use in medical devices as defined by United States federal law. 3M Touch Systems products and
software should not be used in such applications without 3M Touch Systems’ express written consent. User should contact
its sales representative if User’s opportunity involves a medical device application.
IMPORTANT NOTICE TO PURCHASER: Specifications are subject to change without notice. These 3M Touch
Systems’ Products and software are warranted to meet their published specifications from the date of shipment and for the
period stated in the specification. 3M Touch Systems makes no additional warranties, express or implied, inc l uding but not limited to any implied warranties of merchantability or fitness for a particular purpose. User is responsible for
determining whether the 3M Touch Systems Products and software are fit for User’s particular purpose and suitable for its
method of production, including intellectual property liability for User's application. If the Product, software or software
media is proven not to have met 3M Touch Systems’ warranty, then 3M Touch Systems’ sole obligation and User’s and
Purchaser’s exclusive remedy, will be, at 3M Touch Systems’ option, to repair or replace that Product quantity or software
media or to refund its purchase price. 3M Touch Systems has no obligation under 3M Touch Systems’ warranty for any
Product, software or software media that has been modified or damaged through misuse, accident, neglect, or subsequent
manufacturing operations or assemblies by anyone other than 3M Touch Systems. 3M Touch Systems shall not be liable in
any action against it in any way related to the Products or software for any loss or damages, whether non-specified
direct, indirect, special, incidental or consequential (including downtime, loss of profits or goodwill) regardless of the
legal theory asserted.
Document Title: SC500 USB Resistive Controller Reference Guide
Document Number: 19-275, Version 1.0
MicroTouch, the MicroTouch logo, and ClearTek are either registered trademarks or trademarks of 3M in the United States
and/or other countries.
IBM is a registered trademark of International Business Machines Incorporated.
Microsoft, Windows, and Windows NT are registered trademarks or trademarks of Microsoft Corporation.
All other trademarks are the property of their respective owners.
3M Touch Systems Proprietary Information
Contents
Overview
What You Need to Know......................................................................................5
Important Safety Information................................................................................ 5
3M Touch Systems Support Services ...................................................................6
3M Touch Systems Worldwide Offices................................................................ 7
Chapter 1 Integrating the SC500 USB Controller
Overview of the SC500 Touch Screen Controller ................................................ 9
Handling and ESD Protection............................................................................. 10
Establishing the Data Connection.......................................................................10
Mounting the Controller...................................................................................... 11
Supplying Power to the Controller...................................................................... 11
Mounting the Touch Screen................................................................................ 12
3M Touch Systems offers several advanced controllers designed for reliability and
easy installation. Each controller provides superior performance and delivers excellent
stability, sensitivity, accuracy, and fast response.
This reference manual, directed to developers of touch screen systems, provides
installation and configuration information for the small outline 3M Touch Systems
SC500 USB touch screen controller. This document includes information on
integrating the SC500 USB controller into your design, communicating with the
controller and troubleshooting setup problems. It also includes a complete description
of the firmware commands, a guide to interpreting status LED conditions, and
controller specifications.
What You Need to Know
This document assumes you are familiar with USB commands and how to use them.
Executing some commands may alter the performance of your touch product. You
should be aware of the results of using these commands before executing them.
Important Safety Information
Read and understand all safety information before using this product. Follow all
instructions marked on the product and described in this document. Pay close
attention to the following installation warnings and safety precautions.
Intended Use
The SC500 USB controller was designed to enable touch in conjunction with other
3M Touch Systems products. This controller is not designed for use in hazardous
locations.
WARNING
To avoid the risk of fire and/or explosion which could result in serious injury or
property damage:
Do not install or use this product in a hazardous location.
Do not use this product in any outdoor environment unless NEMA standards are
followed.
3M Touch Systems Proprietary Information
6 SC500 USB Controller Reference Guide
CAUTION
To reduce the risks associated with the improper disposal of the controller board,
which if not avoided may result in minor or moderate injury from ground water
contamination:
• Dispose of the controller board in accordance with local, state and federal regulations.
Explanation of Symbols
Attention: Read accompanying documentation
3M Touch Systems Support Services
3M Touch Systems provides extensive support services through our website and
technical support organization. Visit the 3M Touch Systems website at
http://www.3mtouch.com/
drivers, obtain regularly updated technical documentation on 3M Touch Systems
products, and learn more about our company.
Note that if you purchased this product from another company, contact them before
contacting 3M Touch Systems.
, where you can download touch screen software and
Whenever you contact Technical Support, please provide the following information
(if applicable):
• Part number and serial number from your touch system
• Current driver version
• Operating system used
• Information on additional peripherals
Technical Support is available Monday through Friday 8 a.m. to 8 p.m. US Eastern
Standard Time – 9 a.m. to 5 p.m. throughout Europe. Limited call back service
Saturdays and Sundays.
You can contact 3M Touch Systems Technical Support (US only -- Eastern Standard
Time) by calling the hot line, sending email or sending a fax.
• Technical Support Hot Line: 978-659-9200
• Technical Support Fax: 978-659-9400
• Toll Free: 1-866-407-6666
• Email: US-TS-techsupport@mmm.com
3M Touch Systems Proprietary Information
Overview 7
3M Touch Systems Worldwide Offices
All offices can be reached through the website: http://www.3Mtouch.com/.
• United States 978-659-9000
• United Kingdom +44 (0) 1235-444400
• Australia +61 3 9582 4799
• Canada 604-521-3962
• France +33 (1) 30 31 68 32
• Germany +49 (0) 2131 14-4003
• Hong Kong/China (852) 2333-6138
• Italy +39 0 39-230 2230
• Japan +81 (44) 811-1133
• Korea +822 552 3198
• Singapore +65-6450 8851
• Spain +34 934 15 6285
• Taiwan +886-2-2704 9011
3M Touch Systems Proprietary Information
CHAPTER 1
Integrating the SC500 USB Controller
The MicroTouch™ SC500 Universal Serial Bus (USB) controller is an accurate, small
outline, low cost, temperature stable controller capable of supporting a wide range of
3M Touch Systems resistive touch screens. It is designed to work with Microsoft®
Windows® XP, 2000, 98SE and Windows Me for internal mounting in OEM
applications.
This chapter covers the following SC500 USB controller specifications:
• Cable connections
• Mounting requirements
• Power requirements and options
• Status LED codes
Overview of the SC500 Touch Screen Controller
The SC500 controller is an uncased device using a USB interface.
To integrate and test the SC500 USB controller, you need the following items:
• A 3M Touch Systems 5-wire resistive touch screen. The touch screens are available in a
variety of sizes.
• A method of establishing the USB communication between the controller and your
system. The standard 3M Touch Systems USB communications cable (P/N7319420) is
recommended. This cable is PC99 compliant.
• A touch screen utility or driver with a calibration routine.
Note: You can use MicroTouch™ Software, which includes the touch screen device
driver and utilities software.
The controller measures 1.3 x 2.4 inches, or 1.3 x 2.7 inches total profile over the
connectors. Allow additional clearance for the mating connectors. The total height
profile is 0.40 inches from the thru hole pins on the trace side of the board to the top
of the highest component on the opposite side. The SC500 has a 5-pin touch screen
connector (JP5), and a 5-pin USB cable connector (JP7).
3M Touch Systems Proprietary Information
10 SC500 USB Controller Reference Guide
Figure 1. SC500 USB Controller Overall Dimensions
Handling and ESD Protection
When mounting the sensor and controller, use normal precautions for handling
electrostatic sensitive devices. The SC500 has internal protection to ±20 kV for ESD
air discharges to the touch screen (not to the controller directly) that may occur during
normal operation of the touch screen. Refer to Appendix A for further specifications.
Establishing the Data Connection
The SC500 USB Resistive Controller requires a 3M Touch Systems USB
communication cable (P/N 7319420) PC 99 compatible or an equivalent interconnect.
One end of this cable plugs into the USB connector (JP7) on the SC500 USB
Resistive Controller. The other end, which has a Type-A connector, plugs into a USB
port on your PC.
When creating a custom cable, use the Molex 51004-0500 mating connector. Table 1
describes the interconnections of the 3M Touch Systems USB cable.
Table 1. USB Cable for SC500 USB Resistive Controllers
PC Side (USB Type A) Wire Controller Side (5-Pin Molex)
Pin USB Assigned Color Pin Description
1 +5Vdc Red 1 +5Vdc Input Power
2 Data (DN) Gray 2 Data (DN) Differential Pair
3 Data (DP) Green 3 Data (DP) Differential Pair
4 0V Black 4 Power Return
5 Cable Shield Shell Charcoal
Gray
5 Outer Cable Shield around signal and
power lines. Chassis (earth) ground
3M Touch Systems Proprietary Information
Integrating the SC500 USB Controller 11
Mounting the Controller
The controller is designed for internal mounting only. Choose a convenient spot away
from high-voltage, high power cables and electronics. Use 4-40 metal screws to
mount the controller using the two diagonal mounting holes in the board. The
controller should be mounted in line with the touch screen cable exit point to
minimize cable flexing. The controller should be mounted internally behind or on the
side of the display on stand offs to allow room for the touch screen cable connector.
Ensure that the tail and controller are aligned such that the tail remains straight (90°),
not pulled or twisted in an odd angle from the touch screen. Good engineering design
avoids awkward electrical connections.
Recommended:
Wrap tail smoothly
Not recommended:
Do not twist the tail
Supplying Power to the Controller
The SC500 USB controller is powered by the USB 5-volt bus power. The typical
current is 15 mA typical, 28 mA touching; ± 5% regulation, with a maximum ripple
and noise of 50mV peak-to-peak.
CAUTION
To avoid possible damage to the controller, you must provide a path for electrostatic
discharge (ESD). The controller mounting hole near the sensor connector should be used to
connect to chassis safety ground and must be attached by the shortest possible route to a good
earth return (chassis) in all applications.
3M Touch Systems Proprietary Information
12 SC500 USB Controller Reference Guide
Mounting the Touch Screen
There are several methods for mounting the touch screen depending on your
application (Flat CRT displays or flat panel displays, each in a variety of sizes). If you
need instructions or recommendations from 3M Touch Systems on how to incorporate
a touch screen into your design, refer to the MicroTouch Resistive Integration Guide
(P/N 19-441). All 3M Touch Systems documentation is available from the corporate
website at www.3Mtouch.com
or from the Touch Solutions CD (P/N 19-640).
It is critical for you to understand the tail orientation of your touch screen prior to
connecting the controller. This will affect how the controller interprets your touch on
the screen. Refer to Controller Communications section for additional information.
Touch Screen Cable Connector
The touch screen cable has a 5-pin single row locking female connector that plugs into
the controller. The standard cable pinout is designed for right (3 o’clock) tail exit on
the sensor when viewed from the front.
1. Upper Right
2. Upper Left
3. Top Sheet
4. Lower Left
5. Lower Right
Turning On Your System
Before you turn on your custom system, ensure that all cables are connected properly
and that the controller is properly mounted. Be sure to tighten all cable connector
screws.
To start up your system
1. Turn on your monitor and computer.
2. Adjust the contrast and brightness to suit your personal preference and working
environment.
3. Adjust the horizontal and vertical position controls on the monitor to center the image on
the screen.
Status Light (LED) Diagnostics
3M Touch Systems controllers are highly reliable units; however, there may be
occasions when the controller does not perform exactly as you expected. The SC500
controller provides diagnostic feedback with a light emitting diode (LED) on the
component side of the board that indicates the status of the touch screen unit. During
normal operation, when you touch the sensor the LED becomes bright as long as the
controller detects a touch.
A flashing (or blinking) LED during power-up indicates the controller’s power-on
self-test failed. Refer to Table 2 for a description of each error code.
3M Touch Systems Proprietary Information
Integrating the SC500 USB Controller 13
Table 2. LED Diagnostic Codes for SC500 Controllers
Cycle power off and on. If problem
persists, recalibrate
Check connection to the touch screen
What's Next?
Since this is a HID (human interface device) compatible controller, the controller will
operate independent of a 3M Touch Systems driver. You must obtain a HID
calibration utility from the 3M Touch Systems website for initial calibration.
Additional 3M Touch Systems documentation is available from the corporate website
at www.3Mtouch.com
or from the Touch Solutions CD (P/N 19-640).
3M Touch Systems Proprietary Information
CHAPTER 2
SC500 USB Controller Communications
This chapter discusses the fundamentals of communicating with the SC500 USB
controller. The firmware commands, which are usually issued by a driver or utility
program on the host system, control the operation of the touch screen controller. This
chapter lists the recommended firmware commands and describes how to use each of
these commands.
Overview of USB Firmware Communications
Developers may use this information when writing touch applications, developing
custom drivers or touch configurations, or testing their touch systems. Developers can
issue commands to initialize the controller, select operating modes, and execute
diagnostic functions.
Most touch screen users do not have to use firmware commands to use their touch
systems. For example, users can use MicroTouch™ software or equivalent software
to calibrate the touch screen or to determine the controller type and firmware version.
Note: This document assumes you are familiar with USB standards and modes of
communication with USB devices, as well as firmware commands and how to use them.
Executing some commands may alter the performance of your touch screen and render it
inoperable. You should be aware of the results before executing any firmware commands.
To optimize the performance of the SC500 USB touch screen controller and simplify
the development of custom drivers, 3M Touch Systems recommends you use the
commands listed in this chapter for current development.
3M Touch Systems Proprietary Information
16 SC500 USB Controller Reference Guide
Communication Basics
This section provides information on sending firmware commands to the controller
and interpreting the responses that the controller returns. The default operation of the
SC500 USB controller is USB Rev 1.1.
The USB command set is implemented by using vendor requests and vendor reports,
i.e., vendor specific transactions. The controller issues some reports without
prompting the computer. The computer can also send requests to the controller to
change how it operates or receives information about the controller. The controller
issues a synchronous report in response to some of these requests.
You need to know product ID (0102H) and the vendor ID (0596H) to write your own
driver. These values are required for identifying the controller.
The SC500 USB command set utilizes the HID protocol. The HID protocol allows the
controller to be used on most computers with operating systems that supports HID.
The only required software is a calibration tool used for aligning the touch screen to
the display. This calibration tool is available from 3M Touch Systems.
Receiving Reports from the Controller
The controller sends a variety of reports to the computer. The first byte of each report
is the Report ID that defines the structure and content of the report. The controller
sends some reports as a direct response to a computer request (synchronous). The
controller will also send some reports as the result of an external event, such as a
touch (asynchronous).
HID and Packed Touch Reports
The controller sends to the computer reports in response to touches on the touch
screen. The controller normally uses the HID-compatible report. In addition to the
HID-compatible report, there are two versions of packed report available. These
versions return up to two points of data per touch, as opposed to the one touch point in
the HID-compatible report.
The first byte of each report contains the Report ID as shown in Table 3. You can use
the Set Asynchronous Report request to toggle between report types.
Table 3. Asynchronous Reports
Name Report ID Description
REPORT_ID_HID 1 HID-compatible coordinate data
REPORT_ID_PACKED 2 Packed coordinate data for custom
REPORT_ID_UTILITY 7 Packed coordinate data for utilities
Only custom drivers and software can make use of the packed coordinate format.
Refer to the Set Asychronous Report section for details on using packed coordinate
data.
driver
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 17
HID-Compatible Coordinate Data – Report 1
This is used to transfer the 10-bit coordinate data to the host. This report, when
activated, is sent to the host whenever new data is available/scheduled for
transmission. It is an asynchronous report that is activated by default at power up.
For HID class driver compatibility
• Throughput is limited to 125 points/sec.
• The coordinate system is upper-left origin, rather than the MicroTouch™ standard lower-
left origin.
Table 4. Coordinate Data Report
Offset Field Size Value Description
0 bReport ID 1 0x01 REPORT_ID_HID
1 bmStatus 1 B7, B6 B5, B
These are used to transfer the packed coordinate data to a custom driver or utility.
These reports, when activated, are sent to the host whenever new data is available for
transmission. The packed format contains two coordinate reports each with its own
status and Y and Y coordinate data. Because it is packed, the software must rearrange
bits to obtain the individual field values. The status contains a bit indicating if the
subreport is valid. The second subreport only may be invalid.
0 0 = not touching, 1 = touching
1 0 = data invalid, 1 = data valid
2 Not used
3 Not used
USB Command Set
The USB command set is implemented by using HID Get Feature and Set Feature
commands. The various requests and reports are grouped together by report size
under a common feature ID.
The commands listed below are those that 3M Touch Systems currently use for
communications. 3M Touch Systems recommends that you use only these commands
for SC500 USB controller communications.
Sending Commands to the Controller
To send a command, the computer must construct a USB packet for sending to the
controller. The general packet format is described in Table 7. Any data appended
immediately after this data is referred to as the data stage of request.
If using the Windows you may want to use the Set and Get Feature functions. The
buffers are the same except the first two fields. The bmRequest Type and bRequest
fields are omitted, thus making wValue the first field. For your convenience, each
command is labeled as either a “Set Feature” or “Get Feature” command.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 19
Table 7. General Request Format
Offset Field Size Value Description
0 bmRequestType 1 d0100001 Characteristics of request (dir,type,receipt)
D7: Data transfer direction
0 = Host to device
1 = Device to host
D6…5 Type
0 = Standard
1 = Class (all commands are standard)
2 = Vendor
3 = Reserved
D4…0 Recipient
0 = Device
1 = Interface (all commands are interface)
2 = Endpoint
3 = Other
4….31 = Reserved
1 bRequest 1 0xXX Specific request (our command number)
2 wValue 2 0x03XX Used to specify command parameters.
03 = Feature
XX = Feature Report ID
4 wIndex 2 0 Must be 0 (zero)
6 wLength 2 0xXXXX Number of bytes to transfer, multiple of 8. Same
as Data Stage Bytes in Table 8.
HID Class Requests
The following table summarizes the available HID class requests.
Table 8. Hid Class Requests Summary
HID Report Command Name bmRequest
Type
Set Feature SetAsyncReport 0x21 0x09 0x03 0x05 8
Set Feature Calibrate 0x21 0x09 0x03 0x04 8
Get Feature GetStatus 0xA1 0x01 0x06 --- 8
Set Feature Reset 0x21 0x09 0x03 0x07 8
Set Feature Restore Defaults 0x21 0x09 0x03 0x08 8
Set Feature Set Controller Number 0x21 0x09 0x05 0x01 8
Get Feature Get Controller Number 0x21 0x09 0x03 0x02 8
Some possible reasons for a command failure include:
• The command was not formatted correctly.
• The system parameters were not set up to allow command execution.
• The controller does not support the command.
bRequest Feature
Report ID
Report
Subtype
Data
Stage
Bytes
3M Touch Systems Proprietary Information
20 SC500 USB Controller Reference Guide
Controller Initialization
To initialize the SC500 USB controller, 3M Touch Systems recommends that the host
system issue a Reset command whenever the host system is powered on and is
attempting to establish communication with the controller.
Set Feature – Set Asynchronous Report
This starts or stops the sending of various asynchronous reports via the interrupt pipe.
Once a report is turned on, that report is sent whenever data is available. The firmware
defaults to the HID-compatible report after power-up or reset. Only one report may
be activated at a time.
Note: The TOUCH_REPORTS_UTILITY command causes the controller to send Report 7
from the endpoint 0 exclusively. This action is essential in getting a calibration utility to
function. The endpoint 1 does not send any reports at this time. The
TOUCH_REPORTS_RESTORE command causes the controller to send the previously active
asynchronous report (REPORT_ID_HID or REPORT_ID_PACKED) from endpoint 1.
Table 9. Set Asynchronous Report
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device
1 bRequest 1 0x09 Set Report
2 wValue 2 0x0303 03 = Feature
0 bReport ID 1 0x03 Feature Report ID
1 bmReport Subtype 1 0x05 Indicates a SetAsynchReport
2 Not used 2 0 Not used
4 bReport 0x00 0 TOUCH_REPORTS_OFF
1 TOUCH_REPORTS_ON
2 TOUCH_REPORTS_HID
3 TOUCH REPORTS_PACKED
6
TOUCH_REPORTS_UTILITY
7
TOUCH_REPORTS_RESTORE
5 Not used 3 Not used
Response
The device stalls endpoint 0 if it cannot process this request.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 21
Set Feature – Calibration
This is a request to perform a 2-point calibration. The calibration can be performed at
points inset from the lower left, upper left and upper right corners. The 2-point
calibration defines the active area of the touch screen by mapping two targets
displayed on the video image to absolute X and Y coordinates on the touch screen.
Table 11. Set Feature- Calibration
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device
1 bRequest 1 0x09 Set Report
2 wValue 2 0x0303 03=Feature
0 Report ID 1 0x21 Host to device
1 Report subtype 1 0x04 Set Report
2 bCalType 1 0xXX 0x01 = Extended Calibration (CX)
0x02 = Corner Calibration (CN)
3 Not used 5 0 Not used
Response
The device stalls endpoint 0 if the command cannot be processed successfully. The
request cannot be processed if an invalid calibration type is given in the wValue field.
During the calibration process, the calibration software polls the Get Status command
to monitor the progress of the calibration.
The calibration will fail if the two calibration points do not fall within certain bounds
established by the firmware. These bounds require that the two calibration points be in
correct quadrants of the sensor.
Calibration software can abort the calibration process with a Reset Request.
During the calibration process, the controller automatically determines screen/display
orientation and touch screen connector pinouts. This information is saved in the
controller non-volatile memory.
3M Touch Systems Proprietary Information
22 SC500 USB Controller Reference Guide
Table 13. Calibration Response
Command Status
Byte
0 Calibration Failed
1 Controller is waiting for a touch in the lower left corner
2 Controller is waiting for a touch in the upper right corner
3 Calibration completed successfully
Description
This command corrects for touch screen display orientation and touch screen pinout
variations. This information will be maintained by the controller. The Calibrate 2
Point command initiates an interactive calibration procedure which defines the active
area of the touch screen by mapping locations to an absolute X,Y coordinate system.
Touch points generated subsequent to a successful calibration operation are calculated
based upon these calibration points. Calibrate 2-point utilizes inset calibration points
located 12½ percent inboard from the screen corners (at touch X,Y locations 128,128,
895,895 and 128,895) for accuracy and ease of operation.
Determining Target Areas
The default calibration targets (points) are located 12.5% (1/8) inward from the
corners of the video image. For example, suppose the display resolution of your
Windows-based monitor is 1024 x 768. The Calibration command calculates the
amount to move inward as follows:
• Amount to move inward in the X direction: 1024 x 1/8 = 128
• Amount to move inward in the Y direction: 768 x 1/8 = 96
The Calibration command then positions the first calibration target inward from the
lower left corner (0,767) and the second calibration target inward from the upper right
corner (1023,0). The following illustration shows how the calibration targets are
calculated for a Windows-based system. Your operating system may be different.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 23
(
Figure 2. Calibration Target Locations
(1023, 0) [64K, 64k]*
0,0
Upper Right Calibration Target
X = 1023 – (1024 x 1/8) = 1023 – 128 = 895
Y = 0 +
768 x 1/8) = 0 + 96 = 96
Lower Left Calibration Target
X = 0 + (1024 x 1/8) = 0 + 128 = 128
Y = 767 - (768 x 1/8) = 767 - 96 = 671
(0, 767) [0, 0]*[64k,0]*
*The coordinates are in video terms, with the origin (0, 0) in the upper left corner of the screen. Examples from the
controller’s perspective, however, place the origin at the lower left corner of the screen (numbers in brackets). The
controller outputs 0 to 64K on both axes independent of display screen resolution.
(895, 96)
(128, 671)
Get Feature – Get Status
This is a request to send information that indicates the status of the controller. Among
the uses for this request are determining whether there were any power on check
errors determining whether the last request was completed successfully.
The response to the reset request is sent before the request completes. Polling (via the
status request) is then used to check the completion of those requests.
Table 14. Controller Status
Offset Field Size Value Description
0 bmRequestType 1 0xA1 Host to device
1 bRequest 1 0x01 Get Report
2 wValue 2 0x0306 03 = Feature
0 bReport ID 1 0x06 Feature Report ID
1 bPOCStatus 1 0xXX Power On Check Status
2 bCmdStatus 1 0xXX Status of last command
3 bTouchStatus 1 0xXX Finger Up/Down
4 bAsynchReports 1 0xXX 0x00 = asynchronous output off
0x01 = normal output
5 Not used 3 0 Not used
3M Touch Systems Proprietary Information
24 SC500 USB Controller Reference Guide
POC Status – The status of the Power-on Checks. Various controller systems are
checked at power-up. If any failures in these systems are detected, a POC flag is set.
The POC status field reports the state of these flags. The POC status information is
also flashed on the controller’s LED.
Table 16. Power On Status
Bit Number LED Flashes Description
0 1 Not used
1 2 Program code checksum error
2 3 Not used
3 4 Block 1 parameters invalid (using defaults)
4 5 Power-up touch screen connector voltages are out of range
5 6 Not used
6 7 Not used
7 8 Controller linearization data invalid
Cmd Status – The status for the last command request. This field is used to determine
whether the last request was processed successfully. It is also used to track the
progress of a multi-stage request, such as calibration. The Status Request does not
affect the contents of this field, i.e., successful/unsuccessful processing of a previous
status request does not cause the command status field to be updated.
Table 17. Command Status Field Entries
Response Description
0 Failure in command processing
1 Command being processed
2 Stage 1 processing complete (for multi-stage commands).
3 Command complete
4 Soft reset occurred
5 Hard reset occurred
6 Stage 2 processing complete (for multi-stage commands)
7 Not used
Touch Status – Status information for the most recent coordinate. Information
includes whether the sensor is currently being touched.
Table 18. Power On Check Bit Fields
Bit Number Description
0 1 if the sensor is being touched
1 Always 0
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 25
Set Feature - Reset
This is a request to perform a controller reset.
Table 19. Reset Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device
1 bRequest 1 0x09 Set Report
2 wValue 2 0x0303 03 = Feature
Subtype
2 bResetType 1 0xXX 0x01=Soft reset
3 Not used 5 0 Not used
1 0x07 Indicates a reset request
Response
The device stalls endpoint 0 if the request cannot be processed successfully. The
request cannot be processed if the reset type specified by the bResetType field is not
valid.
Set Feature - Restore Defaults
This is a request to restore the default values in the controller to the factory presets.
You must recalibrate after this command since this request will also default the
calibration and screen/display orientation.
Table 21. Restore Defaults Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Host to device
1 bRequest 1 0x09 Set Report
2 wValue 2 0x0303 03 = Feature
4 wIndex 2 0 Always 0
6 wLength 2 8 Always 8
03 = Feature Report ID
3M Touch Systems Proprietary Information
26 SC500 USB Controller Reference Guide
Table 22. Data Stage
Offset Field Size Value Description
0 bReport ID 1 0x03 Feature Report ID
1 bmReportSubtype 1 0x08 Indicates a restore defaults request
2 Not used 6 0 Not used
Response
The device stalls endpoint 0 if it cannot process this request.
Set Feature - Set Controller Number
This command is used to get a controller number for application use. The controller
does not use this value. This process is useful for identifying individual controllers in
a multiple controller system.
Table 23. Set Controller Number Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Characteristics
1 bRequest 1 0x09 Command number
2 wValue 2 0x0305 Parameter number
4 wIndex 2 0x00 Not used
6 wLength 2 0x48 Length of Parameter Data report
Table 24. Data Stage 1 (header data)
Offset Field Size Value Description
0 bReportID 1 0x05 Feature Report ID
1 bReport Subtype 1 0x01 Indicates a set param report
2 bArea 1 0 Memory Area (always 0=Ctrl EEPROM)
3 Not used 1 0 Not used
4 bSubArea 1 0x05 Block number
5 bIndex 1 0x00 Index into block
6 bDataLength 1 0x04 Number of valid data bytes for this xfer
(always padded to 64)
7 Not used 1 0x00 Not used
Table 25. Data Stage 2 through 9 (8 * 8 data bytes)
Offset Field Size Value Description
0-7 wData 1 0xXX 4 bytes of data (trailing pad bytes are ignored )
Data Stage
The controller ID is in the first 4 bytes of data stage, the remaining bytes are padding.
3M Touch Systems Proprietary Information
SC500 USB Controller Communications 27
Response
If the command cannot be processed, the device stalls endpoint 0. The command
cannot be processed if the memory area is not valid. It cannot be processed if the
request is attempting to access data that is outside the specified memory area. This
may happen if the index is too large or too much data has been requested.
The host can send a status request, as long as the endpoint is not stalled, to determine
if this request was executed properly.
Get Feature – Get Controller Number
This command is used to get a controller number for application use. The controller
does not use this value. This process is useful for identifying individual controllers in
a multiple controller system.
Due to HID functionality, retrieving data from the controller involves two steps.
1. Requesting the controller number parameter
2. Retrieving the controller number value
Table 26. Get Controller Number Parameter Request
Offset Field Size Value Description
0 bmRequestType 1 0x21 Device to host
1 bRequest 1 0x09 Set Report
2 wValue 2 0x0303 03 = Feature
0 bReport ID 1 0x03 Feature Report ID
1 bmReport Subtype 1 0x02 Indicates a set param index
2 bArea 1 0 Memory Area (always 0=Ctrl EEPROM )
3 Not used 1 0 Not used
4 bSubArea 1 0x05 Block number
5 bIndex 1 0x00 Index into block.
6 bDataLength 1 0x04 Number of valid data bytes for xfer (always padded to
64)
7 Not used 1 0 Not used
Table 28. Get Controller Number Request
Offset Field Size Value Description
0 bmRequestType 1 0xA1 Device to host
1 bRequest 1 0x01 Set Report
2 wValue 2 0x0305 03 = Feature
05 = Feature Report ID
4 wIndex 2 0 Always 0
6 wLength 2 0x48 Always 72 (allows for 64 data bytes + 8 byte header)
3M Touch Systems Proprietary Information
28 SC500 USB Controller Reference Guide
Table 29. Data Stage 1 (controller response header)
Offset Field Size Value Description
0 Report ID 1 0x05 Feature Report ID
1 Not used 1 0 Not used
2 bArea 1 0 Memory Area (always 0=Ctrl EEPROM )
3 Not used 1 0 Not used
4 bSubArea 1 0x05 Block number (0x01,0x02, 0x05, or 0x65 for Copyright
string )
5 bIndex 1 0x00 Index into block. Use 0 for controller number
6 bDataLength 1 0x04 Number of valid data bytes for xfer (always padded to 64)
7 Not used 1 0 Not used
Table 30. Data Stage 2 through 9 (controller response data 8 * 8 data bytes)
Offset Field Size Value Description
0-7 wData 1 0xXX 4 bytes of data (trailing pad bytes are ignored )
Data Stage
The controller ID is in the first 4 bytes of data stage, the remaining bytes are padding.
Response
If the command cannot be processed, the device stalls endpoint 0. The command
cannot be processed if the memory area is not valid. It cannot be processed if the
request is attempting to access data that is outside the specified memory area. This
may happen if the index is too large or too much data has been requested.
The host can send a status request, as long as the endpoint is not stalled, to determine
if this request was executed properly.
3M Touch Systems Proprietary Information
APPENDIX A
SC500 USB Controller Specifications
This section provides controller specifications such as power and environmental
requirements. The SC500 controller is a compact, small outline USB controller. This
controller should be internally mounted in your monitor.
The following figure shows the overall dimensions of the SC500 USB controller and
the locations of the mounting holes and connectors.
Figure 3. SC500 USB Touch Screen Controller Dimensions
30 SC500 USB Controller Reference Guide
Technical Specifications
Physical Dimensions
Uncased 2.85 in. x 1.3 in. x 0.45 in. (72.4 mm x 33.0 mm x 11.4 mm)
Board Level Functions
Power 5 VDC (15 mA typical, 28 mA touching); ± 5% regulation
50 mV maximum ripple and noise
Regulatory Requirements
CE Compliance Compliant
EMC Emissions – EN 55022:1998 Compliant
EMC Immunity – EN 55024:1998 Compliant
ESD Susceptibility – IEC 61000-4-2 Compliant
EMI Immunity – IEC 61000-4-3 Compliant
Burst Immunity – IEC 1000-4-4 Compliant
FCC Class B / CISPR22 Class B Compliant
VCCI Class B ITE Emissions (Japan) Compliant
AS/NZS 3548:1995/CISPR 22 Class B ITE Emissions (Aus.) Compliant
UL/cUL Compliant
Ambient Operating and Storage Environmental Conditions
Note: All humidity is non-condensing
Operating Temperature Range 0°C to +65°C
Operating Humidity Range (0 to 95% RH up to +36°C; above 36°C refer to Figure 4 below)
Storage Temperature Range -20°C to +75°C
Storage Humidity Range (0 to 80% RH up to +36°C; above 36°C refer to Figure 4
below)
Performance and Reliability
Minimum Touch Duration 14 ±1 ms
Touch Resolution 1024 x 1024
(Maximum number of addressable coordinates generated by the controller)
ESD Susceptibility
1
±8KV Contact Discharge– Class 2 per section 9 of IEC 61000-4-2 Compliant
1 false touch allowed
±20KV Air Discharge – Class 1 per section 9 of IEC 61000-4-2 Compliant
Normal Operation – No false touches
MTBF (by MIL Std. 217F Calculation) >400,000 Hours
1
ESD discharges to a 3M Touch Systems touch screen connected to the controller
3M Touch Systems Proprietary Information
SC500 USB Controller Specifications 31
3M Touch Systems Parameters
Accuracy vs. Dynamic Temperature Change Maintains 1% Accuracy
(tested at 0° C to 65° C with a 0.5° C/minute temperature ramp)
Touch Screen Compatibility 3M Touch Systems Resistive Touch
Screens
Communications Protocol USB Rev 1.1
Figure 4. Storage and Operating Temperature and Humidity Conditions
3M Touch Systems Proprietary Information
Loading...
+ hidden pages
You need points to download manuals.
1 point = 1 manual.
You can buy points or you can get point for every manual you upload.