I'd like to create a serial cable link library between two devices called Playdates. They have a TRRS audio jack, and my idea is to use a few cables as shown below to connect each Playdate's audio out into the other's microphone in, allowing for a full-duplex connection, and the creation local multiplayer games like the Gameboy Link Cable.
"L" is left audio channel, "R" is right audio channel, "G" is ground, and "M" is microphone. Those with 4 letters are TRRS, and with 3 are TRS. I don't know why TRS mic jacks have an "M" tip and ring however; perhaps for stereo mic input?
Before I begin development, I have a few questions to make sure this isn't an impossible endeavour, and to make sure my approach actually just makes sense :)
Would the above arrangement work from a connecter perspective? Are such TRRS to TRS converters made in a way so the connectors would line up as in my diagram?
Would this work from a device hardware implementation perspective? While researching around I saw that jack microphones work by applying a resistance and detecting small changes (somehow), so if one device "played audio" from its jack (whatever that actually means), could the other device pick it up as though it were a microphone input?
Some additional relevant info/resources:
- When programming the Playdate, you only have access to the microphone through their C API or Lua API, which means I'm limited in what I can do with the input/output data. The C API for mic gives you a stream of sample values, so there is some level of processing happening between the hardware and software which I'm unable to intercept (afaik).
- iFixit teardown of Playdate
- What I think is the headphone chip for the Playdate, from the above iFixit guide
Thanks for your help!! Software is my stronger point so this aspect of the project is where I need the most help, so your time is appreciated :) - Dan