https://github.com/yuesha-yc/being-doomfist
Controlling your Overwatch character with electromyography sensors (EMG).
https://github.com/yuesha-yc/being-doomfist
emg emg-signal gaming gd32v hardware human-computer-interaction microcontroller myoware overwatch python rath-hal risc-v
Last synced: 10 months ago
JSON representation
Controlling your Overwatch character with electromyography sensors (EMG).
- Host: GitHub
- URL: https://github.com/yuesha-yc/being-doomfist
- Owner: yuesha-yc
- License: gpl-3.0
- Created: 2021-04-17T15:27:25.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2021-04-18T18:54:41.000Z (about 5 years ago)
- Last Synced: 2025-04-12T10:13:22.067Z (about 1 year ago)
- Topics: emg, emg-signal, gaming, gd32v, hardware, human-computer-interaction, microcontroller, myoware, overwatch, python, rath-hal, risc-v
- Language: C++
- Homepage:
- Size: 3.09 MB
- Stars: 7
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README

# Being Doomfist is better than playing Doomfist
Controlling the Overwatch character with electromyography sensors (EMG).
This is a project participating [CalHacks - Hello:World](https://helloworld.calhacks.io/)
View our progress and gallery at [Devpost](https://devpost.com/software/being-doomfist-is-better-than-playing-doomfist)

## Brief Explain
We use the [Myoware Muscle Sensor](https://www.sparkfun.com/products/13723) to read the electrical signals from three muscle groups. The analog voltage value is then captured with the Tequila Nano controller board. Then, the 14-bit analog values are send to the USART port alone with the state of a push button.
On the PC side, we use Python to read the data received from the USART port, and then apply a threshold to determine whether a certain action is activated. If the signal is above threshold, we will use `win32api` and `windll` to simulate keyboard and mouse events. These events will be registered by Overwatch, thus achieve the successful control of the Doomfist character.
## Credits (names in alphabetical order)
[Haocheng Yang](https://github.com/bill-the-sci-guy): Hardware implementation
[Yichen Wang](https://github.com/yuesha-yc): Software implementation
[Yifei Li](https://github.com/LiYifei1218): Software implementation
[-T.K.-](https://github.com/T-K-233): Hardware & software implementation