{"id":53316,"date":"2017-04-12T12:10:57","date_gmt":"2017-04-12T11:10:57","guid":{"rendered":"https:\/\/www.microplanet.ma\/?post_type=product&#038;p=53316"},"modified":"2026-10-19T18:29:32","modified_gmt":"2026-10-19T18:29:32","slug":"xy-two-axis-joystick-module","status":"publish","type":"product","link":"https:\/\/www.microplanet.ma\/en\/produit\/xy-two-axis-joystick-module\/","title":{"rendered":"XY Two-Axis Joystick Module"},"content":{"rendered":"<h3>XY Two-Axis Joystick Module<\/h3>\n<p>This input module controls movement along the X and Y axes. It is commonly used with Arduino projects such as robotics, games, and interactive interfaces.<\/p>\n<h4>\ud83d\udd27 Listed specifications<\/h4>\n<ul>\n<li>Supply: 5 V DC as listed<\/li>\n<li>Outputs: two analog axis signals (X and Y) and one digital push-button signal<\/li>\n<li>Dimensions: 34 \u00d7 34 \u00d7 15 mm<\/li>\n<li>Sensing elements: potentiometers for the X and Y axes, plus an integrated push button<\/li>\n<\/ul>\n<h4>\u2699\ufe0f How it works<\/h4>\n<p>Two potentiometers detect movement along the X and Y axes. Moving the stick changes their resistance and the corresponding analog output voltages. Pressing the stick operates the integrated button.<\/p>\n<h4>\ud83d\udca1 Applications<\/h4>\n<ul>\n<li>Robot control<\/li>\n<li>Game interfaces<\/li>\n<li>Motor control<\/li>\n<li>Interactive projects<\/li>\n<\/ul>\n<h4>\ud83d\udccc Pinout<\/h4>\n<ul>\n<li><strong>VCC<\/strong>: supply (5 V as listed)<\/li>\n<li><strong>GND<\/strong>: ground<\/li>\n<li><strong>VRx<\/strong>: analog output for the X axis<\/li>\n<li><strong>VRy<\/strong>: analog output for the Y axis<\/li>\n<li><strong>SW<\/strong>: digital output for the push button<\/li>\n<\/ul>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"size-full wp-image-2908 aligncenter\" src=\"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-3.png\" alt=\"\" width=\"785\" height=\"599\" srcset=\"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-3.png 785w, https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-3-600x458.png 600w, https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-3-300x229.png 300w, https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-3-768x586.png 768w\" sizes=\"auto, (max-width: 785px) 100vw, 785px\" \/><\/p>\n<h4>\ud83d\udd0c Using it with an Arduino Uno<\/h4>\n<p>Connect VCC and GND to Arduino power and ground. Connect VRx and VRy to analog inputs to read stick position, and connect SW to a digital input to detect presses.<\/p>\n<h4>Basic Arduino example<\/h4>\n<pre class=\"prism undefined-numbers lang-cpp\" data-lang=\"C++\"><code>#define VRX_PIN A0\r\n#define VRY_PIN A1\r\n#define SW_PIN 2\r\n\r\n\r\nvoid setup() {\r\n\u00a0 Serial.begin(9600);\r\n\u00a0 pinMode(SW_PIN, INPUT_PULLUP);\r\n}\r\n\r\n\r\nvoid loop() {\r\n\u00a0 int xValue = analogRead(VRX_PIN);\r\n\u00a0 int yValue = analogRead(VRY_PIN);\r\n\u00a0 int buttonState = digitalRead(SW_PIN);\r\n\r\n\r\n\u00a0 Serial.print(\"X-axis: \");\r\n\u00a0 Serial.print(xValue);\r\n\u00a0 Serial.print(\" | Y-axis: \");\r\n\u00a0 Serial.print(yValue);\r\n\u00a0 Serial.print(\" | Button: \");\r\n\u00a0 Serial.println(buttonState);\r\n\u00a0\u00a0\r\n\u00a0 delay(100);\r\n}<\/code><\/pre>\n<p>This sketch reads both analog axes and the button state, then prints the values in the Serial Monitor.<\/p>\n<h4>Components for the basic example<\/h4>\n<ul>\n<li>Arduino Uno<\/li>\n<li>XY two-axis joystick module<\/li>\n<li>Connecting wires<\/li>\n<\/ul>\n<h4>Code overview<\/h4>\n<ol>\n<li><strong>Initialization:<\/strong> Starts serial communication and configures the joystick button pin.<\/li>\n<li><strong>Read and display:<\/strong> Reads the analog axis values and button state and prints them in the Serial Monitor.<\/li>\n<\/ol>\n<h4>Basic wiring<\/h4>\n<ul>\n<li><strong>VCC<\/strong>: 5V (Arduino)<\/li>\n<li><strong>GND<\/strong>: GND (Arduino)<\/li>\n<li><strong>VRx<\/strong>: A0 (Arduino)<\/li>\n<li><strong>VRy<\/strong>: A1 (Arduino)<\/li>\n<li><strong>SW<\/strong>: D2 (Arduino)<\/li>\n<\/ul>\n<h4>Advanced Arduino example with an I2C LCD<\/h4>\n<pre class=\"prism undefined-numbers lang-cpp\" data-lang=\"C++\"><code>#include &lt;Wire.h&gt;\r\n#include &lt;LiquidCrystal_I2C.h&gt;\r\n\r\n\r\nLiquidCrystal_I2C lcd(0x27, 16, 2);\r\n#define VRX_PIN A0\r\n#define VRY_PIN A1\r\n#define SW_PIN 2\r\n\r\n\r\nvoid setup() {\r\n\u00a0 lcd.begin();\r\n\u00a0 lcd.backlight();\r\n\u00a0 Serial.begin(9600);\r\n\u00a0 pinMode(SW_PIN, INPUT_PULLUP);\r\n}\r\n\r\n\r\nvoid loop() {\r\n\u00a0 int xValue = analogRead(VRX_PIN);\r\n\u00a0 int yValue = analogRead(VRY_PIN);\r\n\u00a0 int buttonState = digitalRead(SW_PIN);\r\n\r\n\r\n\u00a0 lcd.clear();\r\n\u00a0 lcd.setCursor(0, 0);\r\n\u00a0 lcd.print(\"X: \");\r\n\u00a0 lcd.print(xValue);\r\n\u00a0 lcd.setCursor(8, 0);\r\n\u00a0 lcd.print(\"Y: \");\r\n\u00a0 lcd.print(yValue);\r\n\u00a0 lcd.setCursor(0, 1);\r\n\u00a0 lcd.print(\"Button: \");\r\n\u00a0 lcd.print(buttonState ? \"Released\" : \"Pressed\");\r\n\r\n\r\n\u00a0 delay(100);\r\n}<\/code><\/pre>\n<p>This example reads the X\/Y axes and button and displays the values on an I2C LCD.<\/p>\n<h4>Components for the advanced example<\/h4>\n<ul>\n<li>Arduino Uno<\/li>\n<li>XY two-axis joystick module<\/li>\n<li>I2C 1602 LCD<\/li>\n<li>Connecting wires<\/li>\n<\/ul>\n<h4>Advanced wiring<\/h4>\n<ul>\n<li><strong>VCC<\/strong>: 5V (Arduino)<\/li>\n<li><strong>GND<\/strong>: GND (Arduino)<\/li>\n<li><strong>VRx<\/strong>: A0 (Arduino)<\/li>\n<li><strong>VRy<\/strong>: A1 (Arduino)<\/li>\n<li><strong>SW<\/strong>: D2 (Arduino)<\/li>\n<li><strong>LCD VCC<\/strong>: 5V (Arduino)<\/li>\n<li><strong>LCD GND<\/strong>: GND (Arduino)<\/li>\n<li><strong>LCD SCL<\/strong>: A5 (Arduino Uno)<\/li>\n<li><strong>LCD SDA<\/strong>: A4 (Arduino Uno)<\/li>\n<\/ul>\n<h4>Library installation<\/h4>\n<p>To use the I2C LCD, install LiquidCrystal I2C through Arduino IDE\u2019s Library Manager: open Sketch \u2192 Include Library \u2192 Manage Libraries, search for \u201cLiquidCrystal I2C\u201d, and install it.<\/p>\n<p>Check the module pin labels and the voltage limits of the connected board before powering the circuit.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Two-axis joystick module with analog X\/Y outputs and a digital push-button output. Listed for 5 V DC, with two potentiometers and an integrated switch; board size is 34 \u00d7 34 \u00d7 15 mm.<\/p>\n","protected":false},"featured_media":53317,"template":"","meta":[],"product_brand":[],"product_cat":[314,316],"product_tag":[],"class_list":["post-53316","product","type-product","status-publish","has-post-thumbnail","product_cat-developpement-en","product_cat-modules-capteurs-en","first","instock","taxable","shipping-taxable","purchasable","product-type-simple"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.7 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>XY Two-Axis Joystick Module for Arduino | MicroPlanet<\/title>\n<meta name=\"description\" content=\"Arduino-compatible XY joystick module with analog VRx\/VRy outputs, digital SW button, 5 V supply as listed, and 34 \u00d7 34 \u00d7 15 mm dimensions.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"XY Two-Axis Joystick Module for Arduino | MicroPlanet\" \/>\n<meta property=\"og:description\" content=\"Arduino-compatible XY joystick module with analog VRx\/VRy outputs, digital SW button, 5 V supply as listed, and 34 \u00d7 34 \u00d7 15 mm dimensions.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/\" \/>\n<meta property=\"og:site_name\" content=\"MicroPlanet Maroc\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/ArduinoPlanet\/\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-19T18:29:32+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-2.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1000\" \/>\n\t<meta property=\"og:image:height\" content=\"1000\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data1\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/\",\"url\":\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/\",\"name\":\"XY Two-Axis Joystick Module for Arduino | MicroPlanet\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/www.microplanet.ma\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/160-2.png\",\"datePublished\":\"2017-04-12T11:10:57+00:00\",\"dateModified\":\"2026-10-19T18:29:32+00:00\",\"description\":\"Arduino-compatible XY joystick module with analog VRx\\\/VRy outputs, digital SW button, 5 V supply as listed, and 34 \u00d7 34 \u00d7 15 mm dimensions.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/#primaryimage\",\"url\":\"https:\\\/\\\/www.microplanet.ma\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/160-2.png\",\"contentUrl\":\"https:\\\/\\\/www.microplanet.ma\\\/wp-content\\\/uploads\\\/2017\\\/04\\\/160-2.png\",\"width\":1000,\"height\":1000},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/produit\\\/module-joystick-double-axe-xy\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Accueil\",\"item\":\"https:\\\/\\\/www.microplanet.ma\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Shop\",\"item\":\"https:\\\/\\\/www.microplanet.ma\\\/shop\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"XY Two-Axis Joystick Module\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/#website\",\"url\":\"https:\\\/\\\/www.microplanet.ma\\\/\",\"name\":\"MicroPlanet Maroc\",\"description\":\"Arduino, Electronique DIY, Modules, Composants, Raspberry PI\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.microplanet.ma\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/#organization\",\"name\":\"MicroPlanet\",\"url\":\"https:\\\/\\\/www.microplanet.ma\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.microplanet.ma\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/logo5.png\",\"contentUrl\":\"https:\\\/\\\/www.microplanet.ma\\\/wp-content\\\/uploads\\\/2023\\\/05\\\/logo5.png\",\"width\":400,\"height\":133,\"caption\":\"MicroPlanet\"},\"image\":{\"@id\":\"https:\\\/\\\/www.microplanet.ma\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/ArduinoPlanet\\\/\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"XY Two-Axis Joystick Module for Arduino | MicroPlanet","description":"Arduino-compatible XY joystick module with analog VRx\/VRy outputs, digital SW button, 5 V supply as listed, and 34 \u00d7 34 \u00d7 15 mm dimensions.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/","og_locale":"en_US","og_type":"article","og_title":"XY Two-Axis Joystick Module for Arduino | MicroPlanet","og_description":"Arduino-compatible XY joystick module with analog VRx\/VRy outputs, digital SW button, 5 V supply as listed, and 34 \u00d7 34 \u00d7 15 mm dimensions.","og_url":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/","og_site_name":"MicroPlanet Maroc","article_publisher":"https:\/\/www.facebook.com\/ArduinoPlanet\/","article_modified_time":"2026-10-19T18:29:32+00:00","og_image":[{"width":1000,"height":1000,"url":"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-2.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_misc":{"Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/","url":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/","name":"XY Two-Axis Joystick Module for Arduino | MicroPlanet","isPartOf":{"@id":"https:\/\/www.microplanet.ma\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/#primaryimage"},"image":{"@id":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/#primaryimage"},"thumbnailUrl":"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-2.png","datePublished":"2017-04-12T11:10:57+00:00","dateModified":"2026-10-19T18:29:32+00:00","description":"Arduino-compatible XY joystick module with analog VRx\/VRy outputs, digital SW button, 5 V supply as listed, and 34 \u00d7 34 \u00d7 15 mm dimensions.","breadcrumb":{"@id":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/#primaryimage","url":"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-2.png","contentUrl":"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2017\/04\/160-2.png","width":1000,"height":1000},{"@type":"BreadcrumbList","@id":"https:\/\/www.microplanet.ma\/produit\/module-joystick-double-axe-xy\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Accueil","item":"https:\/\/www.microplanet.ma\/"},{"@type":"ListItem","position":2,"name":"Shop","item":"https:\/\/www.microplanet.ma\/shop\/"},{"@type":"ListItem","position":3,"name":"XY Two-Axis Joystick Module"}]},{"@type":"WebSite","@id":"https:\/\/www.microplanet.ma\/#website","url":"https:\/\/www.microplanet.ma\/","name":"MicroPlanet Maroc","description":"Arduino, Electronique DIY, Modules, Composants, Raspberry PI","publisher":{"@id":"https:\/\/www.microplanet.ma\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.microplanet.ma\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.microplanet.ma\/#organization","name":"MicroPlanet","url":"https:\/\/www.microplanet.ma\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.microplanet.ma\/#\/schema\/logo\/image\/","url":"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2023\/05\/logo5.png","contentUrl":"https:\/\/www.microplanet.ma\/wp-content\/uploads\/2023\/05\/logo5.png","width":400,"height":133,"caption":"MicroPlanet"},"image":{"@id":"https:\/\/www.microplanet.ma\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/ArduinoPlanet\/"]}]}},"_links":{"self":[{"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/product\/53316","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/product"}],"about":[{"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/types\/product"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/media\/53317"}],"wp:attachment":[{"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/media?parent=53316"}],"wp:term":[{"taxonomy":"product_brand","embeddable":true,"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/product_brand?post=53316"},{"taxonomy":"product_cat","embeddable":true,"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/product_cat?post=53316"},{"taxonomy":"product_tag","embeddable":true,"href":"https:\/\/www.microplanet.ma\/en\/wp-json\/wp\/v2\/product_tag?post=53316"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}