# Micro USB Audio and Link Cable

I can probably get that in a sot 23 then huh?

When using a XOR gate, you won’t hear a sound with the libraries that drive one pin the reverse of the other (like ATMlib)

( 0 ^ 1 == 1 and 1 ^ 0 == 1 so the result is always 1 )

2 Likes

So really you need `a + b / 2`?

(`/ 2` is cheap because it can just be `>> 1`, but `+` means an 8-bit binary full adder,
which probably isn’t quite so cheap.)

Why not just A+B, AND should work. The problem is if you AND the output from atmlibrary it is always differential so again it’s always 1.

Which seems more appropriate for sound behaviour?

`(7 + 5) == 12`
`((7 + 5) / 2) == 6`

That has opposite problem of `^` (XOR):
`1010 ^ 0101 == 1111`
`1010 & 0101 == 0000`

Disclaimer: I’m worse at sound stuff than I am at maths.

I think it will work for the purposes of single channel mono on one pin. You’ll probably want to put a series capacitor there so that you limit the current going between the pins, but that is trivial.

The challange is using this system also with the ATM lib, because they will always be inverted from each other. The edges are created from the swapping of the signals. If tied directly into the amp that is fine because the amp is expecting that. But if the signals are tied together then it won’t work. That’s what that trimpot does.

Of course… I don’t know what I was thinking when I wrote that. Thank you @Mr.Blinky.

I really don’t know what I was thinking the other day… Anyway, what about adding (with a half-adder) one bit and the complement of the other and then feed the result into a DAC like @Mr.Blinky proposed?

I imagine the amp’s other input pin would have to be at the same potential as the DAC output voltage for `b01`.

We’ve reached the limits of my technical competency lol.

Could this potentially work to link 2 Arduboys together for multiplayer?

Nope, we would need the opposite of this device, which would create 2 hosts that talk to each other.

Nope, cause the null modem connection is to connect two hosts together and not two devices.

Jinx you owe me a mod-chip programmer!

1 Like

I better get on it then

Ah that’s a shame. Oh well

Only sorta, it might be possible to get a low level chip like this to provide such a host connection. I think the SAMD can do a host?

The MAX3421 could probably be used too. They’re also used on this Arduino Uno Shield

You’d need a device with 2 of those and an mcu.

Or 1 of those and an mcu with built in host.

Well if anyone ever builds one then Network of the Damned should just work with it

Link cable prototype works! KUDOS to @MLXXXp

Using two MAX485 so that it runs in full duplex, next design will be to use a single chip that can do full duplex, at 3.3v so that it is more closer to the USB-C specification.

Using the high speed lines of the USB-C cable is allowed, but technically you are supposed to do a handshake first.

However my configuration will have it set to USB 2.0 so these extra conductors should be disconnected or tri-stated on the host device.

Even so, all of the pins on USB-C are supposed to remain 5v tolerant anyways.

4 Likes