Honda CD LCD Driver Mystery Problems Solved

I’ve been talking to the Sanyo LC75883 LCD driver chip on a Honda CD control panel by soldering wires directly to the board and running those signals to a breadboard. Once I found the correct connector to plug into that board, I transferred my (jumper wires and breadboard) experimental circuit to something a little more compact. But like all projects, it didn’t work at first and needed some diagnosis.

My first problem was a classic electronics problem: “Data In” and “Data Out” lines were reversed. This is a close cousin of the RX/TX problem, where we always have to figure out whose perspective a particular label is using. The RX (receive) line for one component needs to be wired to the TX (transmit) line of the other component, and vice versa. For my circuit, it meant “DO” on the connector pin 17 should go to the LC75883’s “DI” pin. I had connected “DO” to “DO” and “DI” to “DI” which does nothing until I swapped them.

After figuring out my DI/DO lines I was at parity with my breadboard circuit. Which is sufficient for controlling LCD output, but I just like before I still couldn’t read input. I examined the remaining pins looking for things I could try. First experiment was with pin 15, which was labeled D-GND which might mean “Digital ground”. I had been using the trio of pins labeled P-GND for my ground instead. I don’t have a good guess what “P” stood for, but if I had been using the wrong ground that might explain the odd behavior I observed. Sadly, tying D-GND to P-GND made no noticeable difference.

Looking down the list again, I decided to take another look at pin 19 labeled LCD-RST. There was a similar RESET pin on the Toyota tape deck faceplate. I had left that unconnected because the LC75853 driver chip on that board did not expose a reset pin so there was nothing to connect. Due to the similarities between these two chips, I thought I would do the same thing here. But I realized that was a mistake when I reviewed the LC75883 datasheet.

Unlike its sibling, this chip does expose a reset pin (76). Which meant I had been leaving reset unconnected and floating all this time. Not good! I soldered a 1kΩ resistor between pin 14 SWD-VDD and pin 19 LCD-RST in order to tie LCD-RST high, and after that, all input worked as expected. Turning the quadrature encoder knob no longer blanks out the screen at every other detent, and I could successfully read key scan report data to know which buttons had been pressed. And LCD output still worked just as before. This is great! I’m glad I figured out my mistake and frankly, I’m surprised this thing worked at all with a floating reset pin. That’s my silliest mistake so far with this project, the others weren’t as bad.

Taking Stock of Honda CD Investigation Progress

When I was given a retired Honda Accord in-dash CD system, I thought its large LCD and tactile knobs might be interesting. After some introductory information and experiments with salvaged LCDs, I took this system out of my pile and started tinkering with it. Building on knowledge gained from earlier projects I was able to talk to this LCD’s Sanyo LC75883 driver chip and generate a segment map.

Segmented LCD units are customized for individual applications, so it was not a surprise to see this display was tailored for what a 6-disc CD changer needs to show. However, I was a little disappointed that seems to be all this LCD could show. This control panel also integrated HVAC control knobs for fan speed and temperature, so I had hoped to see some of that on the LCD. Doing so would have motivated the designer to make things a little more generic, like the alphanumeric text areas I saw on a cordless phone system’s LCD. Other reasons I had hoped to find a general-use text area are to show FM Radio Broadcast Data System or CD-Text information, sadly this system supported none of that.

When I tinkered with the Toyota tape deck faceplate LCD, figuring out how to read input was a nice side bonus. I had hoped to do the same with this panel. It had three knobs with good tactile feedback, and a lot of buttons. Tactile sensation or visual appearance for those buttons were nothing amazing, but they were real buttons on the board and not just copper traces that I’d have to bridge with something else. Sadly, I ran into strange problems trying to interact with the inputs on this circuit board that rendered things unusable.

The good news is that HVAC portions seems to be largely independent from the CD player functionality, which made it easier to figure out LCD and related controls. This is, unfortunately, also the bad news because the temperature and fan speed knobs are separate. I suspect they are handled by another chip on this board, which is also under a blue conformal coating and its surface markings unreadable. Perhaps it reads those knobs and drive HVAC motors directly from this board, as a nearby chip not hidden by conformal coating is a Toshiba TA8083F dual DC motor driver. I’m not inclined to figure out the motor control side of this board, but I’m still interested in those tactile knobs, so I’ll pull them off the board for a closer look.

Honda CD LCD Segment Map

I can talk to the LC75883 LCD driver chip on the faceplate of a Honda Accord CD/HVAC control panel, but I encountered problems using other peripherals. I don’t have the schematics for the circuit board and it would be a lot of work to generate one myself. At the moment I don’t have the motivation to undertake such a project. I have control of its LCD segments and I could generate a segment map for it:

