First hacks

A project log for Joytojoy

An Open assistive device design to add mouse or video game stick capabilities to your power wheelchair controller

Julien OUDINJulien OUDIN 10/04/2022 at 14:070 Comments

The idea was to create a motion capture device integrated onto the powerwheelchair joystick that allow to play video games and use a mouse.

Something operating according to the diagram below.

To start I needed:

A motion sensor, a microcontroller with HID possibilities and a few switches.

I'm not a programmer, but thanks to the community and open source,  documented projects and libraries are avaible to make gyroscopic mouse. And on the other side, there are code and libraries to translate a mouse signal into a gamestick signal.

A little reading led me to the choice of material:

An accessible and documented Inertial mesurement unit, the MPU6050,

Arduino HID boards (like micro and leonardo boards lying around in the back of a cupboard) will do the trick as MCU.

These different projects have helped me a lot : Thanks to their authors !

Mouse for people With Brain or Nervous Injuries de Davy

MPU6050 library by tockn : Arduino library for easy communicating with the MPU6050

DIY MPU-6050 Joystick by Pin Chung

ArduinoJoystickLibrary by MHeironimus

It was like playing lego, with the help of the work made available by others, I’have assembled different bricks, deciphered code, understood blocks to assemble them, remix and made them work together.

I've tried to use a simple joystick to turn it into a mouse, then a game controller, before taming an IMU, and replacing the physical joystick with an IMU.

To end up with an IMU that emulates a joystick or a mouse.

What a joy to see everything working for the first time! The programs thus remixed make possible to create a mouse emulator or a video game joystick.

With this proof of concept in hand, it works!! It was now necessary to start a more serious design process to be able to leave the breadboard, embark the aid on a wheelchair, define functions and optimize  technical choices