• 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 to USB adaptor

bd1308

Well-known member
I need the ability to plug in one keyboard and one mouse into a device, and on the other side, emulate two ADB devices (a mouse and a keyboard). I have breadboards and three Arduinos available so I'm going to try and see if I can get this to work. The way I see this working is one arduino responsible for filtering/grabbing data from a MAX3241E USB Host Controller Datasheet speaking via SPI to one Arduino, and when a valid command is detected, send that via a interrupt to the second arduino which is handling the ADB side of things.

The way I understand ADB working, is each device is present, and initiates a connection with a reserved ID. The mac sends a acknowledgement and re-assigns a ID to the device, and the next device gets polled. In this way, I can emulate any number of devices just by following the protocol, which I've seen online before.

I'm not sure if there's any interest in this, but this *could* open up the possibility of at least providing "HID USB" support via ADB to macs. In other words, if everything works according to plan, this might be able to be used (in conjunction with software on the mac side) to emulate other devices that would be USB devices, but don't need heavy bandwidth requirements. And I dont know what devices were available back in the day via ADB, but what I've always seen was the usual mouse/keyboard and maybe something else that "borrowed" power via a in-line connector.

I might be mistaken --- I could officially be insane -- but I'm doing this and I'll share it once I get everything setup. It's the only way I'll able to get my 6100 running again.

 

onlyonemac

Well-known member
I know a Griffin iMate will let you use an ADB device with a USB computer, but I gather you're trying to connect a USB mouse and keyboard to an ADB Mac?

 

bd1308

Well-known member
Exactly. I dont have a really nice ADB mouse/keyboard, and right now I live in a condo and only have so much room. So the thing I would like to do is cut down on redundant mice and keyboards, and just hook a USB keyboard/mouse to whatever computer i'm using at the moment (which I do with my PC stuff)

 

markyb86

Well-known member
imac keyboard and puck mouse, clear "bondi" compact mac case fabrication.. oh man.

I 'm interested in seeing this done.

I'm devising a plan to cast a new front for my SE in colored resin. if it works out, I'm going to come to you for answers on using USB peripherals. lol

 

bd1308

Well-known member
imac keyboard and puck mouse, clear "bondi" compact mac case fabrication.. oh man.I 'm interested in seeing this done.

I'm devising a plan to cast a new front for my SE in colored resin. if it works out, I'm going to come to you for answers on using USB peripherals. lol
PLEASE PLEASE lemme know if you get this done and tell us how you did it. My SE/30 front panel is major borked and its cracked.

 

krye

Well-known member
I too have been needing some sort of keyboard-reducing solution. I was thinking something along the lines of making an ADB KVM/switchbox kind of thing though.

I did come across this...it's a Next to USB convertor using an Arduino.

I thought about making a Keyboard II version just to use an old keyboard on a newer machine via USB, just for the fun of it. Seemed like an easy project. I picked up the parts, but haven't had the time to protoyype anything yet.

 

Trash80toHP_Mini

NIGHT STALKER
I haven't played around in Illustrator for a while, so I had a little fun re-creating the KVM _Monster from the old apartment:

ADB-PS2-USB-Switching.2p.jpg

It looked muuuuch messier with the real cables attached than it looks here . . . :lol:

. . . and yes, the Monitor/ADB/10bT/Power Cables were all color coded with electrical tape wrap and braided together on the mac side! ;)

 

RickNel

Well-known member
by krye » 07 Mar 2013, 05:42 I too have been needing some sort of keyboard-reducing solution. I was thinking something along the lines of making an ADB KVM/switchbox kind of thing though.
I see a lot of A/B DB25 switchboxes being junked these days - the sort that used to connect two parallel printers to a port, or two hosts to a printer, before USB and ethernet printer networking. Should be adaptable for sharing ADB connections - you only need to switch 2-3 lines.

Rick

 

Bunsen

Admin-Witchfinder-General
Cypress Semi have some USB Host ICs which just might have enough brain onboard to do ADB conversion without needing a second micro, as well as GPIO pins for bitbanging.

Semi-related thread

If not, any of the cheap ARMs with USB host onboard should have plenty enough grunt for this. Using two Arduinos and a separate USB IC sounds like doing it the hard way to me.

If you are just more at home with AVR/Arduino, you can get them with USB host these days, too, and fast. ADB isn't exactly a fast or fat pipe; seems to me like a single micro should be able to handle bit-banging that, USB, and data conversion.

Reading the summary page on the Maxim USB device you linked above:

Any SPI master (microprocessor, ASIC, DSP, etc.) can add USB peripheral or host functionality using the simple 3- or 4-wire SPI interface.
I wonder if you could steal an ADB IC from a broken keyboard or mouse, and use that for the upstream side? Chances are that uses SPI or I2C.

 

Trash80toHP_Mini

NIGHT STALKER
I see a lot of A/B DB25 switchboxes being junked these days - the sort that used to connect two parallel printers to a port, or two hosts to a printer, before USB and ethernet printer networking. Should be adaptable for sharing ADB connections - you only need to switch 2-3 lines.
Somewhere, I've got a wiring diagram that's intended to convert ALL the necessary KVM + Serial Port signals of an ADB Mac into an octopus cable for the DB-25 connector. I haven't tried it yet, but it may work out well. I've collected several Centronics connector A/B, A/B/C and A/B/C/D switchboxen over the years. The extra lines and better shielding of Parallel Port cables could be a huge benefit, but they're not as readily available.

Using the serial port lines on my DB-25 converter for shielding might make the signalling more reliable, dunno.

