Arduino Joystick Mouse

Arduino controlled mouse with Joystick controls, accelerometer gestures, hotkey buttons, different modes, and haptic feedback.

Similar projects worth following
Half mouse, half game controller.
M0x5E has more features than modern smart phones and more functionality can be added in a pinch.


I had a lot of parts laying around due to sales at the closing RadioShack stores (RIP). So I decided to use some of them and make something. So after many weeks of designing and programming away from my 'office' I made this when I finally returned.


Normal joystick controls for mouse. Using the switch turns the mouse into SCROLL MODE which turns the Joystick into arrow keys. The vibration motor is activated upon different functions with a unique vibration pattern. Tilting the mouse in different directions uses the accelerometer to activate different hotkeys.

Such as:
  Refresh     - Forward
  Win + Tab - Back
  Alt + ->      - Right
  Alt + <-      - Left

Other 6 buttons are:
  CTRL, ALT, WIN, TAB, Middle Click and Page Mode.
Page Mode turns joystick into Page Up, Page Down, Home, and End.

Also there are additional screw terminals for 5V and ground. And a breakout for pin 3 which can be programmed to add more functionality.

Arduino code

x-zip-compressed - 2.90 kB - 08/21/2017 at 16:48


M0x5E Wiring Diagram.jpg

Pinout of Pro Trinket

JPEG Image - 37.57 kB - 08/21/2017 at 02:31



Breadboard prototype

JPEG Image - 2.28 MB - 08/20/2017 at 18:22


  • 1 × SPST switch
  • 6 × Soft Tactile Pushbuttons 8mm
  • 1 × Vibrating Mini Motor Disc
  • 1 × Adafruit DRV2605L Haptic Motor Controller
  • 1 × Adafruit Pro Trinket 5V

View all 8 components

  • CAD reprogramming

    Sinclair Gurny11/16/2017 at 15:37 0 comments

    Currently working on reprogramming the functions to use as a left handed CAD mouse. Primarily for Pan, Tilt, Orbit. As well as other useful keyboard shortcuts.

View project log

Enjoy this project?



Similar Projects

Does this project spark your interest?

Become a member to follow this project and never miss any updates