Almost a quarter of the surface area on this LCD are allocated to CD icons 1 through 6, and many segments were consumed by the little circular graphic in the center. I guess that’s supposed to resemble a CD? We can control each pie slice to perform a rotating animation, but I was disappointed to learn the four dashes of each pie slice could not be controlled independently. So it is not possible to do a growing/shrinking circle animation, dashing my hopes of a polar coordinate VU meter. The clock up top is more or less as expected, but the four digits to the left and right of the circle are bizarre. Multiple different patterns that probably allows them to display certain letters in addition to numbers.

At least there weren’t too many segments that mislead us into think they were distinct segments. The most expected one was segment 9, which is actually both segments of the “1” and that makes sense for a clock that only needs to show 10, 11, and 12. Segment 60 includes both left and right brackets around the center, but I couldn’t think of many reasons why we’d want to control them separately anyway. The most bizarre is 134, which occupies 5 out of 7 segments of the right-most sub-sized digit. With it, that digit could only display 5, 6, 8, and 9. How is this useful? If I ever get a chance to play with the stock CD player of a 2007 Honda Accord, I want to see how this thing used to work. Right now, I ponder my next step.

Honda CD LCD Driver Problems

I’ve got the control panel for a Honda Accord’s CD/HVAC and I think I’ve found the electrical connections to talk to the LC75883 LCD driver. The software side was based on my LC75853 test program, which needed a few modifications to fit this LC75883 chip. It can control more segments, so I have to send three CCB messages of 9 bytes each instead of three messages of 7 bytes. Other than that, these two chips both respond to the same CCB addresses: 0x42 to send LCD control bits, 0x43 to read button presses. And they read the same number of buttons so there’s no change necessary there.

I launched the program and… nothing, the screen stayed blank while the Arduino ran. I turned the knob one step to see if my quadrature decoder routine worked, and I saw confirmation on the Arduino serial monitor but I also saw the screen came to life. What’s going on?

I quickly determined that the screen would go blank if one of the quadrature encoder phases are held to ground. The screen also blanks out if I press the button, which grounds a different pin. There’s something wrong with the electrical side, but it wasn’t as simple as a short circuit connecting +5V rail to ground. For one thing, the meter found no continuity between VDD and VSS. And for another, the +5V line stayed up when these events happen, allowing the Arduino serial output to continue running. I suspect I would learn more if I could see the behavior of the LCD partial voltage supplies VDD1 and VDD2 perhaps those voltages collapsed for some reason? But the chip pins were too small for me to get to them, and those pins weren’t brought out to the data connector for me to connect that way.

I can work around this grounding mystery by not pressing the power button and turning the knob two detents at a time. But even then, I have another problem: I could not read buttons with the LC75883 chip. Every time I pushed a button on the circuit board, the LC75883 signals that there’s a key activity to report. My code would go through all the motions to read the 32-bit report, but all bits would be zero. Could the “always low” data line be related to the knob/button grounding problem? Possibly, but at the moment I don’t know how to find it. I just worked around it the best I could to generate a segment map.


It’s not great, but my code to play with a LC75883 is on GitHub.

Preliminary Pinout for Honda CD

I have a Honda in-dash CD (and HVAC) control board and I want to see if I can make its LCD work. After I melted through conformal coating over the Sanyo LC75883 LCD driver chip, I was able to get an electrical connection with my meter so I can test for continuity between the pins (that are too fine for me to solder) to something I can more easily work with. I quickly found that much of the CD player functionality is connected to a small black rectangular connector I noticed earlier. Not just the LCD driver chip’s data communication lines, but also the big central rotary knob and button.

There is a large degree of uncertainty here, because I didn’t find what all of the pins did. I also found two pins that both appear to be ground, and I don’t know if there’s an important distinction between those two pins. This incomplete understanding explains the problems I will encounter later.

Using the numbers on the circuit board silkscreen, the pins are 1 to 24 from right to left. (Silkscreen shows 1 in the upper right, 2 in the lower right, 23 in the upper left, and 24 in the lower left.)

PinPreliminary NameDescription
7Vss (?)Either 7 or 9 is ground, maybe both?
9Vss (?)Either 7 or 9 is ground, maybe both?
14Vdd+5V power supply
16DOCCB Data Out
17DICCB Data In
18CLCCB Data Clock
20CECCB Chip Enable
21AEncoder A, connects to ground when knob is at certain positions.
22BEncoder B, connects to ground when knob is at certain positions.
24ButtonConnects to ground when “AUDIO PWR” button is pressed

Once these connections were made, I could make further progress. That is, running into an entirely different set of headaches.

Soldering Practice with Honda CD LCD Driver

Looking over the control circuit board for a Honda in-dash CD player, I saw an LCD driver chip which is a close cousin of one I worked with earlier in a Toyota tape deck. Even though I’ve never seen this CD control LCD run, and lacking the parts to reassemble the CD player, I think I have a chance to get it running just based on a datasheet and my recent experience. I do have a few obstacles I’d need to resolve first, though.

