Archives

Retro USB is available for sale now – visit the BMOW shop to be the first kid on your block to get one! Retro USB is an input converter for USB and ADB keyboards and mice. It works in two directions, connecting modern USB peripherals to a classic ADB-based Macintosh or Apple IIgs computer, or ADB peripherals to a USB-based computer running Windows, OSX, or Linux. The foreign keyboards and mice behave exactly like native peripherals, requiring no special software or drivers – just plug it in and go.

Now you can finally use an optical mouse with your vintage Macintosh, or amaze your coworkers with an antique Apple Extended Keyboard on your work machine.

The last month of development has been a marathon, but I’m very excited to finally release this product whose first concept was outlined here over a year ago. Aside from a very long period of hibernation between concept and implementation, the final result turned out very similar to how I imagined it in those first concept posts.

Compatibility

The Retro USB hardware is compatible with all Apple computers, keyboards, and mice using a mini DIN 4-pin ADB connector, including most early Macintosh computers and the Apple IIgs. It is also compatible with standard USB keyboards and mice with a USB-A connector. When in ADB-to-USB conversion mode, it works under Windows, OSX, Linux, or any other operating system that supports USB HID input peripherals.

19 Comments so far

Keith Kaisershot May 16th, 2017
4:42 pm

Do connected USB keyboards/mice remain enumerated by the ADB host after the USB devices are disconnected? I’m asking because I want to make this part of my KVM setup, but my KVM switch cuts power to USB upon switching. I’m hoping if I hook up a Retro USB and power it via its mini-USB port, then everything will “just work” when I switch back and forth between machines, but I want to make sure before I place an order.

That should work, assuming I understand your setup. ADB doesn’t do USB-style device enumeration anyway – only a simple address conflict resolution if you have more than one keyboard or mouse.

Matt May 17th, 2017
7:02 am

This looks great! I have an old Kensington Turbo Mouse, which is an ADB trackball with multiple buttons. Have you tested any hardware along these lines? I know other ADB to USB projects had to add special support for reading multiple mouse buttons. Also, have you tested any joysticks, either ADB or USB, with the device?

Version 1.0 supports the two official ADB device types: keyboard and 1-button mouse. Other device types are possible with a future firmware update, but those would be using a custom ADB protocol that would need to be reverse engineered if it’s not documented somewhere. Do you have a link to a project that did ADB to USB for the Turbo Mouse?

Matt May 17th, 2017
4:46 pm

Well, it appears that I remembered incorrectly. It appears that there was discussion about adding this support to the tmk adaptor, which you can find at https://github.com/tmk/tmk_keyboard/issues/274
It doesn’t look like support ever landed in the code, however. There is a link on that page to an Apple doc about an Extended Mouse Protocol, which I believe the Kensington device uses, but I’m shooting in the dark a little bit here. I hope it leads you down a useful path; my apologies if it doesn’t.
Your hardware is beautiful and I daydream about it often. Will you be at Kansasfest, and if so, will you be selling products?

JohnM May 17th, 2017
6:49 pm

When do you expect to have more in stock? This looks awesome!

bigbadwolf May 17th, 2017
7:36 pm

Does this support a wireless usb receiver for keyboard and mice? It seems like only wired usb devices are supported because you mention a hub is required to connect those.

I’ll have more available in a few days, but I can only assemble them so fast! There’s nothing special about wireless vs wired devices, both will work if they present the same USB interface descriptor to the OS. Many wireless devices are also composite USB devices though, which may be problematic.

Matt, yes that’s very helpful. Implementing the full extended mouse protocol would take some work, but the 2nd button state appears to occupy an unused bit in the standard mouse protocol. It would be a trivial firmware change to check that bit and use it. If you have a Turbo Mouse and a Retro USB board, I can send you a modified firmware to try out.

Merlin May 18th, 2017
7:44 am

Steve, I missed the last week of conversations about this device.
I just wanted to say Congratulations on getting this to work.

Alexcat3 the Electronics Kid May 18th, 2017
10:03 am

I don’t mean to sound critical– I think your products are really cool and if I hadn’t wasted my birthday money I might buy one– but I’m curious why the prices of small batch electronics such as Retro USB are high compared to the low costs of components such as microcontrollers $3-$7 and PCBs ($5 per square foot for 3 at OSHPark). Is it the cost of labor to assemble the material? THat would be much higher with small batches where less automation could be used. Is it the painstakingly manual shipping. Or do all of the individual components add up?
I have a few ideas for hardware projects to create for myself and it would be helpful to know about the costs that add up later.

Do you mean for Euro-style keyboards? I haven’t tested it with any, but the key layout shouldn’t matter as long as the keyboard transmits standard USB HID keycodes. I would appreciate feedback from anyone who uses Retro USB with a non-US keyboard as to whether any key mappings need editing.

Steve > most ADB to USB adapters doesn’t work with the top-left key from ISO keyboards, which is @ on a french-azerty layout for example. Pierre Dandumont reports this on his blog: http://www.journaldulapin.com/2017/05/30/retro-usb-adb/
It’s written in french but google should easily translate 😉