Skip to content

RP Pico interface for one-switch gaming using the OneSwitchPulse system

asterics/PicoPulse

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

picoPulse

picoPulse supports accessible gaming using a single switch interface, powered by the OneSwitchPulse system. It is using a Raspberry Pi Pico microcontroller as input device. The RP Pico is recognized by the PC as gamepad, and creates gamepad button presses. The JoyToKey application dynamically maps the function of the primary user button to different keyboard or mouse actions, depending on the current mode or game state. Keyboard actions are then captured by the GTuner software, which controls the Titan Two game controller adapter. The Titan Two can be connected to various gaming consoles or a secondary PC, where the desired game control actions are performed.

Getting Started

  1. Hardware Requirements

    • Titan Two gaming adapter with profile settings by OneSwitch.org.uk
    • Raspberry Pi Pico microcontroller (or a similar RP2040/RP2350 based development board) + USB cable
    • One assistive switch/button for making selections connected to GP0 (Pin 1) - e.g. via a 3,5 mm jack plug connector
    • Optional:
      • Connect a button to GP1 (pin 2) for manual pulsing
      • Connect a button to GP2 (pin 4) for starting/stopping automatic pulsing at any time
      • Connect a button to GP3 (pin 5) for decreasing pulse time
      • Connect a button to GP4 (pin 6) for increasing pulse time
      • Connect a piezo-buzzer to GP5 (pin 7) for receiving auditory feedback
    • Note: connect the other pin of the buttons (or buzzer) to GND - e.g. pin 3. Pin numbers are given for the original RP Pico boards.
    • The FABI device could be used instead of a bare RP Pico board. The FABI board supports better user feedback (LCD, buzzer/tones, Neopixel LED) and offers 5 jack plug connectors. (For the FABI, a dedicated firmware file is provided.)
  2. Installation

    • Download the OneSwitchPulse software package from OneSwitch.org.uk, and extract the .zip file in a folder of your choice
    • Download picoPulse.zip and extract the content to the same folder as the OneSwitchPulse package (this should overwrite some files of the JoyToKey configuration settings)
    • Install the firmware on your Raspberry Pi Pico:
      • Press and hold the white Bootsel button when you plug in the USB cable; a USB drive should open.
      • Copy the firmware file (.uf2) onto this drive (into the root folder, can by done via drag-and-drop).
      • For the RP Pico / PicoW, use the file picoPulse_Firmware/picoPulse_2040.ino.uf2
      • For the RP Pico2 / Pico2W, use the file picoPulse_Firmware/picoPulse_2350.ino.uf2
    • When you start JoyToKey for the first time, make sure that the RP Pico is recognized as Joystick 1. This can be configured in the JoyToKey options dialog, see image JoyToKey_JoystickConfig.png

screenshot of JoyToKey joystick configuration settings

  1. Usage
    • Start picoPulse, JoyToKey and GTuner:
      • right-click pulseControl.exe in the subfolder picoPulse/pulseControl and select run as administrator
      • right-click ( JoyToKey - RUN AS ADMIN ).exe in the subfolder 2 JoyToKey and select run as administrator
      • double-click 3 GtunerIV/Gtuner.exe
      • Optionally you can use the startPicoPulse.exe to run all 3 applications. It should ask you for permissions to start two other applications with admin privileges.
      • Note: Some anti-virus software prevent the start of the applications because they use key injection and other techniques (which is not harmful in this case). Allow the execution of these programs - if necessary by changing the quarantine settings of your antivirus software.
      • The icon of the pulseControl application should appear in the system tray. This software provides Hotkeys for controlling the pulse scanning and audio feedback. Right-click the icon to see options.
      • The JoyToKey application and the GTuner application should have opened. In the JoyToKey application, the first configuration profile ("0000 PULSE ON-OFF ..") should be active, and the RP Pico device should be registered as the first joystick. The order can be changed in the Options of JoyToKey (Options -> Configure -> Advanced Settings). Please refer to the documentation of the OneSwitchPulse system for details.
    • Choose the correct profile in the Gtuner application (e.g. profile 4 for using a PlayStation 4 console).
    • Enable KMG capture in the GTuner Tools menu. Make sure that the GTuner application has the focus (it's window is active/selected).
    • The system should now be operational. The primary button can be used to start/stop pulse scanning, and then performs other actions depending to the current (game-) mode.
    • The supported Hotkeys processed by the pulseControl software are: (these Hotkeys are also emitted by JoyToKey)
      • Shift+F11: pulse start/stop
      • Shift+F10: decrease pulse time (faster)
      • Shift+F9: increase pulse time (slower)
      • Shift+F8: enable / disable audio click

image of pico pulse with 2 buttons on a breadboard

License

This project is licensed under the GPLv3 License.

Acknowledgements

Thanks to OneSwitch.org.uk and CelticMagic for their great work in adaptive gaming and the delvelopment of the OneSwitchPulse system.

About

RP Pico interface for one-switch gaming using the OneSwitchPulse system

Resources

Stars

Watchers

Forks

Packages

No packages published

Languages