• Updated 2023-07-12: Hello, Guest! Welcome back, and be sure to check out this follow-up post about our outage a week or so ago.

ADB Busboy: Adapter for USB peripherals over ADB

Scott Squires

Well-known member


 
I have developed an adapter for using USB keyboards and mice over ADB. View a video demonstration of the prototype below. It is powered by the ADB bus and hosts USB keyboards, mice, and hubs. The production version will have an integrated hub with two ports (one keyboard, one mouse).
The prototype is functional, but there is a lot of work left to do. Designing the PCB, implementing some additional firmware features I have planned, designing an enclosure, implementing a test suite, etc. Expecting to be able to ship them in 1Q 2017.
 
Demonstration video


 
Last edited by a moderator:

joethezombie

Well-known member
Hell yeah! Can you explain a bit how it works? Will this be an open source project? Any idea of cost? So many questions!

 

Scott Squires

Well-known member
There's a microcontroller with a hardware accelerated USB host function. There are a couple transistors for interfacing the microcontroller to the ADB bus. And several supporting components: led, button, voltage regulator, capacitors, resistors, etc. The software running on the microcontroller presents itself on the ADB bus as both a keyboard and a mouse. When input is received from a USB peripheral, it is converted to ADB format and transmitted to the host computer.

I haven't decided whether to open source it yet. I will be selling them. That doesn't preclude open source, but I want to at least get some produced and ready to go before I make that decision.

I will probably regret commenting on price at this early stage, but I'm guessing somewhere in the $40 ballpark. That's for a bare PCB without an enclosure. The enclosure will be an optional add-on. Price for the enclosure will depend on the price I can get for low (tiny) volume CNC machining services. Probably around $10 to $15.

 

EvieSigma

Young ThinkPad Apprentice
This might sound like a silly question, but this adapter would support soft power, yes?

Well...if you could assign a key/key combination on a USB keyboard for soft power, that is.

 

joethezombie

Well-known member
I prefer my ADB keyboards to USB ones, but the thought of using a real optical mouse with my vintage hardware is quite exciting!

 

Scott Squires

Well-known member
Soft power will not be possible from the keyboard. Instead the adapter will have a button on it to provide that function.

The power button can't be mapped to the keyboard because we can't detect USB keypresses without the ADB bus power to power the keyboard with.

 

EvieSigma

Young ThinkPad Apprentice
Well having a button on the adapter is fine. As long as I can use it to power up Macs that can't be powered on without a keyboard.

 

techknight

Well-known member
bbraun or dougg3 I cant remember which, has already been down this road and done this project using the STM32 discovery board. Just FYI.

Then there is kbdbabel. 

 

Scott Squires

Well-known member
How is it with third party wireless stuff?
This brings up one of the things I mentioned above about additional firmware features. The present software supports "boot mode" keyboard and mouse hid protocols. Basic peripherals generally only implement the boot mode and work perfectly with the adapter. Fancy devices, such as gaming mice, wireless mice, nkro keyboards, etc. often have additional hid descriptors that are different than the boot mode descriptors. I do plan to support most of these devices.

For a quick test I tried out a 2.4 GHz wireless mouse with dongle. Vertical mouse movement worked, but horizontal movement didn't. I think it's because my firmware chose to use the wrong hid endpoint. I'll add this to my list for implementation and testing.

All this assumes that the device presents itself as a USB HID device. If we're talking bluetooth, then that's different. It won't work with bluetooth devices. Unless you have a bluetooth HID proxy dongle. But I don't think those are easy to find these days.

 

Scott Squires

Well-known member
I recognize that this has mostly been done before, but none of those efforts have resulted in an off-the-shelf solution. My intention is to provide a product that people who want this functionality can actually purchase.

 

Floofies

Maker of Logos
I love what you're doing, and yes- I think you should consider keeping it closed source. Your time and effort are worth something.

This might sound like a silly question, but this adapter would support soft power, yes?

Well...if you could assign a key/key combination on a USB keyboard for soft power, that is.
For reference, the power key on typical ADB keyboards is not "soft"; it is directly wired to the PSU through a dedicated pin. This is why you can't simply map a key to it via the adapter without a pre-existing power source. If you were to create a mechanism to map a key to power, it would require a battery and much more support logic (More $$$ to make too). The simplest solution, as Anthon has said, would be a basic hardware button in the appliance itself.
 
Last edited by a moderator:

CelGen

Well-known member
So I have a KVM with a USB port on it and a WGS95 in a rack.

With this I could convert the ADB on the machine to USB for the KVM so that the one console drawer I manage all my servers from can also interact with the mac as well?

 

Scott Squires

Well-known member
Yes! ADB Busboy supports hotplugging the USB peripherals and up to 5 hubs (total, whether nested or not), so the KVM switch would work with it no problem. (Every KVM I have seen uses a hub so that only one USB cable goes to each computer. So in this case, there would be two hubs, the one integrated in the ADB Busboy and the one in the KVM.)

 

ArmorAlley

Well-known member
Hi Anthon,

This is interestng. I may very well buy one or two from you at USD50 apiece.

Are you familiar with the Kensington Mouse-in-a-box (#64475)? It has a USB-ADB connector that allows me to plug said USB-mouse into an ADB port. I'm told that it only works with this mouse though.

I have 2 questions:

1. Will it need a driver (INIT/CDEV)?

2. If so, will it only work with Mac OS 8 onwards (on account of the need for USB drivers?)

Keep up the good work,

aa

 

Scott Squires

Well-known member
My understanding is that the Kensington mouse had both USB and ADB electronics inside, and switched between them depending on what it was connected to. The intelligence was in the mouse, not the adapter.

ADB Busboy will work without drivers, and will work on all system software that uses ADB, all the way back to the Apple IIgs.

 
Top