Skip to content

Installing USB Driver on Windows

Mark Vedder edited this page Nov 3, 2017 · 1 revision

This page will guide you through installing the Keyboardio Model 01 USB driver on a Windows system.

Before you get started

  • Manual installation of the USB Driver is only needed on Windows 7, 8 and 8.1. They will be automatically installed on Windows 10.
  • The USB driver only needs to be installed to flash your Model 01's firmware (as discussed on the Install Arduino support on Windows page. It is not needed to use your Model 01 as a Keyboard.
  • The current version of the Driver is not yet digitally signed. A signed driver should be available in the near future. In the meantime, the instruction below include information about how you can still use this driver.
  • Source code for the Keyboardio USB Driver is available at https://github.com/keyboardio/Keyboardio-Windows-Driver-Serial

Understanding the Dual Nature of Your Model 01

Your Model 01 has two USB IDs. One for the Keyboard “itself” and one for its Bootloader. The Bootloader is what is used to flash (that is update) the firmware (including customized keyboard layouts) to your Model 01. Since it has two different USB IDs, we need to load and register the Driver for each ID. The instructions below do that. It should be noted that when the Model 01 is connected to your computer in Bootloader mode, it will do such only for ~8 seconds. It will then “revert” back to “just being a Keyboard”.

Installing the USB Driver for Windows

  1. Download the Keyboardio Model 01 Driver from http://fsck.com/~jesse/tmp/2017-10-26/3c2b28fa-89bb-4b3c-a06b-5ca265f6d285/keyboardio-windows-drivers.zip
  2. Unzip the downloaded file
  3. Right click on the model01.inf file and select “Install” from the context menu.
    • Note: Because the driver is currently unsigned, on Windows 7, you will get a Security Warning dialog stating that the publisher cannot be verified. You can click “Install this driver anyway”, or alternatively wait until the signed driver is published. By default, Windows 8 & 8.1 will not allow unsigned drivers to be installed. However, if desired, you can temporarily disable that requirement by following the instructions here or here.
  4. The driver will install quickly, and Windows does not provide a “completed” dialog of any type.
  5. Unplug your Model 01 from your computer. Wait to proceed until you hear the USB Disconnect tones (or for 10 seconds).
  6. On your Model 01, press and hold down the prog button (top left corner of the left hand keyboard). While holding down the prog key, plug your Model 01 back into your computer's USB port. Once the red light on the Model 01 turns on, you can let go of the prog key. You will hear the standard Windows USB connection tones. A few seconds latter, the red light under the prog key will turn off and you will hear a second set of USB tones. The operation is then complete.
    • What we just did: We just (temporarily) connected the Model 01 in bootloader mode to the computer so Windows would load and register the USB driver for the bootloader from the driver we just installed. See Understanding the Dual Nature of Your Model 01 for more information.

Troubleshooting USB Driver Installation on Windows

The steps laid out above in the Installing the Driver section are usually sufficient. In the event they are not, here are some steps you can do to troubleshoot the driver installation.

Procedure: Open the Device Manger

  1. Open Window’s Device Manager Either by:
    • Using the the control panel
    • Searching for Device Manager in the Windows Start Menu
    • Right clicking Computer on your Desktop, selecting “Mange”, and then clicking “Device Manager” from the Computer Management dialog
  2. Expand the “Ports (COM & LPT)” section
  3. With your Model 01 Plugged in, you should see it listed in under “Ports (COM & LPT)” as “Keyboardio Model 01” followed by a COM port number in parenthesis. If not continue with the next section, Verify “Keyboardio Model 01” Driver. If you do see it listed properly, proceed to the Verify Bootloader Driver Installation

Verify "Keyboardio Model 01" Driver Installation

  1. If “Keyboardio Model 01” is not listed in under “Ports (COM & LPT)” section of the Device Manager (see Opening the Device Manger above), expand the “Other Devices” section of the Device Manager.
  2. Look for the “Model 01” (or something similar) listed in the “Other Devices” section. If you do not see it, watch the “Other Devices” section as upu unplug your Model 01 from the computer. Wait for the USB Disconnect tones to sound and see which item disappears. Then plug your Model 01 back in and identify the entry (that reappears).
  3. Right click the “Other Devices” entry determined in the previous step and select “Update Driver Software” from the context menu.
  4. In the Update Driver Software dialog, select “Browse my computer for driver software”
  5. In the “Search for driver software in this location”, enter, or use the browse button to select, the directory that contains the Model 01 driver you downloaded in Installing the USB Driver for Windows instructions above. Then click “Next”.
  6. Let Windows install the driver
    • Note: Because the driver is currently unsigned, on Windows 7, you will get a Security Warning dialog stating that the publisher cannot be verified. You can click “Install this driver anyway”, or alternatively wait until the signed driver is published. By default, Windows 8 & 8.1 will not allow unsigned drivers to be installed. However, if desired, you can temporarily disable that requirement by following the instructions here or here.
  7. Close the “Windows has successfully updated your driver software” dialog. Your Model 01 should now appear under the “Ports (COM & LPT)” section.

