dekuNukem / USB4VC

USB Keyboard/Mouse/Gamepads on Retro Computers!
MIT License
207 stars 13 forks source link
computer embedded embedded-systems ibm ibmpc macintosh raspberry-pi raspberrypi retro retrocomputing retrogaming stm32 vintage-computers

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

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)

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

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:

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