Have you ever been playing an FPS on PC, using a mouse and keyboard for the improved accuracy, but missed the haptic feedback of controller rumble? Well now you no longer need to choose between one or the other.
Indian engineer Teenenggr put together a 'simple' Python script linking to the open source Arduino platform to activate microcontrollers attached to his PC, effectively adding recoil motors to his mouse. And judging by the amount of screenshake going on, it's really really effective at adding recoil
Arduino is used by many makers to convert real-world inputs or trigger physical outputs as part of games, or even just automating daily tasks like flipping a switch on a coffee machine. We're still waiting for someone to recreate that weird rollercoaster ride the dad in Casper made.
Below you can see the extremely professional-grade blueprint Teenenggr used to explain how his Python script on the PC triggers the solenoid pistons attached to his mouse.
The setup seems to only trigger the solenoid pistons at a set timing through the relays whenever Mouse Button 1 is held down, the trigger in almost every FPS game ever made. This means Teenenggr would have needed to manually set the timing to mimic the fire rate of the heavy machine gun he's testing with. It would be cool to see if it could be expanded to include different fire rates for faster cycles like SMGs or different intensity profiles, such as using only half the solenoid pistons for pistols.
Teenenggr's forte appears to be using Arduino-controlled pistons for adding tactile feedback to everything, including making a mechanical keyboard with even clackier inputs, resembling a typewriter.
We miss the feel of old arcade light gun games like Time Crisis, so recreating recoil on a PC mouse while playing an FPS sounds like a fun project to us. However our aim in Valorant is already shocking enough without having to control the in-game recoil AND the six motors attached to our mouse.