Adding a Lindy 38153 8×8 HDMI 4K Matrix


The Tale of Two Matrices: Wrestling With the Lindy 38153

My trusty ATEM 8×8 Matrix had been acting up lately, so I did what any overconfident tech tinkerer would do — I cracked it open, poked around a bit, and pretended I could fix it. Spoiler: I couldn’t.
So I sent it back to the shop I bought it from three years ago. Two months later (yes, two months), they shipped it back saying, “Works fine!”

Alright then. Let’s see about that.

Meanwhile, my inner hardware hoarder couldn’t resist — I found a Lindy 38153 8×8 HDMI 4K Matrix on Ricardo for just 100 CHF. Ethernet port? Check. RS-232 documentation? Check. Looked promising enough. I thought, “How hard can this be?”

Oh, famous last words.


Phase 1: The Windows App From Another Era

I started with the official Windows application to check if I could change the IP address or at least connect to the device.
Except… it wouldn’t even launch — unless I ran it in Windows 95 compatibility mode.
That should’ve been my first red flag.

Even then, the app didn’t detect any serial ports, nor would it connect over IP.

Digging deeper, I realized the “dynamic IP” the manual bragged about was a lie — it stubbornly used a static 192.168.0.100 address, and there was no way to change it (except through the non-working app).

I briefly considered spinning up a Windows 95 VM to trick it into working, but that turned into a retro-computing rabbit hole I had no time for.

In desperation, I grabbed one of my older laptops running Windows 11, launched the same app — and guess what? It worked.
It connected over serial, found the device on the network, and even let me change the IP to something that fit into my normal LAN. Success!


Phase 2: Enter Companion and Stream Deck

Now for the fun part: integrating it into my Bitfocus Companion setup so I could control it via my Stream Deck.

The RS-232 command guide was available, but there was zero documentation on how to control it over TCP/IP. So, I turned to my favorite debugging Swiss Army knife — Wireshark.

By capturing the traffic between the Windows app and the matrix, I could reverse-engineer the protocol.
It was surprisingly straightforward once decoded — a few bytes for commands, a few for parameters, and of course, a mysterious checksum that made absolutely no mathematical sense.

After some spreadsheet-assisted trial and error (thank you, Excel), I figured out how to replicate the commands directly from Companion.

Of course, the documentation had some… creative inaccuracies — like swapping the input and output port labels. But that was an easy fix.


The Checksum Saga

Now, the checksum formula was pure chaos. According to the docs, it should be calculated by “subtracting all command bytes from 0x100.” Which… doesn’t even make sense — that gives you negative numbers, and when those roll over in hex, you get weird results.

After comparing a few real packets captured in Wireshark, I finally reverse-engineered a working checksum logic.
Let’s just say the Lindy engineers back then probably tested this once, wrote the manual on a Friday afternoon, and called it a day.


The Verdict

So now my Lindy 38153 Matrix lives happily in my AV rack, fully integrated with Companion and Stream Deck control.
It took a detour through 90s software archaeology, some packet sniffing magic, and a bit of hex arithmetic — but it works.

Lindy References

Matrix nameHEX code
Lindy1_1
Lindy1_2
Lindy1_3
Lindy1_4
Lindy1_5
Lindy1_6
Lindy1_7
Lindy1_8
a55b02030100010000000000F9
a55b02030100020000000000F8
a55b02030100030000000000F7
a55b02030100040000000000F6
a55b02030100050000000000F5
a55b02030100060000000000F4
a55b02030100070000000000F3
a55b02030100080000000000F2
Matrix nameHEX code
Lindy2_1
Lindy2_2
Lindy2_3
Lindy2_4
Lindy2_5
Lindy2_6
Lindy2_7
Lindy2_8
a55b02030200010000000000F8
a55b02030200020000000000F7
a55b02030200030000000000F6
a55b02030200040000000000F5
a55b02030200050000000000F4
a55b02030200060000000000F3
a55b02030200070000000000F2
a55b02030200080000000000F1
Matrix nameHEX code
Lindy3_1
Lindy3_2
Lindy3_3
Lindy3_4
Lindy3_5
Lindy3_6
Lindy3_7
Lindy3_8
a55b02030300010000000000F7
a55b02030300020000000000F6
a55b02030300030000000000F5
a55b02030300040000000000F4
a55b02030300050000000000F3
a55b02030300060000000000F2
a55b02030300070000000000F1
a55b02030300080000000000F0