How to mod any toaster to control Windows and PC games (Demoed with Doom) - Description
While working on my PyToast project, I discovered that it's deceptively simple to connect a toaster to a computer. This page will explain how to mod any toaster manufactured later than 2010 so that the toaster lever acts as a controller for any Windows PC. This device is demoed with the class PC game, Doom using the Brutal Doom mod.
What You Need
This project requires a screwdriver and a standard USB cable.
Video of the working toaster controller
Step 1: Connecting the toaster to your PC
Connecting your toaster to your PC is not difficult. All toasters manufactured after 2010 use a standard industry-wide microcontroller, and have hidden USB ports inside their outer casing. The USB ports are built into the toaster so that during manufacture the toaster's firmware can be easily copied to it. Toasters are relatively simple appliances, but modern versions still use a microcontroller to handle the timing of their heating coils. The USB ports are no longer needed after the toaster is manufactured, but it's cheaper and simpler for factories to hide the USB port from the end consumer than to waste time removing it after the firmware is copied.
To connect the toaster to the PC, open the outer casing of the toaster, find the USB port inside of it, and plug in the USB cable. Then plug the other end of the USB cable into the computer.
You can see the hidden USB port built into the toaster at the bottom center of the toaster (circled).
USB Cable Connected
Connect the USB cable to the port.
Step 2: Installing the toaster
This step is the easiest. Standard toaster microcontrollers are designed to interface with Windows when activating their firmware, so users with Windows 7 and 8 / 8.1 already have the toaster drivers installed to their PC. To be sure, you can open your device manager to verify your toaster shows up as a toaster. I've received reports from some users saying their toaster showed in the device manager as a mouse or a keyboard, but rebooting once usually fixes the problem.
Step 3: Remapping the toaster lever to emulate keyboard presses.
Once the toaster is correctly connected to the computer, it should now work as a PC input device. The only supported input built into the Windows default toaster driver is the toaster lever. Windows automatically translates a pull down on the toaster lever to a configured keypress. By default, pulling down on the toaster lever translates to pressing "enter" on a Windows keyboard. You can test this now by pulling the toaster lever.
IMPORTANT: When a key press is mapped to the toaster, it DEACTIVATES the respective key on the keyboard.
To change the key press the toaster lever maps to, open a command prompt window and type "toaster remap 'key'" without the quotes and press enter. (plugging in a toaster automatically installs the toaster remap executable to your PATH). Remember that if your toaster is currently mapped to the enter key (the default), you will need to use the toaster lever to submit the command as the enter key on your keyboard will be disabled.
If your toaster has multiple slots, each lever can be separately mapped to a different key press by appending the lever index to "remap" in the command (zero indexed). If you have multiple toasters plugged into your computer, all levers can be mapped to key presses (the lever indices combine linearly in the order the toaster was plugged in).