From 891f8eee12e6bdb2fad0fe0b28976362eb965236 Mon Sep 17 00:00:00 2001 From: Chris Xiong Date: Sat, 17 Feb 2024 20:44:52 -0500 Subject: Massive blog regeneration. RBUS-related posts. --- blog/post/2024-02-04.html | 594 ++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 594 insertions(+) create mode 100644 blog/post/2024-02-04.html (limited to 'blog/post/2024-02-04.html') diff --git a/blog/post/2024-02-04.html b/blog/post/2024-02-04.html new file mode 100644 index 0000000..e07cf56 --- /dev/null +++ b/blog/post/2024-02-04.html @@ -0,0 +1,594 @@ + + + + +Chrisoft::Blog + + + + + + + + + + + + + + + + + + + + + +
+ +
+
+

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.

+ ++++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ItemQtyVendorPrice Total
Half-size breadboard5Adafruit25.00
Breadboarding wire bundle2Adafruit9.90
Adafruit Perma-Proto Super Pack1Adafruit34.95
Hook-up Wire Spool Set - 22AWG Solid Core +- 6 x 25 ft1Adafruit15.95
Hakko Professional Quality 20-30 AWG Wire +Strippers1Adafruit17.50
SOIC-20 breakout 3 Pack2Adafruit9.00
Adafruit Parts Pal1Adafruit19.95
TOTX1353(F)10DigiKey92.88
16SEPC100M+TSS20DigiKey11.56
SN74LS04N25DigiKey19.30
CTS 208-410DigiKey5.76
DB25-SL-2510DigiKey12.60
CFR-25JB-52-1K100DigiKey2.47
CFR25SJT-52-2K2100DigiKey2.47
1N4002B-G30DigiKey4.32
25SEP10M+TSS20DigiKey18.84
C320C104K5R5TA50DigiKey5.05
FCR684208T10DigiKey33.75
V140110ebay (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 Black1Amazon12.99
Antrader 2PCS DB25 Breakout Connector +D-sub 25-pin Female Adapter RS232 to Terminal Board Signal Module1Amazon11.99
Focusrite Scarlett 18i8 3rd Gen USB Audio +Interface1Sweetwater359.99
Mako Driver Kit - 64 Precision Bits1iFixit39.95
PCB Production10JLCPCB14.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.

+
+


+
[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.
+
+ +
+
+
+ \ No newline at end of file -- cgit v1.2.3