AN11622 LPC82x Touch Solution Quick Start Guide Rev. 1.0 — 22 December 2014 Application Note Document information Info Content Keywords Capacitive Touch, Touchpad, Sensor, Electrode, Drive/Sensing lines, Dielectric, Overlay panel, Sensitivity, Touch, False Touch. Abstract This application note describes the overall hardware design aspect of NXP’s Capacitive Touch solution, shows the schematic design, materials, and PCB design including the most critical Touch sensor design. AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide Revision history Rev Date 1.0 20141222 Description Initial version Contact information For more information, please visit: http://www.nxp.com For sales office addresses, please send an email to: [email protected] AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 2 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide 1. Introduction NXP’s Capacitive Touch solution is based on the innovative Switched Capacitor Integration technology. This variant of the solution is centered around the LPC82x MCU family. It consists of hardware and software platform for enabling the Touch user interface designs. This quick start guide briefly outlines different elements involved in this Touch solution and help in getting started with the set up. Main Features: LPC824 centric capacitive Touch Modes supported o Touchpad (8-bit resolution) o 9 Keys GUI to visualize/analyze the Touch data On-board LCD to display Touch positions Arduino UNO compatible Touch Shield Mbed/LPCXpresso and Pmod® options USB Drag and drop programming CMSIS-DAP debug interface USB powered The LPC82x Touch solution kit can be ordered from NXP’s authorized distributors using the order number OM13081. AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 3 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide 2. Hardware Setup The LPC82x Touch solution has been realized using two boards, LPCXpresso824-MAX (LPC82x Xpresso v2/mbed) board and LPC82x Touch shield board. 2.1 LPCXpresso824-MAX (LPC82x Xpresso v2/mbed) The LPCXpresso824-MAX is a standard Xpresso/mbed board with LPC824 on it, well supported in the overall ecosystem. This board combines the overall features of the LPCXpresso, mbed, and Arduino environments. See the LPCXpresso824-MAX board user manual for more details: http://www.nxp.com/documents/user_manual/UM10830.pdf LPC824 in HVQFN33 package On-board CMSIS-DAP debug interface o Supports LPCXpresso IDE o Supports mbed and other third party tools Expansion options o Arduino UNO R3-compatible connectors o Mbed/LPCXpresso and Pmod® options o Prototyping area RGB LED for test/debug 10-pin SWD connector for external debug probe UART ISP capable USB powered Debug – LPC11U35 Target - LPC824 Arduino Expansion SW2-ISP RGB LED mbed/Xpresso Expansion PMOD USB Connector Prototyping area Reset SW mbed/Xpresso Expansion Arduino Expansion External Debug Fig 1. LPCXpresso824 –MAX board AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 4 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide 2.2 LPC82x Touch Shield The LPC82x Touch Shield is an add-on board with capacitive Touch sensors (3x3 Matrix touchpad) and a character LCD to display the Touch position data. LCD Touch Sensors (3x3 Matrix touchpad) Fig 2. LPC82x Touch Shield 2.3 LPC82x Touch Setup The LPCXpresso824-MAX board and LPC82x Touch shield are connected via Arduino UNO expansion connectors. + Fig 3. LPC82x Touch Setup LPC82x Touch Shield LPCXpresso824-MAX = LPC82x Touch Setup AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 5 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide 3. Software 3.1 Touch Firmware The LPC82x Touch solution kit is pre-programmed with the Touch demo firmware and it can be operated in standalone mode (without GUI) or with the windows GUI. 3.2 Touch GUI The LPC82x Touch Solution provides a Windows based GUI to visualize and analyze the Touch status/position data. To use the Touch GUI, download and install the mbed windows serial port driver from: www.nxp.com/redirect/mbed/handbook/Windows-serial-configuration Touch position X field Debug Messages Touch position Touch position Drawing field X-Y Coordinates Y field Status Messages Fig 4. Touch GUI AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 6 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide 4. Getting Started 4.1 Programming and Setting it up Though the kit is pre-programmed with the touch demo firmware, one can always reprogram it very easily with the latest firmware available. Connect the LPCXpresso824-MAX board and LPC82x Touch Shield using Arduino UNO expansion connectors. See Fig 3. On powering-up the kit with micro USB cable, it will appear as an MBED mass storage device on the PC/Notebook. To program the kit with latest firmware, copy and paste or drag and drop the latest binary to this MBED mass storage device. Power cycle or reset the board using reset switch (SW3) to get started. 4.2 Standalone Demo (without GUI) The standalone demo works in two different modes, Two dimensional Mode (Touchpad) and One dimensional Mode (Keys/Button). By default, the kit powers up in two dimensional Mode (position data). LCD will display “NXP””Firmware Version””Touch” in a sequence. And “Touch” display would remain until the touchpad is touched, as shown in Fig 5. Touching the touchpad area, the LCD will display X-Y coordinates of the Touch position. The actual Touch position is reported in an 8-bit resolution (0 to 255) but it is divided by a factor of 4 just to display on the LCD (00 to 63). Touch status is indicated by a segment right to the Y-coordinate, and it stays on as long as the finger ouches the touchpad. X- Coordinate Y- Coordinate Touch Status Fig 5. Standalone Demo (Touchpad Mode) AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 7 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide One can switch to the One dimensional Mode (Keys/Button) by pressing SW2 (ISP) switch, see Fig 1 on the LPCXpresso824-MAX board. Change of mode is indicated by displaying “--1D--” which stays until the touchpad is touched, as shown in Fig 6. On touching the sensor/sensors, the LCD will display hexadecimal (16 bit) value of the respective sensor/sensors status (bit0:sensor0, bit1:sensor1). Touch status is indicated by a segment right to the Y-coordinate and stays on as long as the finger touches the touchpad. S1 Touched Fig 6. Touch Status Standalone Demo (Key Mode) Press SW2 (ISP) switch to switch back to the Two dimensional Mode (Touchpad). Change of mode is indicated on the LCD by displaying “--2D--” which stays until the touchpad is touched. Now the touchpad starts reporting X-Y coordinates of the touchpad. 4.3 Touch GUI Demo Touch GUI provides many more features to visualize, test, and validate the LPC82x Touch Solution. AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 8 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide Powering-up the LPCXpresso824-MAX board using Micro USB cable, the USB port should be recognized as a “mbed Serial Port” by PC/Notebook. If not, download and install the mbed windows serial port driver from: www.nxp.com/redirect/mbed/handbook/Windows-serial-configuration Launch the LPC82x Touch solution GUI, see Fig 7. Select proper COM port (check the device manager to make sure, if needed). Set the baud rate as 9600 and Open the Com port. Analysis window will display the communication errors, if there’s any problem with the COM port or Baud rate selection. Successful Com port opening is indicated by a small radio button (next to Baud rate) turning “Green” from “Red”. By default, the kit starts up in Two dimensional mode (Touch Position Mode). Com Port status Fig 7. Connect to Com port AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 9 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide On touching the touchpad the Touch positions get reflected in the “Drawing field” of the GUI. See Fig 8. One can draw any pattern or the character and the Touch position is indicated accordingly. X and Y fields to the right show the X and Y touch field movements separately. Serial Messages window displays the Touch data packets with their IDs (ID:X:Y ) as being received by the GUI, limited to first 192 Touch positions only. One can tick/un-tick the “Debug Enable” to enable/disable the display of touch data packets (ID:X:Y ) in Serial Messages window. Fig 8. Visualize Touch Data Click on “Parameter settings” shown in Fig 9 to see and alter the Touch configuration parameters. Default parameters set is shown on the entry. One can read the parameters from target hardware or write the altered parameters to the target hardware using the radio buttons in the Target section. AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 10 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide One can also save the current parameters to the host or load the pre-set set of parameters from the host to write to the target. See radio buttons in the Host section. While changing the parameters (value) settings, the range shown on the right is the guideline. Even if out of range values are set, it will be truncated to the maximum value. One can always fall back and load the default set of parameters to cross verify the settings at any time. Host Target Fig 9. Touch Parameter Handling See the “LPC82x Touch Solution Application Note” or “LPC82x Touch Solution Library User Guide” for more details on all of the Touch configuration parameters. One can change the mode to One dimensional mode (Keys/Button Mode) by selecting “One dimensional” in the drop down for Touch operating mode. See Fig 10. AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 11 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide After changing the mode, click on “Write parameters to target” and the status window displays: “Parameters successfully written to target”. The on board LCD also displays PARAM. Fig 10. Switching to One Dimensional Mode Close the Touch Parameter Handling window after the altered parameters are successfully written to the target. The individual Sensor (S1-S9) status can be seen in the Drawing field. See Fig 11. On touching any sensor on the board, the corresponding change (√) is reflected in the sensor status of that sensor. The on board LCD also displays the hexadecimal (16 bit) value representing each sensor status. The (√) disappears or the respective sensor status is updated as soon as the finger is removed from the sensor. AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 12 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide Fig 11. One Dimensional Mode AN11622 Application Note All information provided in this document is subject to legal disclaimers. Rev. 1.00 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 13 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide 5. Legal information 5.1 Definitions Draft — The document is a draft version only. The content is still under internal review and subject to formal approval, which may result in modifications or additions. NXP Semiconductors does not give any representations or warranties as to the accuracy or completeness of information included herein and shall have no liability for the consequences of use of such information. 5.2 Disclaimers Limited warranty and liability — Information in this document is believed to be accurate and reliable. However, NXP Semiconductors does not give any representations or warranties, expressed or implied, as to the accuracy or completeness of such information and shall have no liability for the consequences of use of such information. In no event shall NXP Semiconductors be liable for any indirect, incidental, punitive, special or consequential damages (including - without limitation lost profits, lost savings, business interruption, costs related to the removal or replacement of any products or rework charges) whether or not such damages are based on tort (including negligence), warranty, breach of contract or any other legal theory. Notwithstanding any damages that customer might incur for any reason whatsoever, NXP Semiconductors’ aggregate and cumulative liability towards customer for the products described herein shall be limited in accordance with the Terms and conditions of commercial sale of NXP Semiconductors. Right to make changes — NXP Semiconductors reserves the right to make changes to information published in this document, including without limitation specifications and product descriptions, at any time and without notice. This document supersedes and replaces all information supplied prior to the publication hereof. Suitability for use — NXP Semiconductors products are not designed, authorized or warranted to be suitable for use in life support, life-critical or safety-critical systems or equipment, nor in applications where failure or malfunction of an NXP Semiconductors product can reasonably be expected to result in personal injury, death or severe property or environmental damage. NXP Semiconductors accepts no liability for inclusion and/or use of NXP Semiconductors products in such equipment or applications and therefore such inclusion and/or use is at the customer’s own risk. Applications — Applications that are described herein for any of these products are for illustrative purposes only. NXP Semiconductors makes no representation or warranty that such applications will be suitable for the specified use without further testing or modification. Customers are responsible for the design and operation of their applications and products using NXP Semiconductors products, and NXP Semiconductors accepts no liability for any assistance with applications or AN11622 Application Note customer product design. It is customer’s sole responsibility to determine whether the NXP Semiconductors product is suitable and fit for the customer’s applications and products planned, as well as for the planned application and use of customer’s third party customer(s). Customers should provide appropriate design and operating safeguards to minimize the risks associated with their applications and products. NXP Semiconductors does not accept any liability related to any default, damage, costs or problem which is based on any weakness or default in the customer’s applications or products, or the application or use by customer’s third party customer(s). Customer is responsible for doing all necessary testing for the customer’s applications and products using NXP Semiconductors products in order to avoid a default of the applications and the products or of the application or use by customer’s third party customer(s). NXP does not accept any liability in this respect. Export control — This document as well as the item(s) described herein may be subject to export control regulations. Export might require a prior authorization from competent authorities. Evaluation products — This product is provided on an “as is” and “with all faults” basis for evaluation purposes only. NXP Semiconductors, its affiliates and their suppliers expressly disclaim all warranties, whether express, implied or statutory, including but not limited to the implied warranties of noninfringement, merchantability and fitness for a particular purpose. The entire risk as to the quality, or arising out of the use or performance, of this product remains with customer. In no event shall NXP Semiconductors, its affiliates or their suppliers be liable to customer for any special, indirect, consequential, punitive or incidental damages (including without limitation damages for loss of business, business interruption, loss of use, loss of data or information, and the like) arising out the use of or inability to use the product, whether or not based on tort (including negligence), strict liability, breach of contract, breach of warranty or any other theory, even if advised of the possibility of such damages. Notwithstanding any damages that customer might incur for any reason whatsoever (including without limitation, all damages referenced above and all direct or general damages), the entire liability of NXP Semiconductors, its affiliates and their suppliers and customer’s exclusive remedy for all of the foregoing shall be limited to actual damages incurred by customer based on reasonable reliance up to the greater of the amount actually paid by customer for the product or five dollars (US$5.00). The foregoing limitations, exclusions and disclaimers shall apply to the maximum extent permitted by applicable law, even if any remedy fails of its essential purpose. 5.3 Trademarks Notice: All referenced brands, product names, service names and trademarks are property of their respective owners. All information provided in this document is subject to legal disclaimers. Rev. 1.0 — 22 December 2014 © NXP B.V. 2014. All rights reserved. 14 of 15 AN11622 NXP Semiconductors LPC82x Touch Solution Quick Start Guide 6. Contents 1. 2. 2.1 2.2 2.3 3. 3.1 3.2 4. 4.1 4.2 4.3 5. 5.1 5.2 5.3 6. Introduction ......................................................... 3 Hardware Setup ................................................... 4 LPCXpresso824-MAX (LPC82x Xpresso v2/mbed) ............................................................ 4 LPC82x Touch Shield ........................................ 5 LPC82x Touch Setup ......................................... 5 Software ............................................................... 6 Touch Firmware ................................................. 6 Touch GUI .......................................................... 6 Getting Started .................................................... 7 Programming and Setting it up ........................... 7 Standalone Demo (without GUI) ........................ 7 Touch GUI Demo ............................................... 8 Legal information .............................................. 14 Definitions ........................................................ 14 Disclaimers....................................................... 14 Trademarks ...................................................... 14 Contents ............................................................. 15 Please be aware that important notices concerning this document and the product(s) described herein, have been included in the section 'Legal information'. © NXP B.V. 2014. All rights reserved. For more information, visit: http://www.nxp.com For sales office addresses, please send an email to: [email protected] Date of release: 22 December 2014 Document identifier: AN11622