RBUS-ADAT devlog

2024-02-04
#music #electronics

Origins

Funny enough, the origins of this project has nothing to do with R-BUS or ADAT.

Ideas to build a digital only version of the EDIROL SD-80 surfaced in early 2023 as an extension to my SD-80 modding plan. Beacuse my SD-80 is half broken (headphone amp on analog output 1 fried due to my stupidity, see my second SD-80 post for how it happened) and I only ever record it through its digital outputs anyway, I believe I can drastically reduce the footprint of it by taking out all the analog outputs and removing the now unused ±15V rail, making the device USB bus powered at the same time. There was also plans to add a second digital output to the modded SD-80, however the plan was never finalized, let alone implemented because of my lack of proper electronics knowledge and soldering skills. The idea was therefore shelved.

Meanwhile in early 2022, I acquired a Roland XV-5080 (which I still have a long overdue review to write). I was also only recording that thing digitally and sometimes felt that wasting the other 3 stereo outputs is a shame. I did a bit of research and apparently the R-BUS port on its back outputs all 4 stereo outputs of the synth. Later I found out there was the DIF-AT and DIF-AT24 that can convert R-BUS to ADAT which is still fairly common on modern audio interfaces. However for a small box that doesn’t really do much, asking price for the DIF-AT is absolutely crazy – every single listing I saw was ~$200. And the DIF-AT24, which supports 24-bit ADAT output (in contrast to DIF-AT’s 20-bit output), is pretty much unobtainium. So I decided to live with recording through its S/PDIF output for the time being.

In September 2023, by pure coincidence, I found a listing on ebay of a chip described as “ADAT optical encoder/generator”, which was the coolaudio V1401 that later would become the heart of my design. After reading its datasheet I decided it would pretty much make my SD-80 digital mod trivial, with the added benefit of carrying both stereo output channels on a single port. So I opened up the service manual for SD-80 and started to study which pin each signal should go to. However I quickly realized that performing the mod would require soldering around the XV chip inside the SD-80, which is still a thing that I’m not really willing to do; and that I could easily test out my theory on XV-5080’s R-BUS port because the digital audio output pins on XV-5080’s R-BUS port is pretty much directly connected to the XV chip through an inverter.

To summerize … I came up with a solution for a problem that I made up for myself.

Background check on the chip

The seller of the chip claims the chip is an equivalent of the AL1401 from Alesis, which sounds quite interesting as Alesis is actually the company behind ADAT (Alesis Digital Audio Tape, as for why it’s a tape not a optical interface… that’s a story for another time). Suspicion that this chip is a Chinese clone arose. So I did a bit of background on the company … [1]

Turns out, of course it is. While its roots can be traced to the US in the 90s, design team of coolaudio is now located in China [2]. Better still, it’s a brand of Music Tribe, which is Uli Behringer’s company. Yes it’s the same person who founded Behringer which is best known as the legal (/s) clone audio equipment manufacturer. No wonder why coolaudio’s product portfolio is all clone chips.

Well, the original AL1401 is pretty much impossible to find nowadays, so I really have no choice don’t I?

Ill-fated commencement

I ordered the V1401 chips before my end-of-year vacation travel. When I returned from my vacation, I found these in my mail box:


Suspicious packets

which may look suspicious to law enforcement… but they are actually just chips. Not the edible kind.

My prior experience with electronics is only limited to reading schematics and disassembling (and destroying in the process) hundreds of home appliances. So I guess I have seen hundreds of printed circuit boards but I haven’t ever made or designed one of my own. I did take a class during my undergrad that involved programming FPGAs, which did have a “drawing schematics on a computer” component to it, but that didn’t have anything to do with PCB design.

Since I do not have any prior experience working with EDA software, I toyed with an Chinese online EDA toolkit that literally has “easy” in its name (EasyEDA) and drew a tentative schematic for the supporting components. Apparently it wasn’t that different from what I used when I was taking the FPGA class, but at this stage I still haven’t confirmed many aspects of the characteristics of R-BUS yet. As a result there were a multitude of issues with this schematic. However it did help me come up with a list of components (“bill of materials” in more professional terms) needed for the project. I ordered these together with some prototyping supplies online, hoping to actually build a prototype once they have arrived.


The error-riddled schematic

I need an audio interface with ADAT inputs because none of the bunch I already own has one. Since the Scarlett 18i8 3rd gen was on sale for $360 at the time, I decided to get one.

When I was reviewing the datasheet for the components I ordered [3], I found out that I’ve ordered the wrong optical transmitter. The part I ordered was TOTX1353 which only supports up to 500 kb/s data rate … less than 1/20 required by an ADAT data stream. However for some stupid reason that I couldn’t recall, I decided to try prototyping with it anyway.

I soldered one of the V1401 chips to the SOIC carrier board. As this time I used plenty of proper, good quality flux as suggested the MacBook repair guy Louis Rossmann [4], the result didn’t look nearly as bad as my previous SMD soldering attempts and I was quite happy with it.

