pdf-icon

Hat Joystick

SKU:U073

Description

Hat Joystick is a joystick module designed specifically for the M5StickC. It is embedded with an STM32F030F4 main control chip and uses the I2C communication protocol to transmit data with the host M5StickC. This mini-sized joystick module supports full-angle deviation and center pressing, outputting angle deviation data and switch digital signals. It adopts the unified plug-in design of the HAT series for reliable connection with the M5StickC, providing more human-computer interaction input experiences in the most streamlined way.

Features

  • Embedded STM32F030F4
  • Communication Protocol: I2C (Address: 0x38)
  • Supports full-angle deviation/center button

Includes

  • 1 x Hat Joystick
  • 1 x Double-sided tape

Applications

  • Game controller
  • Wireless joystick device

Specifications

Specification Parameter
Communication Protocol I2C:0x38
Net Weight 8g
Gross Weight 16g
Product Size 24 x 30 x 17mm
Package Size 136 x 92 x 17mm

Schematics

PinMap

M5StickC G0 G26 3.3V GND
Joystick HAT SDA SCL 3.3V GND

Softwares

Arduino

UiFlow1

Protocol

I2C Address: 0x38

Registers:

0x01 Read Only 4 bytes, single-axis value 0 ~ 4096

0: x-axis raw data lower 8 bits

1: x-axis raw data upper 8 bits

2: y-axis raw data lower 8 bits

3: y-axis raw data upper 8 bits

0x02 Read Only 3 bytes

0: x-axis converted data (-127 ~ 127)

1: y-axis converted data (-127 ~ 127)

2: 0 or 1 (button pressed is 0, released is 1)

0x03 Write Only 1 byte

0x00: Normal mode

0x01: Center point calibration

0x02: Maximum value calibration (manually rotate the joystick to get the maximum value)

0x03: Save center point and maximum value data to flash, restore to normal mode after saving

Joystick calibration method: First write to I2C register 0x03 then send 0x02, rotate the joystick around up, down, left, right several times, then write 0x03 to register 0x03 to save.

EasyLoader

Easyloader Download Link Note
Hat Joystick Easyloader download /

Video