summaryrefslogtreecommitdiff
path: root/blog/post/2024-02-04.html
blob: 6c2fcaef62e4da0332d15d3b4951d4befb271d05 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
<!DOCTYPE html><html><head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width,initial-scale=1">
<meta name="theme-color" content="#000000">
<title>Chrisoft::Blog(r#"RBUS-ADAT devlog")</title>
<meta name="description" content="«RBUS-ADAT devlog» de spelunca ursae">
<meta name="author" content="Chris Xiong">
<script type="text/javascript" src="/panel.js"></script>
<script type="text/javascript" src="/themer.js"></script>
<script type="text/javascript" src="/blog/footnoter.js"></script>
<script type="text/javascript" src="/blog/aes-js.js"></script>
<script type="text/javascript" src="/blog/scrypt.js"></script>
<script type="text/javascript" src="/blog/sha256.js"></script>
<script type="text/javascript" src="/blog/decryptor.js"></script>
<link rel="stylesheet" type="text/css" href="/common.css">
<link rel="stylesheet" type="text/css" href="/panel.css">
<link rel="stylesheet" type="text/css" href="/theme0a.css" id="theme0a">
<link rel="stylesheet" type="text/css" href="/theme0b.css" id="theme0b">
<link rel="stylesheet" type="text/css" href="/theme1a.css" id="theme1a">
<link rel="stylesheet" type="text/css" href="/theme1b.css" id="theme1b">
<link rel="stylesheet" type="text/css" href="/theme2a.css" id="theme2a">
<link rel="stylesheet" type="text/css" href="/theme2b.css" id="theme2b">
<link rel="stylesheet" type="text/css" href="/theme3a.css" id="theme3a">
<link rel="stylesheet" type="text/css" href="/theme3b.css" id="theme3b">
<link rel="stylesheet" type="text/css" href="/blog/blogext.css">
<script>
function ol()
{
	window.onresize=function()
	{
		if(window.innerWidth<768)
		setupevents();
		else unsetevents();
	}
	window.onresize();
	loadTheme();
	_decryptonload();
}
</script>
</head>
<body onload="ol()" style="overflow-x:hidden;">
	<div id="panel" class="TText">
		<ul id="panellist">
			<li><a href="/"><h1>Chrisoft</h1></a></li>
			<li><a href="/blog"><h2>Blog</h2></a></li>
			<li><a href="#"><h3 id="title">RBUS-ADAT devlog</h3></a></li>
			<li><span>Tags</span>
			<ul id="tagslist">
			<li><a href="/blog/list/music/">music</a></li><li><a href="/blog/list/electronics/">electronics</a></li></ul>
			</li>
			<li id="tocouter">
				<span>Table of Contents</span>
				<ul id="tocroot">
				<li><a class="toctarg" href="#tocanch0">Origins</a></li><li><a class="toctarg" href="#tocanch1">Background check on the chip</a></li><li><a class="toctarg" href="#tocanch2">Ill-fated commencement</a></li><li><a class="toctarg" href="#tocanch3">Designing the board</a></li><li><a class="toctarg" href="#tocanch4">Board production and final
assembly</a></li><li><a class="toctarg" href="#tocanch5">Full project timeline</a></li><li><a class="toctarg" href="#tocanch6">Full material cost</a></li><li><a class="toctarg" href="#tocanch7">Potential future work</a></li><li><a class="toctarg" href="#tocanch8">I want one! What should I do?</a></li><li><a class="toctarg" href="#tocanch9">You’re an idiot and
your design is trash!</a></li><li><a class="toctarg" href="#tocanch10">Acknowledgment</a></li></ul>
			</li>
			<li style="margin-left:-0.5em"><a id="prevp" href="2024-02-02.html">Prev post</a></li>
			<li style="margin-left:-0.5em"><a id="nextp" href="2024-02-29.html">Next post</a></li>
		</ul>
	</div>
	<div id="content">
		<h2 id="titleh" class="TText" style="font-wight:normal;">RBUS-ADAT devlog</h2>
		<div id="datetags" class="TText" style="margin-bottom:1em;">2024-02-04<br>#music #electronics</div>
		<hr><div id="article" class="TText"><article>
<h2 id="tocanch0" class="tvis">Origins</h2>
<p>Funny enough, the origins of this project has nothing to do with
R-BUS <strong>or</strong> ADAT.</p>
<p>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 <a href="https://chrisoft.org/blog/post/2020-11-20.html#tocanch2">second
SD-80 post</a> 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.</p>
<p>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.</p>
<p>In September 2023, by pure coincidence, I found a listing on ebay of
a chip described as “ADAT optical encoder/generator”, which was the <a href="https://www.coolaudio.com/docs/COOLAUDIO_V1401_DATASHEET.pdf">coolaudio
V1401</a> 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.</p>
<p>To summerize … I came up with a solution for a problem that I made up
for myself.</p>
<h2 id="tocanch1" class="tvis">Background check on the chip</h2>
<p>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 (<u>Alesis</u> 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 … <a id="n1" href="#note1" class="note">[1]</a></p>
<p>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
<a id="n2" href="#note2" class="note">[2]</a>. 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. <del>No wonder why coolaudio’s product
portfolio is all clone chips.</del></p>
<p>Well, the original AL1401 is pretty much impossible to find nowadays,
so I really have no choice don’t I?</p>
<h2 id="tocanch2" class="tvis">Ill-fated commencement</h2>
<p>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:</p>
<div style="text-align:center;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-pk.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-pk.jpg"></a><br>Suspicious packets
</div>
<p>which may look suspicious to law enforcement… but they are actually
just chips. Not the edible kind.</p>
<p>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.</p>
<p>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.</p>
<div style="text-align:center;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-es.png"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-es.png"></a> <br>The error-riddled
schematic
</div>
<p>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.</p>
<p>When I was reviewing the datasheet for the components I ordered
<a id="n3" href="#note3" class="note">[3]</a>, 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.</p>
<p>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 <a id="n4" href="#note4" class="note">[4]</a>, the result didn’t look
nearly as bad as my previous SMD soldering attempts and I was quite
happy with it.</p>
<p>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 <a id="n5" href="#note5" class="note">[5]</a> test kit on myself and found out Cornweed was
growing inside me (hence the name of this subsection).</p>
<p>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.</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-bo.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-bo.jpg"></a> <br>The chip on its
breakout board
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-b0.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-b0.jpg"></a> <br>The breadboard
prototype before it was working
</div>
</td>
</tr>
</tbody></table>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<div style="text-align:center;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-b1.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-b1.jpg"></a><br>Working prototype!
</div>
<h2 id="tocanch3" class="tvis">Designing the board</h2>
<p>I decided to switch to KiCad soon after I started the actual
prototyping process, probably due to my bias towards free software.</p>
<p>Drawing the schematics wasn’t hard. Although I did have to read the
manuals to find out how buses work in KiCad.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<p>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.</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-ks.png"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-ks.png"></a> <br>Unfinished
schematic in KiCad
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-rt.png"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-rt.png"></a> <br>First attempt at
routing. The board was laid out very differently.
</div>
</td>
</tr>
</tbody></table>
<h2 id="tocanch4" class="tvis">Board production and final
assembly</h2>
<p>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.</p>
<p>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.</p>
<table>
<tbody><tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-pp.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-pp.jpg"></a> <br>Box from JLCPCB
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-bs.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-bs.jpg"></a> <br>It’s between my
fingers…
</div>
</td>
</tr>
<tr>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-pa.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-pa.jpg"></a> <br>First two
components installed
</div>
</td>
<td>
<div style="text-align:center;max-width:98%;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-fp.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-fp.jpg"></a> <br>Assembly finished
</div>
</td>
</tr>
</tbody></table>
<div style="text-align:center;">
<a href="//filestorage.chrisoft.org/blog/img/rbdt-pw.jpg"><img style="width: 50%;" src="//filestorage.chrisoft.org/blog/img/ssbsthumb_1024x1024_rbdt-pw.jpg"></a><br>IT’S ALIVE!!
</div>
<h2 id="tocanch5" class="tvis">Full project timeline</h2>
<ul>
<li>2023-09-27: V1401 chip found on ebay.</li>
<li>2023-12-09: V1401 chips bought from ebay seller.</li>
<li>2024-01-10: Schematic attempt with EasyEDA.</li>
<li>2024-01-11: First batch of components ordered.</li>
<li>2024-01-17: V1401 soldered to breadboard adapter.</li>
<li>2024-01-18: Second batch of components ordered.</li>
<li>2024-01-20: Switched to KiCad. Schematic finished except missing
symbol and footprint for optical transmitter.</li>
<li>2024-01-21: Breadboard built. Created symbols and footprint for
optical transmitter in KiCad.</li>
<li>2024-01-22: Started learning PCB layout in KiCad. First attempt to
route the PCB made. Routing halted later that day.</li>
<li>2024-01-26: First working breadboard prototype. Routing resumed and
finished the same day. Learned how to use zones in KiCad. PCB design
revised.</li>
<li>2024-01-27: PCB submitted to JLCPCB for production. 10 boards
ordered.</li>
<li>2024-02-01: PCB arrived. First board assembled and passed
testing.</li>
</ul>
<h2 id="tocanch6" class="tvis">Full material cost</h2>
<p>This includes all orders placed specifically for this project,
including stuff that can be later used for other purposes. Prices listed
before VAT.</p>
<table>
<colgroup>
<col style="width: 25%">
<col style="width: 10%">
<col style="width: 25%">
<col style="width: 39%">
</colgroup>
<thead>
<tr class="header">
<th style="text-align: left;">Item</th>
<th style="text-align: center;">Qty</th>
<th style="text-align: center;">Vendor</th>
<th style="text-align: center;">Price Total</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td style="text-align: left;">Half-size breadboard</td>
<td style="text-align: center;">5</td>
<td style="text-align: center;">Adafruit</td>
<td style="text-align: center;">25.00</td>
</tr>
<tr class="even">
<td style="text-align: left;">Breadboarding wire bundle</td>
<td style="text-align: center;">2</td>
<td style="text-align: center;">Adafruit</td>
<td style="text-align: center;">9.90</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Adafruit Perma-Proto Super Pack</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Adafruit</td>
<td style="text-align: center;">34.95</td>
</tr>
<tr class="even">
<td style="text-align: left;">Hook-up Wire Spool Set - 22AWG Solid Core
- 6 x 25 ft</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Adafruit</td>
<td style="text-align: center;">15.95</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Hakko Professional Quality 20-30 AWG Wire
Strippers</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Adafruit</td>
<td style="text-align: center;">17.50</td>
</tr>
<tr class="even">
<td style="text-align: left;">SOIC-20 breakout 3 Pack</td>
<td style="text-align: center;">2</td>
<td style="text-align: center;">Adafruit</td>
<td style="text-align: center;">9.00</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Adafruit Parts Pal</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Adafruit</td>
<td style="text-align: center;">19.95</td>
</tr>
<tr class="even">
<td style="text-align: left;">TOTX1353(F)</td>
<td style="text-align: center;">10</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">92.88</td>
</tr>
<tr class="odd">
<td style="text-align: left;">16SEPC100M+TSS</td>
<td style="text-align: center;">20</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">11.56</td>
</tr>
<tr class="even">
<td style="text-align: left;">SN74LS04N</td>
<td style="text-align: center;">25</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">19.30</td>
</tr>
<tr class="odd">
<td style="text-align: left;">CTS 208-4</td>
<td style="text-align: center;">10</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">5.76</td>
</tr>
<tr class="even">
<td style="text-align: left;">DB25-SL-25</td>
<td style="text-align: center;">10</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">12.60</td>
</tr>
<tr class="odd">
<td style="text-align: left;">CFR-25JB-52-1K</td>
<td style="text-align: center;">100</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">2.47</td>
</tr>
<tr class="even">
<td style="text-align: left;">CFR25SJT-52-2K2</td>
<td style="text-align: center;">100</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">2.47</td>
</tr>
<tr class="odd">
<td style="text-align: left;">1N4002B-G</td>
<td style="text-align: center;">30</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">4.32</td>
</tr>
<tr class="even">
<td style="text-align: left;">25SEP10M+TSS</td>
<td style="text-align: center;">20</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">18.84</td>
</tr>
<tr class="odd">
<td style="text-align: left;">C320C104K5R5TA</td>
<td style="text-align: center;">50</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">5.05</td>
</tr>
<tr class="even">
<td style="text-align: left;">FCR684208T</td>
<td style="text-align: center;">10</td>
<td style="text-align: center;">DigiKey</td>
<td style="text-align: center;">33.75</td>
</tr>
<tr class="odd">
<td style="text-align: left;">V1401</td>
<td style="text-align: center;">10</td>
<td style="text-align: center;">ebay (av13)</td>
<td style="text-align: center;">30.00</td>
</tr>
<tr class="even">
<td style="text-align: left;">JUXINICE DB25 Male to Male Cable 3 feet,
26awg Tinned Copper Wires,Double-Shielded with Foil &amp;Metal Braid,
D-SUB 25 pin Cable RS232 Serial Cable in Black</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Amazon</td>
<td style="text-align: center;">12.99</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Antrader 2PCS DB25 Breakout Connector
D-sub 25-pin Female Adapter RS232 to Terminal Board Signal Module</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Amazon</td>
<td style="text-align: center;">11.99</td>
</tr>
<tr class="even">
<td style="text-align: left;">Focusrite Scarlett 18i8 3rd Gen USB Audio
Interface</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">Sweetwater</td>
<td style="text-align: center;">359.99</td>
</tr>
<tr class="odd">
<td style="text-align: left;">Mako Driver Kit - 64 Precision Bits</td>
<td style="text-align: center;">1</td>
<td style="text-align: center;">iFixit</td>
<td style="text-align: center;">39.95</td>
</tr>
<tr class="even">
<td style="text-align: left;">PCB Production</td>
<td style="text-align: center;">10</td>
<td style="text-align: center;">JLCPCB</td>
<td style="text-align: center;">14.50</td>
</tr>
</tbody>
</table>
<p>Grand Total = $810.67</p>
<h2 id="tocanch7" class="tvis">Potential future work</h2>
<p><del>First of all I need to fix the stingy ground plane.</del></p>
<p>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.</p>
<p>It is highly feasible to implement an ADAT encoder / decoder in
software on cheap microcontrollers like the rp2040. The ADAT protocol is
documented <a href="https://ackspace.nl/wiki/ADAT_project">here</a> 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.</p>
<p>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
<a id="n6" href="#note6" class="note">[6]</a>.</p>
<p><del>Maybe I’ll add more Touhou references to the silkscreen, who
knows.</del></p>
<h2 id="tocanch8" class="tvis">I want one! What should I do?</h2>
<p>First of all I’d suggest giving the <a href="https://filestorage.chrisoft.org/blog/data/rbus_adat_m.pdf">manual</a>
a read to make sure this board really does what you want.</p>
<p>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.</p>
<p>So right now your options are:</p>
<ul>
<li>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.</li>
<li>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…</li>
</ul>
<h2 id="tocanch9" class="tvis">You’re an idiot and
your design is trash!</h2>
<p>First of all, thank you. I am indeed a massive idiot.</p>
<p>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.</p>
<p>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.</p>
<h2 id="tocanch10" class="tvis">Acknowledgment</h2>
<p>I’d like to thank <a href="https://www.youtube.com/@KRPalto47">Palto</a> for being extremely
supportive towards this project, including putting up with my endless
DMs on Discord.</p>
</article>
</div><br><hr>
		<div class="TText" id="notediv" style="font-size:80%;"><span class="TText"><a id="note1" href="#n1">[1]</a>: 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.<br></span><span class="TText"><a id="note2" href="#n2">[2]</a>: <a href="https://www.coolaudio.com/aboutus-page.php">“World
Class Management &amp;Technical Team: One of the most extensive design
service companies in China”</a><br></span><span class="TText"><a id="note3" href="#n3">[3]</a>: which is probably a dumb thing to do. I should have read
through all of them <em>before</em> placing the order.<br></span><span class="TText"><a id="note4" href="#n4">[4]</a>: He doesn’t really do the repairs
himself nowadays any more, does he?<br></span><span class="TText"><a id="note5" href="#n5">[5]</a>: That thing which destroyed 2020 to 2022
for countless people misspelled deliberately to avoid unwanted
attention.<br></span><span class="TText"><a id="note6" href="#n6">[6]</a>:  See the section on XV-5080 in RPC-1’s manual.<br></span></div>
		<div id="insanch" style="height:3em;"></div>
		<div id="footer" style="">
		<div id="pagesw" class="TText" style="width:100%;height:0.5em;"></div>
			<div style="text-align:center;" class="TText">
				Proudly powered by SSBS <reduced style="font-size:70%;">(the static stupid blogging system)</reduced> 2.5
				<br>
				Content licensed under CC BY-SA 4.0. <span id="purgep" style="display:none;font-size:70%;">This page has passphrase(s) stored. Click <a href="javascript:_purgep()">here</a> to purge.</span>
			</div>
		</div>
		<div id="cmdbuf" class="TText" style="transition:500ms;padding:1em;font-size:2em;color:white;position:absolute;background-color:rgba(0,0,0,0.6);left:50%;top:50%;transform:translate(-50%,-50%);pointer-events:none;opacity:0;">
		</div>
	</div>
	<div id="decryptui" style="display:none;opacity:0;color:white;z-index:1000;position:fixed;left:0;top:0;width:100%;height:100%;background-color:rgba(0,0,0,0.4);transition:opacity 0.5s;">
		<div id="decryptdlg" class="TText" style="padding:10px 20px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);background-color:rgba(0,0,0,0.6);">
			<div id="keyhint" style="margin-bottom:8px;"></div>
			<div style="margin-bottom:8px;">Key: <input id="keyinp" type="text" style="color:#fff;"></div>
			<div style="height:2.25em;">
			<button id="btndecrypt" onclick="decryptor(decid,document.getElementById('keyinp').value);" style="position:absolute;left:20px;">Decrypt</button>
			<button onclick="hidedecryptui();" style="position:absolute;right:20px;">Cancel</button>
			</div>
		
	</div>


</div></body></html>