On the following day I started showing mild symptoms of a common cold. Later that night a fever kicked in. The next day I decided to use an expired Cornweed [5] test kit on myself and found out Cornweed was growing inside me (hence the name of this subsection).

I got a week off from my workplace to get rid of the Cornweed. Since I already felt much better after one day, I started breadboarding. It was finished pretty quickly. But soon after that I found out there was more than one thing wrong with the optical transmitter module I chose – the module doesn’t have a drive circuitry built in and it pretty much just a bare LED. There is no way in hell that it can be directly driven from the output of a 74LS04. The LED in the transmitter only barely lights up when the output is active. At this point I finally realized that I can’t use this out of spec piece of crap in the final design anyway, so I placed order for a few transmitters that are more fit for the job.


The chip on its breakout board

The breadboard prototype before it was working

When I was trying to wire in the DB-25 terminal block, I found out that I don’t have the proper flathead driver for the screws. So I had to get one of those as well.

Once I really had all the items I need, I started putting things together. The process was fairly easy but the audio interface didn’t see the ADAT signal on the first attempt. I double checked all the breadboard connections and inputs to the chip, which appeared to be all correct. Feeling tired, I removed the prototype from my desk to work on it the following day, unplugging all the cables in the process.

To my utter surprise, the thing straight up worked when I plugged it in on the next day. It turns out that the port on the new transmitter is very tight and takes quite a bit of force to insert the plug all the way in.


Working prototype!

Designing the board

I decided to switch to KiCad soon after I started the actual prototyping process, probably due to my bias towards free software.

Drawing the schematics wasn’t hard. Although I did have to read the manuals to find out how buses work in KiCad.

There is no symbol for the V1401 chip in KiCad’s default library, and no symbol or footprint for the optical transmitter. I had to learn how to draw these and make them myself. Fortunately the process is pretty straightforward and the datasheet has everything I need.

I spent some additional time studying the digital / analog audio output section of XV-5080 to find out the format of digital audio data coming out of the XV chip. Once that was done I was able finalize the schematic. I started learning routing in KiCad soon after that. However that effort was put on hold as soon as I realized I should really validate the schematic on breadboard first.

Once I got the breadboard version working, I started working on routing the board again. It started pretty difficult, as certain crossings couldn’t really be avoided. However once I started making liberal use of vias the problems got solved pretty quickly. I then recalled seeing large ground plane on most circuit boards that I’ve laid my eyes on and found out those can be made in KiCad with “zones”. However for some (not completely insane, but still pretty stupid) reason I thought adding too much copper could add to the manufacturing cost, so I was … quite stingy with the zones. Maybe I should fix it in the next revision.

Finally I added some personal markings on the board. I decided to try the svg import feature of KiCad and drew something in Inkscape within a minute. Once placed on the board it actually looked pretty nice. Yes it is a Touhou reference, now stop asking why.


Unfinished schematic in KiCad

First attempt at routing. The board was laid out very differently.

Board production and final assembly

The design was now ready and I started looking for PCB manufacturers. I settled between a few Chinese manufacturing providers for price considerations. My final manufacturer of choice was JLCPCB, mostly because they have the best reviews in China. I submitted the files and waited anxiously for the boards to arrive.

The boards arrived astonishingly fast. In just 5 days it went through the entire production sequence as well as the Pacific Ocean, and arrived at my door steps. I test fit all the components, which all fit just fine. Next was the final assembly which also went pretty smoothly. After a quick test the board was found to work perfectly. I was actually shocked that the very first PCB designed by me worked first try. To be fair the board itself is pretty simple. It was figuring out the R-BUS protocol that made the project slightly tricky. Actually I’m pretty surprised to find out that nobody has done the work already given the service manual of XV-5080 has been floating around on the Internet for many years now. Anyway, this has been a fantastic starter electronics project for me and the process has been quite enjoyable.


Box from JLCPCB

It’s between my fingers…

First two components installed

Assembly finished

IT’S ALIVE!!

Full project timeline

  • 2023-09-27: V1401 chip found on ebay.
  • 2023-12-09: V1401 chips bought from ebay seller.
  • 2024-01-10: Schematic attempt with EasyEDA.
  • 2024-01-11: First batch of components ordered.
  • 2024-01-17: V1401 soldered to breadboard adapter.
  • 2024-01-18: Second batch of components ordered.
  • 2024-01-20: Switched to KiCad. Schematic finished except missing symbol and footprint for optical transmitter.
  • 2024-01-21: Breadboard built. Created symbols and footprint for optical transmitter in KiCad.
  • 2024-01-22: Started learning PCB layout in KiCad. First attempt to route the PCB made. Routing halted later that day.
  • 2024-01-26: First working breadboard prototype. Routing resumed and finished the same day. Learned how to use zones in KiCad. PCB design revised.
  • 2024-01-27: PCB submitted to JLCPCB for production. 10 boards ordered.
  • 2024-02-01: PCB arrived. First board assembled and passed testing.

Full material cost

