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.
-
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.)
-
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
- Usage
- Start picoPulse, JoyToKey and GTuner:
- right-click
pulseControl.exein the subfolderpicoPulse/pulseControland select run as administrator - right-click
( JoyToKey - RUN AS ADMIN ).exein the subfolder2 JoyToKeyand select run as administrator - double-click
3 GtunerIV/Gtuner.exe - Optionally you can use the
startPicoPulse.exeto 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.
- right-click
- 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/stopShift+F10: decrease pulse time (faster)Shift+F9: increase pulse time (slower)Shift+F8: enable / disable audio click
- Start picoPulse, JoyToKey and GTuner:
This project is licensed under the GPLv3 License.
Thanks to OneSwitch.org.uk and CelticMagic for their great work in adaptive gaming and the delvelopment of the OneSwitchPulse system.

