Skip to content

dekuNukem/USB4VC

Repository files navigation

USB4VC: USB Inputs on Retro Computers!

Get USB4VC! | Official Discord | Getting Started | Table of Contents


USB4VC is an active protocol converter that let you use USB keyboard, mouse, and gamepads on many different retro computers.

Alt text

With a modular design, different platforms are supported by swapping out Protocol Cards:

Alt text

USB4VC is now available on Tindie, with two Protocol Cards:

IBM PC Compatible

  • PS/2 Keyboard (Scancode set 1, 2 and 3)
  • PS/2 Mouse
  • AT Keyboard
  • XT Keyboard
  • Microsoft Serial Mouse
  • Mouse Systems Serial Mouse
  • 15-pin Gameport Gamepad
  • Mapping USB Gamepad to PC Mouse/Keyboard

From the very first IBM PC in 1981 until the end of PS/2 ports in early 2000s, this Protocol Card covers it all!

Apple Lisa, Early Macintosh, and Apple Desktop Bus (ADB)

  • Apple Lisa Keyboard (A6MB101)
  • Apple Lisa Mouse (A9M0050)
  • Macintosh Keyboard (M0110A)
  • Macintosh Mouse (M0100)
  • ADB Keyboard
  • ADB Mouse
  • Mapping USB gamepad to all above

From Apple Lisa in 1983 to PowerMac G3 in 1999, and everything in-between!

More to Come!

Of course, more Protocol Cards are planned, and you can try make your own too!

I Want One! / Get in Touch

USB4VC is now available on my Tindie store after being successfully funded on Kickstarter!!

Questions or comments? Ask in official Discord, raise a Github issue, Twitter DM, or email dekunukem gmail.com!

Videos

Highlights

  • USB Keyboard/Mouse/Gamepads on Vintage Computers!

  • Modular & Swappable Protocol Cards

  • Wireless / Bluetooth

  • Ultra Low Latency (0.5ms)

  • Fully Open-source

  • Make-your-own Protocol Card Instruction Provided

How it Works

USB4VC consists of two halves: Baseboard and swappable Protocol Cards.

Alt text

Baseboard contains user buttons, OLED screen, and a Raspberry Pi. It processes USB input events, which are sent to Protocol Card.

Each Protocol Card has a dedicated microcontroller and connectors for a specific platform.

By splitting duties, RPi can focus on input parsing, and Protocol Card handles timing critical signal generation, resulting in a flexible architecture and reliable performance.

USB peripherals can be connected via cables, wireless dongles, or Bluetooth.

Getting Started

Click me

Technical Details / Make Your Own Protocol Cards

Click me

Why / Project Goals

Before the homogeneity of USB peripherals today, computer input devices were a wild west of proprietary peripherals, as different platforms used their own connectors and protocols for keyboards, mice, and gamepads.

Alt text

With the popularity of retro computing today, it poses several issues:

  • Many of those peripherals are simply hard to find, commanding a premium on online marketplaces. They are only getting rarer, and without them, the computer itself is useless.

  • After decades of service, many can be degraded and unreliable (e.g. foam & foil keyboards), requiring extensive restoration.

  • Many early peripherals simply does not feel that great. Mushy membrane keyboards, sticky ball mice, plasticky gamepads, etc. And of course, the good ones gets very expensive.

  • On the other hand, good quality USB peripherals can be had for a very reasonable price today with vastly superior tactility, precision, and ergonomics.

  • Thus, this project aims to make retro computers simply more enjoyable to use.

  • I also hope it can lower the barrier of entry for certain machines, put more computers back in action, help preserving existing peripherals, and generally help more people get into this hobby!

But of course, one can argue that using period-correct peripherals is simply part of the hobby, but just like HDMI upscalers or floppy emus, it's nice to have the option to enhance the experience.

Alt text

Q&A

Where can I get one?

This project have been successly funded via Kickstarter!, now it is available on my Tindie store!

Which Raspberry Pi can I use?

Any RPi with a 40-pin header should work, although Model B/B+ is preferred. See this table for details, sort by GPIO column.

USB4VC has been officially tested on Raspberry Pi 2/3/4 Model B.

Raspberry Pi Zeros should work too, but would need a USB hub.

No need to get the latest and greatest. An older RPi is plenty fast enough!

What about latency?

0.5ms to 1ms depending on the Raspberry Pi generation.

1ms is one thousandth of a second. More info here.

Can you develop a Protocol Card for ___ ?

I'd love to! But I would need a working machine with working peripherals.

So if you're in UK and is happy to lend me one for a while, let me know!

Also, as I can only work on so many at once, I'll probably focus on the more popular machines at first, but still, do let me know!

Can I make my own Protocol Cards?

Of course! See this document.

What does USB4VC stand for?

USB for Vintage Computers. Although come to think of it, it's perfect for vintage consoles too! 🤔

Questions or Comments?

Feel free to ask in official Discord Chatroom, raise a Github issue, DM on Twitter, or email dekunukem gmail.com!

Table of Contents

Main page

(Youtube Video) USB4VC in Action

Getting Started Guide

Kit Assembly Guide

Tinkering Guide / Make Your Own Protocol Card / Technical Notes

Kickstarter Acknowledgements