This includes all orders placed specifically for this project, including stuff that can be later used for other purposes. Prices listed before VAT.

Item Qty Vendor Price Total
Half-size breadboard 5 Adafruit 25.00
Breadboarding wire bundle 2 Adafruit 9.90
Adafruit Perma-Proto Super Pack 1 Adafruit 34.95
Hook-up Wire Spool Set - 22AWG Solid Core - 6 x 25 ft 1 Adafruit 15.95
Hakko Professional Quality 20-30 AWG Wire Strippers 1 Adafruit 17.50
SOIC-20 breakout 3 Pack 2 Adafruit 9.00
Adafruit Parts Pal 1 Adafruit 19.95
TOTX1353(F) 10 DigiKey 92.88
16SEPC100M+TSS 20 DigiKey 11.56
SN74LS04N 25 DigiKey 19.30
CTS 208-4 10 DigiKey 5.76
DB25-SL-25 10 DigiKey 12.60
CFR-25JB-52-1K 100 DigiKey 2.47
CFR25SJT-52-2K2 100 DigiKey 2.47
1N4002B-G 30 DigiKey 4.32
25SEP10M+TSS 20 DigiKey 18.84
C320C104K5R5TA 50 DigiKey 5.05
FCR684208T 10 DigiKey 33.75
V1401 10 ebay (av13) 30.00
JUXINICE DB25 Male to Male Cable 3 feet, 26awg Tinned Copper Wires,Double-Shielded with Foil &Metal Braid, D-SUB 25 pin Cable RS232 Serial Cable in Black 1 Amazon 12.99
Antrader 2PCS DB25 Breakout Connector D-sub 25-pin Female Adapter RS232 to Terminal Board Signal Module 1 Amazon 11.99
Focusrite Scarlett 18i8 3rd Gen USB Audio Interface 1 Sweetwater 359.99
Mako Driver Kit - 64 Precision Bits 1 iFixit 39.95
PCB Production 10 JLCPCB 14.50

Grand Total = $810.67

Potential future work

First of all I need to fix the stingy ground plane.

V1401’s datasheet isn’t very clear on whether it can generate a 24-bit ADAT stream. Recordings made with the Scarlett 18i8 seem to have the full 24-bit resolution, but that could be due to interpolation done by the audio interface or operating system. Testing this requires an oscilloscope which I currently don’t have.

It is highly feasible to implement an ADAT encoder / decoder in software on cheap microcontrollers like the rp2040. The ADAT protocol is documented here and seems fairly straightforward to implement. This also has the added benefit of making sure that 24-bit ADAT is really supported. However this will also more than likely require an oscilloscope for debugging. I’ll also have to learn rp2040’s PIO programming and theories on PLL operation, both from scratch.

Exposing the MIDI interface on R-BUS also seems possible. However it seems that XV-5080 doesn’t make use of the MIDI interface on R-BUS [6].

Maybe I’ll add more Touhou references to the silkscreen, who knows.

I want one! What should I do?

First of all I’d suggest giving the manual a read to make sure this board really does what you want.

If you have made up your mind to get a board, I have some bad news for you. Unfortunately right now there’s no straightforward way obtain this board. Mainly because I have never sold anything online. Also this board is bound to be a very niche product, and possibly can’t even recover the development costs if I decided to sell them. Those are the reasons why I currently have no plans to sell the board.

So right now your options are:

  • Build the board yourself. The design is fully open source and build instruction is included in the manual. If you are comfortable with electronics DIY projects, this is probably your best bet.
  • Let me know you want one! Right now I still have a few pre-production boards lying around. As long as you’re willing to cover the terrible USPS shipping rates I’m willing to assemble a board and send it your way. Of course you’re welcome to pay a little bit more… but any excess for now will be treated as donations (a “pay what you think it’s worth” model) – as I don’t have pricing fixed yet. Also if enough people have expressed interest in the board I might actually start selling them…

You’re an idiot and your design is trash!

First of all, thank you. I am indeed a massive idiot.

If you have suggestions on how this board could be improved, please consider sending them to me. As a beginner in electronics design I can definitely use any piece of advice coming from pretty much anyone in this field. Any constructive suggestion will be greatly appreciated.

Of course other types of contributions will also be appreciated. For example this board currently lacks any kind of enclosure as I have zero idea how to create 3D models for real-life object manufacturing. Help in this space is desperately needed.

Acknowledgment

I’d like to thank Palto for being extremely supportive towards this project, including putting up with my endless DMs on Discord.



[1]: Not to shit on the country or anything, after all I’m from said country … but Chinese clone chips are notorious for being unreliable in general or straight up not working.
[2]: “World Class Management &Technical Team: One of the most extensive design service companies in China”
[3]: which is probably a dumb thing to do. I should have read through all of them before placing the order.
[4]: He doesn’t really do the repairs himself nowadays any more, does he?
[5]: That thing which destroyed 2020 to 2022 for countless people misspelled deliberately to avoid unwanted attention.
[6]: See the section on XV-5080 in RPC-1’s manual.