The first is that this section of the circuit board is coated in a conformal coating that prevents me from making electrical contact. It is also slightly sticky, which made it hard to work in this area. Every action adds debris stuck to this coating. Trying to wipe them off made things worse, as the coating grabbed fibers from my cleaning cloth.

I first tried isopropyl alcohol, which I understood to be the default cleaning solvent for electronics. I had hoped it would dissolve the blue coating but I saw no effect. I have a collection of household cleaning solvents harsher than isopropyl alcohol, but I don’t know which of them would damage electronics. Abandoning chemistry, I turned to heat: I put a small blob of solder on the tip of my soldering iron and touched it to the pins, hoping it will melt through the coating. The good news is that it did, the bad news is that it immediately heated the pins and existing solder and everything blended together into a bridge that connected all the pins I cared about plus many more that I did not. This was because of my second obstacle: these pins has very fine pitch. Datasheet says this SQFP80 package has 0.5mm pitch, which is far denser than the 0.1″ (~2.54mm) pitch I usually work with.

My attention was focused on the following pins:

  • 70: VDD +5V power supply
  • 73: VSS ground
  • 77: DO Data Out
  • 78: CE Chip Enable
  • 79: CL Clock
  • 80: DI Data In

And now I have a large solder blob that gave electrical continuity across all of them. Gah! Unpracticed at this scale, it took me over an hour to get the situation back into some semblance of control. Solder sucker took care of the major blobs, de-soldering braid took care of smaller portions, and a hot air gun melted off lingering whiskers. It was a disaster zone but I’ll be optimistic and call it practice. I still see signs of extraneous solder on the surface, and no guarantee there aren’t any hiding where I can’t see them. On top of that, all the heat to clean up the solder mess may have damaged the chip. Still, I had nothing to lose but time and everything to gain, so I proceeded.

I took the finest, smallest gauge wire I had on hand and soldered the first one to pin 80 DI (Data In.) And clearly this is not going to work: the wire is far too fat. But at least the conformal coating has been removed from these pins. So even if I can’t solder directly to these pins, I can use my meter to probe for another way to connect.

Honda CD Circuit Board

I have a circuit board assembly that appears to be the stock CD player and HVAC control board from a Honda Accord, integrated together instead of separate audio controls in DIN form factor. The front is dominated by a large LCD that I wanted to control as part of my current adventures into segmented LCD units. Unlike the Toyota tape deck, I don’t have the mainboard to get this up and running and probe its internal communication. Would I be able to talk to its built-in LCD driver, or would I have to control the LCD directly by generating my own voltages?

In addition to the large LCD, there were other elements of interest. This panel has three large knobs. The largest center knob is for audio control, the two side knobs are for air circulation fan speed (left) and temperature (right). All three knobs appear to use the same basic (if not identical) rotary encoders mounted to the circuit board, which is curious because they expose quite different user interfaces. The center knob has no end position and can rotate infinitely in either direction, which makes sense for a quadrature encoder. But the two side knobs each have their own distinct left and right endpoints and would need to know their absolute position. I would have expected them to be potentiometers instead of quadrature encoders, but at first glance all three appear identical. This will be interesting to look at later.

I was not surprised to find numerous green LEDs to indicate status of various settings. (LD6 and LD7 visible in above picture.) But I was surprised to discover the little blue background illumination lights (PL422 visible in picture above) were not blue LEDs.

They are actually tiny incandescent (filament) light bulbs underneath a blue cover. I guess this device was designed when blue LEDs were considered desirable but still expensive? If so, it’s pretty hilarious to see itty bitty light bulbs masquerading as blue LEDs.

All the buttons are surface-mounted units (SW7 visible in above picture) instead of the conductive wire trace type frequently seen in consumer electronics including the tape deck I took apart earlier. Small and compact, though their tactile feel is nothing spectacular.

Around the back, I see two electrical connectors. A large and sturdy green unit in the upper-left corner typical of automotive-grade connections, and a smaller black one just below and to the right of center.

This reminds me of the connector for the Toyota tape deck faceplate, but with 24 conductors instead of 16. Pins 1 and 2 are labeled on the right, and pins 23 and 24 are labeled on the left. Unlike the Toyota faceplate, none of the pins were labeled with their functionality.

A row of through-hole pins just above the central CD slot are consistent with all the common/segment pins for a segmented LCD array. These pins and its surrounding area are protected from the environment by a blue conformal coating that will make experimentation annoying. It’s a lot of bad news so far discouraging further exploration, until I followed LCD traces back to their control chip:

Barely readable through the conformal coating is “Sanyo LC75883”, which sounds very similar to the Sanyo LC75853 used on the Toyota tape deck faceplate. I found a datasheet for LC75883 and confirmed it is a sibling chip, speaking the same proprietary Sanyo CCB protocol. This is promising enough for me to try getting past that blue coating.