Verify Bootloader Driver Installation or Determine its COM Port

Note: If you are following these instructions simply to determine the COM port of the Bootloader, follow the instructions until you see the Bootloader (momentarily) appear in the “Ports (COM & LPT)” section in the Device Manager. Make a note of the port number that shows up in parentheses after the name as it briefly appears. For example, it might read “Keyboardio Model 01 Bootloader (COM6)”, indicating the Bootloader is on COM6. (Do not confuse this with the ”Keyboardio Model 01 (COM?)” listing which is the keyboard proper, and not its bootloader. It is safe to repeat the these instructions multiple times if you missed reading the COM port number.

  1. Navigate to the “Ports (COM & LPT)” section of the Device Manager (see Opening the Device Manger above)
  2. You should see an entry for “Keyboardio Model 01” followed by a COM port number in parenthesis. If not, first follow the instructions in the Verify “Keyboardio Model 01” Driver Installation section above before proceeding with this section.
  3. Unplug your Model 01. Wait for the USB disconnect tones and for it to disappear from the “Ports (COM & LPT)” section in the Device Manager (or for 10 seconds).
  4. Keep an eye on the Device Manager screen as you do the following… Hold the prog key down on the Model 01 and plug it back into your computer while you hold it down. (Once the red light under the prog key comes on, you can release it.) Watch the “Ports (COM & LPT)” section in the Device Manager. It will refresh a couple of times. At some point, you should see the bootloader appear under “Ports (COM & LPT)”. It's name will be “Keyboardio Model 01 Bootloader” (not “Keyboardio Model 01” which is “just” the keyboard). It will only show for a few seconds before disappearing and the “Keyboardio Model 01” listing returning. If you saw the “Keyboardio Model 01 Bootloader” appear, you are completed with this process. Otherwise continue on.

Advance efforts to register the Bootloader Driver

Despite the preceding steps, sometimes Windows will not find the proper device driver in the ~8 seconds your Model 01 is connected in Bootloader mode before it times out. This can be especially true on a system that has had a large number of different USB devices connected to it. Windows has to search all the installed USB drivers to find the one for a newly attached device. It does not matter if these devices are not actively attached to your computer. The drivers are still installed. If the Bootloader driver dis not install when yu followed the preceding steps, there are some ways to attempt to speed the process up. First, you may simply want to try the previous process two or three more times to see if it works. If not, below are some ways you can attempt.

Reduce System Resource Usage

Close all running programs and reboot your PC, Do not start any programs. If you have any back ground programs running (often displayed via icons in your System Tray) shut them down. We want to reduce any CPU and other resources in an attempt to speed up Windows ability to find and register the driver. Once you have done that, proceed with the instructions in the Verify Bootloader Driver Installation or Determine its COM Port instructions above.

Disable Searching of Windows Update for Drivers

Another way we can attempt to speed up the process is to temporarily disable Windows efforts to search Windows Update for an appropriate Driver. To do this, do the following:

  1. On your Desktop, right click “My Computer” and select “Properties”
  2. Select “Advance system settings” from the task list on the top left.
  3. Select the “Hardware” tab on the System Properties dialog.
  4. Click the “Device Installation Settings” or “Windows Update Driver Settings” button (The name will differ depending on your version of Windows)
  5. Make a note of the current setting so you can restore it later.
  6. Depending on your version of Windows, you need to select either:
    • “No” and then “Never install driver software from Windows Update”; or
    • “Never check for drivers when I connect a device.”
  7. Save your changes.
  8. Repeat the instructions in the Verify Bootloader Driver Installation or Determine its COM Port instructions above.
  9. IMPORTANT: Once completed, return the “Search Windows Update for Driver” settings back on. (Many products today do not ship with Drivers but depend upon Windows search for them automatically. So it's best to leave this setting on.)
Other Options

If you still have difficulty getting your system to recognize the Bootloader when it is connected, you can see this superuser question and answer for some other suggestions on how to speed up the search process.

Clone this wiki locally