____________________________________________________________________________________________________________________________

The most common denominator nature of PS/2 would be the point of the diagram I posted above. PS/2 is a fairly efficient solution to KVM reduction of peripheral redundancy for a PC/USB Mac/ADB MAC installation.

PS/2->USB connectors are very inexpensive, while the http://Griffin Imate adapter in my setup is less so, but still available new and used for fairly reasonable prices.

That said, my Digital Audio didn't get along well with my Imate, so I wound up using the original KBD and Mouse or my favorite scrolling, two button MiniMouse along with the PS/2 set. This wasn't a problem for me. I didn't have the severe space restrictions of some here when I was using the setup posted above as my daily driver.

I'm also lucky to have purchased the OmniView Mac connection kit in the diagram above along with the three Mac A/B/C KVM switchbox back in the day for the rugger's Quadra 630/386 Clone A/V/HomeWorkStation setup. Pricing for both are insane of late.

____________________________________________________________________________________________________________________________

PS/2 KVM switchboxen should be fairly easily adapted to VGA/ADB KVM status using panel mount/soldertail S-Video connectors for ADB on the KBD connector and possibly USB conversions of switchbox cables from the Mouse connections. I've collected several mechanical PS/2 KVM switchboxen for this purpose. Electronic KVM switchboxen would be better and they are still available NIB, or were fairly recently. These are far superior to the mechanical variety.

New USB KVM switchboxen would be the ultimate in availability, so a USB->ADB adaptation would be the most useful as I see it. Macs don't like having KBDS/Mice appear and disappear on a switchbox, especially the rodents. I keep an alias of ADBReset on the Desktop of all my KVM switched Macs in order to run it from KBD commands when the mouse function drops dead. So Mouse/KBD emulation in a Mac Converter or switchbox would be very important, if possible.

____________________________________________________________________________________________________________________________

The really ugly solution I've been considering for KBD emulation on the ADB side is boxing the controller boards of the much maligned AppleDesign KBD in a KVM converter for each ADB Mac on a PS/2 KVM solution for the Mac side. I've collected several of these ADB MushBoards and reassembly of the KBDs would be no problem.

____________________________________________________________________________________________________________________________

Maybe I'll play some more in Illustrator later today, I'm not really expecting that anyone will be able to parse much of this post. :/

 

CC_333

Well-known member
:lol: . . . erm . . . which one? :?:
I don't know, all of them?
I guess the notion of adapting a Mac to an otherwise incompatible KVM switch thing is interesting.

c

 

Trash80toHP_Mini

NIGHT STALKER
VERY Low Tech KVM setup using DB-25 Switchboxes DB-25 Cables for tiered box2box and customized octopus cables for Box2Mac.

DB-25_KVM_Serial_Cable.2p.jpg

Substitute USB for Serial and there will be enough clean ground lines to go around, that's put ADB and USB Macs on the same inexpensive DB-25 installation.

Untested feasibility study: Illustrator file creation date: Feb. 7, 2003 ;)

 

RickNel

Well-known member
Well that is a fulsome solution for the electrical connections, so fine for like-to-like bus KVM.

For ADB->USB there will still need to be a protocol-converter somewhere on the data path. For an A/B switch, where A = ADB and B = USB, you could probably fit a small circuit board inside the switch box. Not sure how much power you could draw from the bus power lines - probably enough for some programmable chips but not for others. Space should not be a problem, since the dimensions of those boxes is determined by the DB25 sockets and the (usually bulky) rotary switches, and includes a lot of air.

Rick

 

Trash80toHP_Mini

NIGHT STALKER
THX, Rick! Doing a couple of mods will make it far more flexible.

Re-assign pins 5-11 to USB/whatever from the serial port I needed back in the day and it will work on USB Macs as well.

Substitute VGA for the LC Video in the spec and use VGA Converters for the vintage Macs will make it more flexible still.

The DB-25 cabling can then serve a mixture of ADB Macs, USB Macs and PCs.

You'd still need the Equivalent of the MiniView Macintosh Converter in the first diagram I posted, but like in that diagram, it can be a separate box.

I did some skulking around on eBay and it looks like PS/2 switchboxen may be a more elegant solution. Say: three PCs and Macs on a four-way USB switchbox and hook the fourthe cable set to the input side of a four-way PS/2 switchbox, for three more CPUs with a downlink to another PS/2 switchbox.

Run your USB over the mouse circuit and ADB over the KBD circuit, doing either connector adaptation at each CPU. The USB->ADB coverter box would be inserted wherever needed on the PS/2 KVM tree.

I'm tired, so this is kinda blurry for me as well. ;)

 

Trash80toHP_Mini

NIGHT STALKER
PS/2 is definitely the way to go:

For a mixed ADB/USB Mac/PC KVM network, just switch out the connector needed:

1) at the computer side of the cable

2) at the input side of for the peripherals

Mouse connector swappage:

http://www.digikey.com/product-detail/en/1003-023-01300/1175-1026-ND/3064757

http://cnctech.us/pdfs/1003-023-01300.pdf

KBD connector swappage:

http://www.digikey.com/product-detail/en/MD-40/CP-2040-ND/96912

http://www.cui.com/Product/Resource/DigiKeyPDF/MD.pdf

You'll still need a double peripherals setup without either the ADB->USB or USB->ADB conversion at some point.

I wonder if it'd be workable to use the extra wires for switching Audio as well? If noise would be an issue on either USB or ADB, just use the redundant connector for Audio on either type of Mac or PC?

 
Top