Replacement Remote for Logitech Z5300 Surround Sound SystemI found a Logitech Z5300 Surround Sound System. Well, part of it; the subwoofer cube with attached amplifier chassis. The system is supposed to come with 5 little speakers, plus a wired remote control. I got none of that other stuff. The system accepts 6 channels of audio: front left and right, rear left and right, center, and subwoofer. The subwoofer amp is rated 100W, the other 5 are rated at 35W each. The 100W channel is actually two 35W amplifiers driving the subwoofer in a bridge configuration. ![]() That wired remote in the foreground is absolutely crucial. Evaluating My UnitIn addition to the missing remote, my unit also had it's line cord cut off. Why was it abandoned? Was it dead? Or was it discarded for some other reason? Time to analyze the unit. Unscrewing the amplifier chassis from the speaker box revealed the following:
Whilst moving the amplifier chassis around, one of the low voltage AC wires pulled out of its crimped connection. I repaired this. Further, the fuse was still good. What conclusions did I draw from all this? That the loose AC connection was causing ugly sounds (pops? thumps?) to come from the amplifier as the power was interrupted and restored. The original owner was frustrated that the unit was making un-musical sounds, cut off the line cord, and discarded it. Working on this theory, I decided to see if I could get the unit working. First, I replaced the line cord. Next, I applied power, and -- nada. But, there's a 15 pin connector that must do something. Time for some research. An internet search revealed the following: There's no service manual available, there is a (small) user manual for download, and the wired remote is what makes it "go". I could buy a replacement remote for $30 on line, but that seemed like a lot of money to gamble that this thing actually worked. (All the stuff available to buy online is used. The unit is no longer in production.) BUT the search also turned up this thread on diyaudio.com, where people figured out how to control the unit and make it play. There are two lines on that 15 pin connector that must be grounded, and then the amp will power up and un-mute. All the channels are routed through a volume control/tone control chip, a New Japan Radio NJW1150. This chip is documented, and can be controlled using normal I2C. The only odd part of it is that the registers are write-only, so it's hard to test unless you have audio passing through it. One of the diyaudio forum members ("NonaSuomy") wrote an extensive document about his reverse engineering, including how they used an Arduino UNO to control the thing. That was sort of useful, but I wasted time because of a red-herring they presented -- they claimed that the NJW1150 implemented I2C incorrectly, using a '1' for an ACK rather than the standard '0'. This turned out to be false; I think they got snookered by the large (4.7K Ω) resistors in series with the I2C leads; this probably made the signals slow to change, which confused their measurements. I solved that problem (slow signals) by jumpering the 4.7K Ω resistors so that the I2C leads are directly visible on the 15 pin connector. (I may re-visit this and put in some low value resistors (like 200 Ω) to give the unit some protection from static discharge.) I also wasted a lot of time testing his assertion about the ACK bit. Anyway, during this testing I verified that the amplifiers worked (didn't test distortion, but two channels sounded "OK"). So now I knew that spending more time on this wasn't a waste of time. I could spend hours and hours making a remote instead of spending $30 for the factory remote. On the other hand, I could make my remote "better", by, for example, making it respond to Bluetooth or Internet/MQTT commands. Once I got past that hurdle, I could start writing real code to replace the wired remote. As I write this, I'm using an ESP8266 for the remote, but this may change, as I'm running out of I/O pins. The ESP8266 I'm using has a single color LCD attached to it, and that uses the SPI port. Other I/O pins are used to talk to an external flash chip, and of course to talk to the USB interface for programming the chip. All of which means I only have 4 unused pins, to cover 2 for I2C, 2 for the quadrature dial, and one for a push button. So, yeah, a problem. I may have just convinced myself to move to an ESP32. ![]() This seemed like a good idea at the time, but it doesn't have enough I/O. May 2 updateI've moved to an ESP32. Rather than the 64 x 128 "monochrome" (1/4 yellow, 3/4 blue) display on my ESP8266 board, the TTGO-T-Display has a much nicer 135 x 240 full color display. So I had to swap out all the U8g2 library calls for the monochrome display, and add in the TFT_eSPI calls for the color display. ![]() More I/O, and a color display, too! I wasted some time fighting with "board manager" versions, because my Arduino IDE "suggested" that I download the new board definition for the TTGO-T-Display. This is part of the Espressif IDE package, and stupidly, I downloaded a recent version. This broke a bunch of stuff, because Espressif has changed their library calls in incompatible ways (see below). I ended up reverting to the ESP32 "board" library that I had before, 2.0.11, which is ESP_IDF_VERSION 4.4.7. It may be old, but it works with all the libraries I need. (The "advantage" of the more recent board library is that it supports the new Espressif chip variants, like the ESP32-S3. I'm not using any of those; I've got a handful of TTGO-T-Displays in stock, and they all use the original ESP32. Also, it's not a general purpose computer, and new versions don't include "security" fixes.) The software is now to the point where I'm polishing the user interface, making sure the user can't input "bad" data, and fixing "big" bugs. I'm waiting for a new 15 pin connector to arrive by the mail, and then I can solder up a "permanent" wiring harness. Last step will be to create a case of some kind -- perhaps I'll design and 3D print one. User InterfaceThe user interface allows the user to:
There will be one knob with integral push button. Turning the knob will normally adjust the main volume. Pushing the button will change what parameter the knob adjusts, from "main" to "front", "rear", etc. channels. If nothing is changed for 5 seconds, the channel reverts to "main" volume. What broke when upgrading from ESP IDF 4.4.x to 5.x ?
Next StepsThe new 15 pin connector arrived, so it's time to add more features, both hardware and software. I've added three transistors used as open collector drivers that are used to control the power supply standby and audio mute pins, plus the "matrix" input. (The "matrix" control causes the box to synthesize the rear, center, and subwoofer channels from the front channels, to give fake "surround sound".) Once all the basic functions are working, it'll be time to decide how the remote control will work. My choices are Bluetooth or MQTT over WiFi; the ESP32 will do either, and I can write an app using MIT App Inventor for either. It occurs to me that since I have an ESP32 in there, it's possible to add an internet radio feature. This would turn the "amplifier" into a full-on receiver of internet radio programs. That would be a cool hack, but then, I'd want to use the thing as an internet radio, which would mean scaring up at least two "front" speakers. Finishing upI've decided to not add the Internet Radio, I've got a bunch of them now (because I can make them out of TTGO-T-Display boards) so don't need another. I also decided to go with Bluetooth control, because it's less involved: the ESP32 doesn't have to get a WiFi connection and connect to the MQTT server. This takes a while, so from power-on to working remote control is 10 or 20 seconds. Bluetooth control is ready nearly instantly. Adding Bluetooth control to my ESP32 code only took a couple of hours; the code is almost trivial. Then a built an Android app using MIT App Inventor; that was another 2 hours or so. I'll do some fiddling with the app to make it "prettier" but it's basically done. I spent a few hours fidding with the UI. I decided that the unit should remember what state the "standby" was in when last run. If the thing was "on", then when power is applied, the ESP32 will bring it back to that state, "on", "unmuted", and all volume levels as they were. Also, the LCD backlight is now settable and remembered across power cycles. I had one more hardware task: to get the ESP32 to be powered by the 5 volts coming out of the Z5300 cabinet. Initial tests didn't go well: the ESP32 would go into a boot loop, because the 5V supply was not "stiff" enough, and was sagging enough to reset the ESP32 when load spiked. The solution, empirically determined, was to add a 4700 µF capacitor across the 5V supply. 2000 µF wasn't enough, and 3000 µF was, so I'm using 4700 µF to give me some margin. The last hardware task will be to fit everthing into an enclosure. It must be plastic, so the Bluetooth radio can pass through it. It should mount right to the rear of the amp and plug directly into the 15 pin connector. I think I might use magnets to hold it in place, as the amplifier chassis is steel. Building the Case (from garbage)In this pictorial, I've documented how I built a case to hold the electronics. I didn't have a nice ready-made plastic project case the right side, so I hacked up an old case from a dead thermostat to make the case. ![]() This is it, more or less finished. Is anything ever really finished? ![]() Close-up of the display. Eventually, I may glue on some plastic to cover up the right side of the PCB. Source CodeThe ESP32 source code. The Android app. The Android app source code.. The Android app "code" as an image.
Hardware DocumentationHere's the wiring as a table because I'm too lazy to fire up Kicad. The wiring will work with any ESP32 board (not C3, S2, etc.) but the code assumes a TTGO-T-Display board. What's it Worth?Used subwoofer cabinets (with attached amplifier chassis) seem to be listed for $80 +/- $30 on eBay, and people are asking in the neighborhood of $300 for full systems with all the speakers and the remote. People are asking $30 for one of the dinky front or rear speakers, too. I wonder why there are so many subwoofer cabinets available, and what people expect to do with them without the remote? The thing is a brick without a remote. William DudleyMay 12, 2025
|
![]() ![]() ![]() ![]() ![]() ![]() |