2-Axis Joystick

The EzloPi smart devices provide automation through simple, customizable use with our open-source EzloPi platform, making daily life easier and improving human-machine interactions.

Before moving into this example, it is very important to know about the device registration, provisioning and converting the ESP32 device into an EzloPi device along with knowledge of Web Flasher, MiOS Mobile Application for Android/iOS and the MiOS Web Application.

1. About this example - ESP32 Joystick

This example provides an overview of how to interface a 2-axis joystick with the EzloPi device.

The 2-Axis joystick is a popular input device that allows users to control two-dimensional movements using analog signals in various electronics projects. The joystick includes a spring auto return to center feature and a comfortable cup-type knob. By integrating this joystick with the EzloPi device, you can enable intuitive and precise control over various applications, such as home automation, robotics, gaming or anything requiring user input.

2. Circuit Setup & Interfacing

The following components are required for interfacing with the EzloPi device:

  • ESP32 as EzloPi smart device.
  • Parallax Inc.’s 2-Axis Joystick Module.

Joystick Circuit Diagram the wiring diagram of ESP32 32 pin is represented as follows:

joystick wiring diagram

The following connections are made in order to complete the entire circuit setup.

From ESP32 (32 pins) to the Joystick Module:

  • Connect the GND from the ESP32 to the GND pin of the joystick module.
  • Connect the Vin pin from the ESP32 to the 5V pin.
  • Connect the D33 pin from the ESP32 to the VRx pin on the joystick module.
  • Connect the D32 pin from the ESP32 to the VRy pin on the joystick module.
  • Connect the D4 pin from the ESP32 to the SW pin on the joystick module.

The wiring diagram of ESP32 38 pin is also represented as below:

The following connections are made in order to complete the entire circuit setup.

From ESP32 (38 pins) to the Joystick Module:

  • Connect the GND from the ESP32 to the GND pin of the joystick module.
  • Connect the 5V pin from the ESP32 to the 5V pin.
  • Connect the IO33 pin from the ESP32 to the VRx pin on the joystick module.
  • Connect the IO32 pin from the ESP32 to the VRy pin on the joystick module.
  • Connect the IO4 pin from the ESP32 to the SW pin on the joystick module.

3. Interfacing the ESP32 Joystick Module using EzloPi Web Flasher

1. Set up your device/hardware by visiting config.ezlopi.com

Digital Module
  1. Log in using the credentials that you just set earlier while signing up.
Device not Connected
  1. Now, click on the Connect Device button and a pop-up window will appear.
PCI Serial Port
  1. Now, select the COM Port to which your ESP32 device is connected. In our case, the COM3 port is used.

Click Connect.

Meta Data
  1. If you are new to this and it's your first time configuring, select Create new Device ID. Enter Wifi SSID and Wifi Password.
  1. In the Device Configuration, tab click on Analog Input.
Device Configuration
  1. An analog input window will open for inputting the following parameters:
  • Set a device name of your choosing. In our case, we set it to Joystick.
  • Set Device Sub Type to Parallax 2-axis joystick.
  • Set the ADC input pin to 33.
  • Set the Resolution to 10-bit.
  • Now Click the Apply button. After clicking the apply button you can see a table of your setting in the Current Configuration tab.
  • Press the Flash Device button.
Ready to Flash
  1. A window will appear on the bottom left side of the screen displaying “Please press BOOT button while flashing begins.”
  2. Hold the BOOT button down until the next window appears on the bottom left side of the screen which says “Installation prepared. Please release the boot button now.”
  1. Release the BOOT button from your ESP32 when this pop-up on the bottom right window appears.
Device Flashed
  1. After some time, a popup will appear saying Device Flashed Successfully! This means that your device has been set up successfully.

4. MiOS App

You can download the MIOS Android app from the Google Play Store and Apple App Store.

Google PlayApple App Store

  1. After downloading the app, proceed to install the application and open it.
  1. Using the MIOS mobile application, create a new Ezlo Cloud account using the sign-up option. If you already have an account, you may proceed to log in.
  1. After successfully logging in, you will be able to see the number of controllers connected such as a lamp, fan, or any other device in the MiOS app. Tap on any controller of your desired ID:
  2. You will be able to see the status of your controller whether it is online or offline. Access the device dashboard, and tap the device. The following view of the dashboard will appear:
Select a Location
  1. After opening the dashboard, you will be able to see the tile of your connected device.
LED Off
  1. As you can see in the example given above, we can see the Joystick tile. Where Joystick content is appearing.

5. MiOS Web Application

  1. After configuring the controller with the EzloPi web flasher, head to ezlogic.mios.com
  1. Use the same credentials to log in that you used for configuring the controller with the web flasher.
Joystick Switch Off
  1. tile labeled ESP32 Joystick on the dashboard UI showing up, down, left and right directions.
Buy Components

eZlopie Products A single-channel 5V relay module $00.00

eZlopie Products Momentary switch $00.00

eZlopie Products Level Shifter Module (BSS138) $00.00

eZlopie Products ESP32
$00.00

eZlopie Products AC Lamp and Holder
$00.00